TW
Tripwire
Find contracts. Test them. Review real vulns.

Analysis Run

019b3836-40d2-72d8-a6a1-5673df8744e8

complete
Chain ID
1
Address
Block Number
Created
Fri, Dec 19, 2025 8:03 PM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
0
Validated
0
Source
Bytecode only
Review Backing
Not yet
Best current signal
Authorization based on tx.origin
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
5289 artifact.fetch complete 1 / 3 3 months ago
5290 tool.cast_disasm complete 1 / 3 3 months ago
97774 analysis.bundle complete 1 / 3 1 week ago
97775 capability.graph complete 1 / 3 1 week ago
97776 detector.run complete 1 / 3 1 week ago
97777 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no
Implementation:
Verified Source: no

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate

No codex job recorded yet.

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
1
CREATE2
0
CALL-family (heavy)
7
EXT*/BALANCE
1
Total opcodes
1630
Flags
selfdestruct_present
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x0098
0000000a: JUMPI
0000000b: PUSH1 0xe0
0000000d: PUSH1 0x02
0000000f: EXP
00000010: PUSH1 0x00
00000012: CALLDATALOAD
00000013: DIV
00000014: PUSH4 0x06661abd
00000019: DUP2
0000001a: EQ
0000001b: PUSH2 0x009a
0000001e: JUMPI
0000001f: DUP1
00000020: PUSH4 0x06909f69
00000025: EQ
00000026: PUSH2 0x00c1
00000029: JUMPI
0000002a: DUP1
0000002b: PUSH4 0x200d2ed2
00000030: EQ
00000031: PUSH2 0x01f3
00000034: JUMPI
00000035: DUP1
00000036: PUSH4 0x41c0e1b5
0000003b: EQ
0000003c: PUSH2 0x0207
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0x6b9f96ea
00000046: EQ
00000047: PUSH2 0x0230
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0x6d15f208
00000051: EQ
00000052: PUSH2 0x0273
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0x8da5cb5b
0000005c: EQ
0000005d: PUSH2 0x03c4
00000060: JUMPI
00000061: DUP1
00000062: PUSH4 0x90cb04e1
00000067: EQ
00000068: PUSH2 0x03d6
0000006b: JUMPI
0000006c: DUP1
0000006d: PUSH4 0x9e05c118
00000072: EQ
00000073: PUSH2 0x0478
00000076: JUMPI
00000077: DUP1
00000078: PUSH4 0xa035b1fe
0000007d: EQ
0000007e: PUSH2 0x0485
00000081: JUMPI
00000082: DUP1
00000083: PUSH4 0xbdfdb519
00000088: EQ
00000089: PUSH2 0x048e
0000008c: JUMPI
0000008d: DUP1
0000008e: PUSH4 0xea70b4af
00000093: EQ
00000094: PUSH2 0x0544
00000097: JUMPI
00000098: JUMPDEST
00000099: STOP
0000009a: JUMPDEST
0000009b: PUSH2 0x0558
0000009e: PUSH1 0x00
000000a0: SLOAD
000000a1: PUSH23 0x0100000000000000000000000000000000000000000000
000000b9: SWAP1
000000ba: DIV
000000bb: PUSH2 0xffff
000000be: AND
000000bf: DUP2
000000c0: JUMP
000000c1: JUMPDEST
000000c2: PUSH2 0x0098
000000c5: PUSH1 0x04
000000c7: DUP1
000000c8: DUP1
000000c9: CALLDATALOAD
000000ca: SWAP1
000000cb: PUSH1 0x20
000000cd: ADD
000000ce: SWAP1
000000cf: DUP3
000000d0: ADD
000000d1: DUP1
000000d2: CALLDATALOAD
000000d3: SWAP1
000000d4: PUSH1 0x20
000000d6: ADD
000000d7: SWAP2
000000d8: SWAP2
000000d9: SWAP1
000000da: DUP1
000000db: DUP1
000000dc: PUSH1 0x1f
000000de: ADD
000000df: PUSH1 0x20
000000e1: DUP1
000000e2: SWAP2
000000e3: DIV
000000e4: MUL
000000e5: PUSH1 0x20
000000e7: ADD
000000e8: PUSH1 0x40
000000ea: MLOAD
000000eb: SWAP1
000000ec: DUP2
000000ed: ADD
000000ee: PUSH1 0x40
000000f0: MSTORE
000000f1: DUP1
000000f2: SWAP4
000000f3: SWAP3
000000f4: SWAP2
000000f5: SWAP1
000000f6: DUP2
000000f7: DUP2
000000f8: MSTORE
000000f9: PUSH1 0x20
000000fb: ADD
000000fc: DUP4
000000fd: DUP4
000000fe: DUP1
000000ff: DUP3
00000100: DUP5
00000101: CALLDATACOPY
00000102: POP
00000103: SWAP5
00000104: SWAP7
00000105: POP
00000106: POP
00000107: SWAP4
00000108: CALLDATALOAD
00000109: SWAP4
0000010a: POP
0000010b: POP
0000010c: POP
0000010d: POP
0000010e: PUSH1 0x00
00000110: SLOAD
00000111: PUSH1 0x01
00000113: PUSH1 0xa0
00000115: PUSH1 0x02
00000117: EXP
00000118: SUB
00000119: SWAP1
0000011a: DUP2
0000011b: AND
0000011c: CALLER
0000011d: SWAP1
0000011e: SWAP2
0000011f: AND
00000120: EQ
00000121: ISZERO
00000122: PUSH2 0x01ef
00000125: JUMPI
00000126: PUSH1 0x02
00000128: PUSH1 0x00
0000012a: PUSH1 0x14
0000012c: PUSH2 0x0100
0000012f: EXP
00000130: DUP2
00000131: SLOAD
00000132: DUP2
00000133: PUSH2 0xffff
00000136: MUL
00000137: NOT
00000138: AND
00000139: SWAP1
0000013a: DUP4
0000013b: MUL
0000013c: OR
0000013d: SWAP1
0000013e: SSTORE
0000013f: POP
00000140: CALLER
00000141: PUSH1 0x01
00000143: PUSH1 0xa0
00000145: PUSH1 0x02
00000147: EXP
00000148: SUB
00000149: AND
0000014a: PUSH1 0x04
0000014c: DUP3
0000014d: PUSH1 0x00
0000014f: DUP1
00000150: MLOAD
00000151: PUSH1 0x20
00000153: PUSH2 0x0935
00000156: DUP4
00000157: CODECOPY
00000158: DUP2
00000159: MLOAD
0000015a: SWAP2
0000015b: MSTORE
0000015c: DUP6
0000015d: PUSH1 0x02
0000015f: PUSH1 0x00
00000161: SWAP1
00000162: SLOAD
00000163: SWAP1
00000164: PUSH2 0x0100
00000167: EXP
00000168: SWAP1
00000169: DIV
0000016a: PUSH2 0xffff
0000016d: AND
0000016e: PUSH1 0x00
00000170: PUSH1 0x40
00000172: MLOAD
00000173: DUP1
00000174: DUP1
00000175: PUSH1 0x20
00000177: ADD
00000178: DUP5
00000179: PUSH2 0xffff
0000017c: AND
0000017d: DUP2
0000017e: MSTORE
0000017f: PUSH1 0x20
00000181: ADD
00000182: DUP4
00000183: DUP2
00000184: MSTORE
00000185: PUSH1 0x20
00000187: ADD
00000188: DUP3
00000189: DUP2
0000018a: SUB
0000018b: DUP3
0000018c: MSTORE
0000018d: DUP6
0000018e: DUP2
0000018f: DUP2
00000190: MLOAD
00000191: DUP2
00000192: MSTORE
00000193: PUSH1 0x20
00000195: ADD
00000196: SWAP2
00000197: POP
00000198: DUP1
00000199: MLOAD
0000019a: SWAP1
0000019b: PUSH1 0x20
0000019d: ADD
0000019e: SWAP1
0000019f: DUP1
000001a0: DUP4
000001a1: DUP4
000001a2: DUP3
000001a3: SWAP1
000001a4: PUSH1 0x00
000001a6: PUSH1 0x04
000001a8: PUSH1 0x20
000001aa: DUP5
000001ab: PUSH1 0x1f
000001ad: ADD
000001ae: DIV
000001af: PUSH1 0x0f
000001b1: MUL
000001b2: PUSH1 0x03
000001b4: ADD
000001b5: CALL
000001b6: POP
000001b7: SWAP1
000001b8: POP
000001b9: SWAP1
000001ba: DUP2
000001bb: ADD
000001bc: SWAP1
000001bd: PUSH1 0x1f
000001bf: AND
000001c0: DUP1
000001c1: ISZERO
000001c2: PUSH2 0x01df
000001c5: JUMPI
000001c6: DUP1
000001c7: DUP3
000001c8: SUB
000001c9: DUP1
000001ca: MLOAD
000001cb: PUSH1 0x01
000001cd: DUP4
000001ce: PUSH1 0x20
000001d0: SUB
000001d1: PUSH2 0x0100
000001d4: EXP
000001d5: SUB
000001d6: NOT
000001d7: AND
000001d8: DUP2
000001d9: MSTORE
000001da: PUSH1 0x20
000001dc: ADD
000001dd: SWAP2
000001de: POP
000001df: JUMPDEST
000001e0: POP
000001e1: SWAP5
000001e2: POP
000001e3: POP
000001e4: POP
000001e5: POP
000001e6: POP
000001e7: PUSH1 0x40
000001e9: MLOAD
000001ea: DUP1
000001eb: SWAP2
000001ec: SUB
000001ed: SWAP1
000001ee: LOG4
000001ef: JUMPDEST
000001f0: POP
000001f1: POP
000001f2: JUMP
000001f3: JUMPDEST
000001f4: PUSH2 0x0558
000001f7: PUSH1 0x00
000001f9: SLOAD
000001fa: PUSH1 0xa0
000001fc: PUSH1 0x02
000001fe: EXP
000001ff: SWAP1
00000200: DIV
00000201: PUSH2 0xffff
00000204: AND
00000205: DUP2
00000206: JUMP
00000207: JUMPDEST
00000208: PUSH2 0x0098
0000020b: PUSH1 0x00
0000020d: SLOAD
0000020e: PUSH1 0x01
00000210: PUSH1 0xa0
00000212: PUSH1 0x02
00000214: EXP
00000215: SUB
00000216: SWAP1
00000217: DUP2
00000218: AND
00000219: CALLER
0000021a: SWAP1
0000021b: SWAP2
0000021c: AND
0000021d: EQ
0000021e: ISZERO
0000021f: PUSH2 0x059f
00000222: JUMPI
00000223: PUSH1 0x00
00000225: SLOAD
00000226: PUSH1 0x01
00000228: PUSH1 0xa0
0000022a: PUSH1 0x02
0000022c: EXP
0000022d: SUB
0000022e: AND
0000022f: SELFDESTRUCT
00000230: JUMPDEST
00000231: PUSH2 0x0098
00000234: PUSH1 0x00
00000236: SLOAD
00000237: PUSH1 0x01
00000239: PUSH1 0xa0
0000023b: PUSH1 0x02
0000023d: EXP
0000023e: SUB
0000023f: SWAP1
00000240: DUP2
00000241: AND
00000242: CALLER
00000243: SWAP1
00000244: SWAP2
00000245: AND
00000246: EQ
00000247: ISZERO
00000248: PUSH2 0x059f
0000024b: JUMPI
0000024c: PUSH1 0x40
0000024e: MLOAD
0000024f: PUSH1 0x00
00000251: DUP1
00000252: SLOAD
00000253: PUSH1 0x01
00000255: PUSH1 0xa0
00000257: PUSH1 0x02
00000259: EXP
0000025a: SUB
0000025b: SWAP1
0000025c: DUP2
0000025d: AND
0000025e: SWAP3
0000025f: ADDRESS
00000260: SWAP1
00000261: SWAP2
00000262: AND
00000263: BALANCE
00000264: SWAP1
00000265: DUP3
00000266: DUP2
00000267: DUP2
00000268: DUP2
00000269: DUP6
0000026a: DUP9
0000026b: DUP4
0000026c: CALL
0000026d: POP
0000026e: POP
0000026f: POP
00000270: POP
00000271: POP
00000272: JUMP
00000273: JUMPDEST
00000274: PUSH2 0x0098
00000277: PUSH1 0x04
00000279: DUP1
0000027a: DUP1
0000027b: CALLDATALOAD
0000027c: SWAP1
0000027d: PUSH1 0x20
0000027f: ADD
00000280: SWAP1
00000281: DUP3
00000282: ADD
00000283: DUP1
00000284: CALLDATALOAD
00000285: SWAP1
00000286: PUSH1 0x20
00000288: ADD
00000289: SWAP2
0000028a: SWAP2
0000028b: SWAP1
0000028c: DUP1
0000028d: DUP1
0000028e: PUSH1 0x1f
00000290: ADD
00000291: PUSH1 0x20
00000293: DUP1
00000294: SWAP2
00000295: DIV
00000296: MUL
00000297: PUSH1 0x20
00000299: ADD
0000029a: PUSH1 0x40
0000029c: MLOAD
0000029d: SWAP1
0000029e: DUP2
0000029f: ADD
000002a0: PUSH1 0x40
000002a2: MSTORE
000002a3: DUP1
000002a4: SWAP4
000002a5: SWAP3
000002a6: SWAP2
000002a7: SWAP1
000002a8: DUP2
000002a9: DUP2
000002aa: MSTORE
000002ab: PUSH1 0x20
000002ad: ADD
000002ae: DUP4
000002af: DUP4
000002b0: DUP1
000002b1: DUP3
000002b2: DUP5
000002b3: CALLDATACOPY
000002b4: POP
000002b5: SWAP5
000002b6: SWAP7
000002b7: POP
000002b8: POP
000002b9: SWAP4
000002ba: CALLDATALOAD
000002bb: SWAP4
000002bc: POP
000002bd: POP
000002be: PUSH1 0x44
000002c0: CALLDATALOAD
000002c1: SWAP2
000002c2: POP
000002c3: POP
000002c4: PUSH1 0x64
000002c6: CALLDATALOAD
000002c7: PUSH1 0x84
000002c9: CALLDATALOAD
000002ca: PUSH1 0x00
000002cc: SLOAD
000002cd: PUSH1 0x01
000002cf: PUSH1 0xa0
000002d1: PUSH1 0x02
000002d3: EXP
000002d4: SUB
000002d5: SWAP1
000002d6: DUP2
000002d7: AND
000002d8: CALLER
000002d9: SWAP1
000002da: SWAP2
000002db: AND
000002dc: EQ
000002dd: ISZERO
000002de: PUSH2 0x0681
000002e1: JUMPI
000002e2: PUSH1 0x02
000002e4: SLOAD
000002e5: PUSH3 0x010000
000002e9: SWAP1
000002ea: DIV
000002eb: PUSH2 0xffff
000002ee: SWAP1
000002ef: DUP2
000002f0: AND
000002f1: SWAP1
000002f2: DUP5
000002f3: AND
000002f4: GT
000002f5: ISZERO
000002f6: PUSH2 0x05a1
000002f9: JUMPI
000002fa: PUSH1 0x40
000002fc: DUP1
000002fd: MLOAD
000002fe: DUP1
000002ff: DUP3
00000300: ADD
00000301: SWAP1
00000302: SWAP2
00000303: MSTORE
00000304: PUSH1 0x15
00000306: DUP2
00000307: MSTORE
00000308: PUSH32 0x5f636f756e74203e2070656e64696e67436f756e740000000000000000000000
00000329: PUSH1 0x20
0000032b: DUP3
0000032c: ADD
0000032d: MSTORE
0000032e: PUSH2 0x0688
00000331: SWAP1
00000332: JUMPDEST
00000333: PUSH32 0x0f4fd9cc72c8d1e6f6423a3909932b355f4087ac38128a3b3e5e27782885cbb9
00000354: DUP2
00000355: PUSH1 0x40
00000357: MLOAD
00000358: DUP1
00000359: DUP1
0000035a: PUSH1 0x20
0000035c: ADD
0000035d: DUP3
0000035e: DUP2
0000035f: SUB
00000360: DUP3
00000361: MSTORE
00000362: DUP4
00000363: DUP2
00000364: DUP2
00000365: MLOAD
00000366: DUP2
00000367: MSTORE
00000368: PUSH1 0x20
0000036a: ADD
0000036b: SWAP2
0000036c: POP
0000036d: DUP1
0000036e: MLOAD
0000036f: SWAP1
00000370: PUSH1 0x20
00000372: ADD
00000373: SWAP1
00000374: DUP1
00000375: DUP4
00000376: DUP4
00000377: DUP3
00000378: SWAP1
00000379: PUSH1 0x00
0000037b: PUSH1 0x04
0000037d: PUSH1 0x20
0000037f: DUP5
00000380: PUSH1 0x1f
00000382: ADD
00000383: DIV
00000384: PUSH1 0x0f
00000386: MUL
00000387: PUSH1 0x03
00000389: ADD
0000038a: CALL
0000038b: POP
0000038c: SWAP1
0000038d: POP
0000038e: SWAP1
0000038f: DUP2
00000390: ADD
00000391: SWAP1
00000392: PUSH1 0x1f
00000394: AND
00000395: DUP1
00000396: ISZERO
00000397: PUSH2 0x03b4
0000039a: JUMPI
0000039b: DUP1
0000039c: DUP3
0000039d: SUB
0000039e: DUP1
0000039f: MLOAD
000003a0: PUSH1 0x01
000003a2: DUP4
000003a3: PUSH1 0x20
000003a5: SUB
000003a6: PUSH2 0x0100
000003a9: EXP
000003aa: SUB
000003ab: NOT
000003ac: AND
000003ad: DUP2
000003ae: MSTORE
000003af: PUSH1 0x20
000003b1: ADD
000003b2: SWAP2
000003b3: POP
000003b4: JUMPDEST
000003b5: POP
000003b6: SWAP3
000003b7: POP
000003b8: POP
000003b9: POP
000003ba: PUSH1 0x40
000003bc: MLOAD
000003bd: DUP1
000003be: SWAP2
000003bf: SUB
000003c0: SWAP1
000003c1: LOG1
000003c2: POP
000003c3: JUMP
000003c4: JUMPDEST
000003c5: PUSH2 0x0570
000003c8: PUSH1 0x00
000003ca: SLOAD
000003cb: PUSH1 0x01
000003cd: PUSH1 0xa0
000003cf: PUSH1 0x02
000003d1: EXP
000003d2: SUB
000003d3: AND
000003d4: DUP2
000003d5: JUMP
000003d6: JUMPDEST
000003d7: PUSH2 0x0098
000003da: PUSH1 0x04
000003dc: DUP1
000003dd: DUP1
000003de: CALLDATALOAD
000003df: SWAP1
000003e0: PUSH1 0x20
000003e2: ADD
000003e3: SWAP1
000003e4: DUP3
000003e5: ADD
000003e6: DUP1
000003e7: CALLDATALOAD
000003e8: SWAP1
000003e9: PUSH1 0x20
000003eb: ADD
000003ec: SWAP2
000003ed: SWAP2
000003ee: SWAP1
000003ef: DUP1
000003f0: DUP1
000003f1: PUSH1 0x1f
000003f3: ADD
000003f4: PUSH1 0x20
000003f6: DUP1
000003f7: SWAP2
000003f8: DIV
000003f9: MUL
000003fa: PUSH1 0x20
000003fc: ADD
000003fd: PUSH1 0x40
000003ff: MLOAD
00000400: SWAP1
00000401: DUP2
00000402: ADD
00000403: PUSH1 0x40
00000405: MSTORE
00000406: DUP1
00000407: SWAP4
00000408: SWAP3
00000409: SWAP2
0000040a: SWAP1
0000040b: DUP2
0000040c: DUP2
0000040d: MSTORE
0000040e: PUSH1 0x20
00000410: ADD
00000411: DUP4
00000412: DUP4
00000413: DUP1
00000414: DUP3
00000415: DUP5
00000416: CALLDATACOPY
00000417: POP
00000418: SWAP5
00000419: SWAP7
0000041a: POP
0000041b: POP
0000041c: SWAP4
0000041d: CALLDATALOAD
0000041e: SWAP4
0000041f: POP
00000420: POP
00000421: PUSH1 0x44
00000423: CALLDATALOAD
00000424: SWAP2
00000425: POP
00000426: POP
00000427: PUSH1 0x00
00000429: SLOAD
0000042a: PUSH1 0xa0
0000042c: PUSH1 0x02
0000042e: EXP
0000042f: SWAP1
00000430: DIV
00000431: PUSH2 0xffff
00000434: AND
00000435: PUSH1 0x01
00000437: EQ
00000438: PUSH2 0x075d
0000043b: JUMPI
0000043c: PUSH1 0x40
0000043e: DUP1
0000043f: MLOAD
00000440: DUP1
00000441: DUP3
00000442: ADD
00000443: SWAP1
00000444: SWAP2
00000445: MSTORE
00000446: PUSH1 0x0b
00000448: DUP2
00000449: MSTORE
0000044a: PUSH32 0x73746174757320213d2031000000000000000000000000000000000000000000
0000046b: PUSH1 0x20
0000046d: DUP3
0000046e: ADD
0000046f: MSTORE
00000470: PUSH2 0x07aa
00000473: SWAP1
00000474: PUSH2 0x0332
00000477: JUMP
00000478: JUMPDEST
00000479: PUSH2 0x0558
0000047c: PUSH1 0x02
0000047e: SLOAD
0000047f: PUSH2 0xffff
00000482: AND
00000483: DUP2
00000484: JUMP
00000485: JUMPDEST
00000486: PUSH2 0x058d
00000489: PUSH1 0x01
0000048b: SLOAD
0000048c: DUP2
0000048d: JUMP
0000048e: JUMPDEST
0000048f: PUSH2 0x0098
00000492: PUSH1 0x04
00000494: DUP1
00000495: DUP1
00000496: CALLDATALOAD
00000497: SWAP1
00000498: PUSH1 0x20
0000049a: ADD
0000049b: SWAP1
0000049c: DUP3
0000049d: ADD
0000049e: DUP1
0000049f: CALLDATALOAD
000004a0: SWAP1
000004a1: PUSH1 0x20
000004a3: ADD
000004a4: SWAP2
000004a5: SWAP2
000004a6: SWAP1
000004a7: DUP1
000004a8: DUP1
000004a9: PUSH1 0x1f
000004ab: ADD
000004ac: PUSH1 0x20
000004ae: DUP1
000004af: SWAP2
000004b0: DIV
000004b1: MUL
000004b2: PUSH1 0x20
000004b4: ADD
000004b5: PUSH1 0x40
000004b7: MLOAD
000004b8: SWAP1
000004b9: DUP2
000004ba: ADD
000004bb: PUSH1 0x40
000004bd: MSTORE
000004be: DUP1
000004bf: SWAP4
000004c0: SWAP3
000004c1: SWAP2
000004c2: SWAP1
000004c3: DUP2
000004c4: DUP2
000004c5: MSTORE
000004c6: PUSH1 0x20
000004c8: ADD
000004c9: DUP4
000004ca: DUP4
000004cb: DUP1
000004cc: DUP3
000004cd: DUP5
000004ce: CALLDATACOPY
000004cf: POP
000004d0: SWAP5
000004d1: SWAP7
000004d2: POP
000004d3: POP
000004d4: SWAP4
000004d5: CALLDATALOAD
000004d6: SWAP4
000004d7: POP
000004d8: POP
000004d9: PUSH1 0x44
000004db: CALLDATALOAD
000004dc: SWAP2
000004dd: POP
000004de: POP
000004df: PUSH1 0x00
000004e1: SLOAD
000004e2: CALLER
000004e3: PUSH1 0x01
000004e5: PUSH1 0xa0
000004e7: PUSH1 0x02
000004e9: EXP
000004ea: SUB
000004eb: SWAP1
000004ec: DUP2
000004ed: AND
000004ee: SWAP2
000004ef: AND
000004f0: EQ
000004f1: ISZERO
000004f2: PUSH2 0x0758
000004f5: JUMPI
000004f6: PUSH1 0x02
000004f8: SLOAD
000004f9: PUSH2 0xffff
000004fc: SWAP1
000004fd: DUP2
000004fe: AND
000004ff: SWAP1
00000500: DUP3
00000501: AND
00000502: GT
00000503: ISZERO
00000504: PUSH2 0x08db
00000507: JUMPI
00000508: PUSH1 0x40
0000050a: DUP1
0000050b: MLOAD
0000050c: DUP1
0000050d: DUP3
0000050e: ADD
0000050f: SWAP1
00000510: SWAP2
00000511: MSTORE
00000512: PUSH1 0x17
00000514: DUP2
00000515: MSTORE
00000516: PUSH32 0x5f636f756e74203e20617661696c61626c65436f756e74000000000000000000
00000537: PUSH1 0x20
00000539: DUP3
0000053a: ADD
0000053b: MSTORE
0000053c: PUSH2 0x0930
0000053f: SWAP1
00000540: PUSH2 0x0332
00000543: JUMP
00000544: JUMPDEST
00000545: PUSH2 0x0558
00000548: PUSH1 0x02
0000054a: SLOAD
0000054b: PUSH2 0xffff
0000054e: PUSH3 0x010000
00000552: SWAP1
00000553: SWAP2
00000554: DIV
00000555: AND
00000556: DUP2
00000557: JUMP
00000558: JUMPDEST
00000559: PUSH1 0x40
0000055b: DUP1
0000055c: MLOAD
0000055d: PUSH2 0xffff
00000560: SWAP3
00000561: SWAP1
00000562: SWAP3
00000563: AND
00000564: DUP3
00000565: MSTORE
00000566: MLOAD
00000567: SWAP1
00000568: DUP2
00000569: SWAP1
0000056a: SUB
0000056b: PUSH1 0x20
0000056d: ADD
0000056e: SWAP1
0000056f: RETURN
00000570: JUMPDEST
00000571: PUSH1 0x40
00000573: DUP1
00000574: MLOAD
00000575: PUSH1 0x01
00000577: PUSH1 0xa0
00000579: PUSH1 0x02
0000057b: EXP
0000057c: SUB
0000057d: SWAP3
0000057e: SWAP1
0000057f: SWAP3
00000580: AND
00000581: DUP3
00000582: MSTORE
00000583: MLOAD
00000584: SWAP1
00000585: DUP2
00000586: SWAP1
00000587: SUB
00000588: PUSH1 0x20
0000058a: ADD
0000058b: SWAP1
0000058c: RETURN
0000058d: JUMPDEST
0000058e: PUSH1 0x40
00000590: DUP1
00000591: MLOAD
00000592: SWAP2
00000593: DUP3
00000594: MSTORE
00000595: MLOAD
00000596: SWAP1
00000597: DUP2
00000598: SWAP1
00000599: SUB
0000059a: PUSH1 0x20
0000059c: ADD
0000059d: SWAP1
0000059e: RETURN
0000059f: JUMPDEST
000005a0: JUMP
000005a1: JUMPDEST
000005a2: PUSH1 0x02
000005a4: DUP1
000005a5: SLOAD
000005a6: PUSH3 0x010000
000005aa: DUP1
000005ab: DUP3
000005ac: DIV
000005ad: PUSH2 0xffff
000005b0: AND
000005b1: DUP7
000005b2: SWAP1
000005b3: SUB
000005b4: MUL
000005b5: PUSH4 0xffff0000
000005ba: NOT
000005bb: SWAP2
000005bc: SWAP1
000005bd: SWAP2
000005be: AND
000005bf: OR
000005c0: SWAP1
000005c1: SSTORE
000005c2: PUSH1 0x40
000005c4: MLOAD
000005c5: PUSH1 0x01
000005c7: PUSH1 0xa0
000005c9: PUSH1 0x02
000005cb: EXP
000005cc: SUB
000005cd: DUP4
000005ce: AND
000005cf: SWAP1
000005d0: PUSH1 0x00
000005d2: SWAP1
000005d3: DUP4
000005d4: SWAP1
000005d5: DUP3
000005d6: DUP2
000005d7: DUP2
000005d8: DUP2
000005d9: DUP6
000005da: DUP9
000005db: DUP4
000005dc: CALL
000005dd: SWAP4
000005de: POP
000005df: POP
000005e0: POP
000005e1: POP
000005e2: POP
000005e3: CALLER
000005e4: PUSH1 0x01
000005e6: PUSH1 0xa0
000005e8: PUSH1 0x02
000005ea: EXP
000005eb: SUB
000005ec: AND
000005ed: PUSH1 0x03
000005ef: DUP6
000005f0: PUSH1 0x00
000005f2: DUP1
000005f3: MLOAD
000005f4: PUSH1 0x20
000005f6: PUSH2 0x0935
000005f9: DUP4
000005fa: CODECOPY
000005fb: DUP2
000005fc: MLOAD
000005fd: SWAP2
000005fe: MSTORE
000005ff: DUP9
00000600: DUP8
00000601: DUP7
00000602: PUSH1 0x40
00000604: MLOAD
00000605: DUP1
00000606: DUP1
00000607: PUSH1 0x20
00000609: ADD
0000060a: DUP5
0000060b: PUSH2 0xffff
0000060e: AND
0000060f: DUP2
00000610: MSTORE
00000611: PUSH1 0x20
00000613: ADD
00000614: DUP4
00000615: DUP2
00000616: MSTORE
00000617: PUSH1 0x20
00000619: ADD
0000061a: DUP3
0000061b: DUP2
0000061c: SUB
0000061d: DUP3
0000061e: MSTORE
0000061f: DUP6
00000620: DUP2
00000621: DUP2
00000622: MLOAD
00000623: DUP2
00000624: MSTORE
00000625: PUSH1 0x20
00000627: ADD
00000628: SWAP2
00000629: POP
0000062a: DUP1
0000062b: MLOAD
0000062c: SWAP1
0000062d: PUSH1 0x20
0000062f: ADD
00000630: SWAP1
00000631: DUP1
00000632: DUP4
00000633: DUP4
00000634: DUP3
00000635: SWAP1
00000636: PUSH1 0x00
00000638: PUSH1 0x04
0000063a: PUSH1 0x20
0000063c: DUP5
0000063d: PUSH1 0x1f
0000063f: ADD
00000640: DIV
00000641: PUSH1 0x0f
00000643: MUL
00000644: PUSH1 0x03
00000646: ADD
00000647: CALL
00000648: POP
00000649: SWAP1
0000064a: POP
0000064b: SWAP1
0000064c: DUP2
0000064d: ADD
0000064e: SWAP1
0000064f: PUSH1 0x1f
00000651: AND
00000652: DUP1
00000653: ISZERO
00000654: PUSH2 0x0671
00000657: JUMPI
00000658: DUP1
00000659: DUP3
0000065a: SUB
0000065b: DUP1
0000065c: MLOAD
0000065d: PUSH1 0x01
0000065f: DUP4
00000660: PUSH1 0x20
00000662: SUB
00000663: PUSH2 0x0100
00000666: EXP
00000667: SUB
00000668: NOT
00000669: AND
0000066a: DUP2
0000066b: MSTORE
0000066c: PUSH1 0x20
0000066e: ADD
0000066f: SWAP2
00000670: POP
00000671: JUMPDEST
00000672: POP
00000673: SWAP5
00000674: POP
00000675: POP
00000676: POP
00000677: POP
00000678: POP
00000679: PUSH1 0x40
0000067b: MLOAD
0000067c: DUP1
0000067d: SWAP2
0000067e: SUB
0000067f: SWAP1
00000680: LOG4
00000681: JUMPDEST
00000682: POP
00000683: POP
00000684: POP
00000685: POP
00000686: POP
00000687: JUMP
00000688: JUMPDEST
00000689: PUSH2 0x0681
0000068c: JUMP
0000068d: JUMPDEST
0000068e: DUP1
0000068f: PUSH1 0x02
00000691: PUSH1 0x02
00000693: DUP3
00000694: DUP3
00000695: DUP3
00000696: SWAP1
00000697: SLOAD
00000698: SWAP1
00000699: PUSH2 0x0100
0000069c: EXP
0000069d: SWAP1
0000069e: DIV
0000069f: PUSH2 0xffff
000006a2: AND
000006a3: ADD
000006a4: SWAP3
000006a5: POP
000006a6: PUSH2 0x0100
000006a9: EXP
000006aa: DUP2
000006ab: SLOAD
000006ac: DUP2
000006ad: PUSH2 0xffff
000006b0: MUL
000006b1: NOT
000006b2: AND
000006b3: SWAP1
000006b4: DUP4
000006b5: MUL
000006b6: OR
000006b7: SWAP1
000006b8: SSTORE
000006b9: POP
000006ba: CALLER
000006bb: PUSH1 0x01
000006bd: PUSH1 0xa0
000006bf: PUSH1 0x02
000006c1: EXP
000006c2: SUB
000006c3: AND
000006c4: PUSH1 0x01
000006c6: DUP4
000006c7: PUSH1 0x00
000006c9: DUP1
000006ca: MLOAD
000006cb: PUSH1 0x20
000006cd: PUSH2 0x0935
000006d0: DUP4
000006d1: CODECOPY
000006d2: DUP2
000006d3: MLOAD
000006d4: SWAP2
000006d5: MSTORE
000006d6: DUP7
000006d7: DUP6
000006d8: CALLVALUE
000006d9: PUSH1 0x40
000006db: MLOAD
000006dc: DUP1
000006dd: DUP1
000006de: PUSH1 0x20
000006e0: ADD
000006e1: DUP5
000006e2: PUSH2 0xffff
000006e5: AND
000006e6: DUP2
000006e7: MSTORE
000006e8: PUSH1 0x20
000006ea: ADD
000006eb: DUP4
000006ec: DUP2
000006ed: MSTORE
000006ee: PUSH1 0x20
000006f0: ADD
000006f1: DUP3
000006f2: DUP2
000006f3: SUB
000006f4: DUP3
000006f5: MSTORE
000006f6: DUP6
000006f7: DUP2
000006f8: DUP2
000006f9: MLOAD
000006fa: DUP2
000006fb: MSTORE
000006fc: PUSH1 0x20
000006fe: ADD
000006ff: SWAP2
00000700: POP
00000701: DUP1
00000702: MLOAD
00000703: SWAP1
00000704: PUSH1 0x20
00000706: ADD
00000707: SWAP1
00000708: DUP1
00000709: DUP4
0000070a: DUP4
0000070b: DUP3
0000070c: SWAP1
0000070d: PUSH1 0x00
0000070f: PUSH1 0x04
00000711: PUSH1 0x20
00000713: DUP5
00000714: PUSH1 0x1f
00000716: ADD
00000717: DIV
00000718: PUSH1 0x0f
0000071a: MUL
0000071b: PUSH1 0x03
0000071d: ADD
0000071e: CALL
0000071f: POP
00000720: SWAP1
00000721: POP
00000722: SWAP1
00000723: DUP2
00000724: ADD
00000725: SWAP1
00000726: PUSH1 0x1f
00000728: AND
00000729: DUP1
0000072a: ISZERO
0000072b: PUSH2 0x0748
0000072e: JUMPI
0000072f: DUP1
00000730: DUP3
00000731: SUB
00000732: DUP1
00000733: MLOAD
00000734: PUSH1 0x01
00000736: DUP4
00000737: PUSH1 0x20
00000739: SUB
0000073a: PUSH2 0x0100
0000073d: EXP
0000073e: SUB
0000073f: NOT
00000740: AND
00000741: DUP2
00000742: MSTORE
00000743: PUSH1 0x20
00000745: ADD
00000746: SWAP2
00000747: POP
00000748: JUMPDEST
00000749: POP
0000074a: SWAP5
0000074b: POP
0000074c: POP
0000074d: POP
0000074e: POP
0000074f: POP
00000750: PUSH1 0x40
00000752: MLOAD
00000753: DUP1
00000754: SWAP2
00000755: SUB
00000756: SWAP1
00000757: LOG4
00000758: JUMPDEST
00000759: POP
0000075a: POP
0000075b: POP
0000075c: JUMP
0000075d: JUMPDEST
0000075e: PUSH1 0x01
00000760: SLOAD
00000761: PUSH2 0xffff
00000764: DUP3
00000765: AND
00000766: MUL
00000767: CALLVALUE
00000768: LT
00000769: ISZERO
0000076a: PUSH2 0x07af
0000076d: JUMPI
0000076e: PUSH1 0x40
00000770: DUP1
00000771: MLOAD
00000772: DUP1
00000773: DUP3
00000774: ADD
00000775: SWAP1
00000776: SWAP2
00000777: MSTORE
00000778: PUSH1 0x1c
0000077a: DUP2
0000077b: MSTORE
0000077c: PUSH32 0x6d73672e76616c7565203c20287072696365202a205f636f756e742900000000
0000079d: PUSH1 0x20
0000079f: DUP3
000007a0: ADD
000007a1: MSTORE
000007a2: PUSH2 0x07aa
000007a5: SWAP1
000007a6: PUSH2 0x0332
000007a9: JUMP
000007aa: JUMPDEST
000007ab: PUSH2 0x0002
000007ae: JUMP
000007af: JUMPDEST
000007b0: PUSH1 0x02
000007b2: SLOAD
000007b3: PUSH2 0xffff
000007b6: SWAP1
000007b7: DUP2
000007b8: AND
000007b9: SWAP1
000007ba: DUP3
000007bb: AND
000007bc: GT
000007bd: ISZERO
000007be: PUSH2 0x068d
000007c1: JUMPI
000007c2: PUSH1 0x40
000007c4: DUP1
000007c5: MLOAD
000007c6: DUP1
000007c7: DUP3
000007c8: ADD
000007c9: SWAP1
000007ca: SWAP2
000007cb: MSTORE
000007cc: PUSH1 0x17
000007ce: DUP2
000007cf: MSTORE
000007d0: PUSH32 0x5f636f756e74203e20617661696c61626c65436f756e74000000000000000000
000007f1: PUSH1 0x20
000007f3: DUP3
000007f4: ADD
000007f5: MSTORE
000007f6: PUSH2 0x07aa
000007f9: SWAP1
000007fa: PUSH2 0x0332
000007fd: JUMP
000007fe: JUMPDEST
000007ff: PUSH1 0x02
00000801: DUP1
00000802: SLOAD
00000803: PUSH3 0x010000
00000807: DUP1
00000808: DUP3
00000809: DIV
0000080a: PUSH2 0xffff
0000080d: SWAP1
0000080e: DUP2
0000080f: AND
00000810: DUP6
00000811: SWAP1
00000812: SUB
00000813: SWAP1
00000814: SWAP2
00000815: MUL
00000816: PUSH4 0xffff0000
0000081b: NOT
0000081c: SWAP1
0000081d: SWAP3
0000081e: AND
0000081f: SWAP2
00000820: SWAP1
00000821: SWAP2
00000822: OR
00000823: PUSH2 0xffff
00000826: NOT
00000827: DUP2
00000828: AND
00000829: SWAP1
0000082a: DUP3
0000082b: AND
0000082c: DUP5
0000082d: SWAP1
0000082e: SUB
0000082f: OR
00000830: DUP3
00000831: SSTORE
00000832: PUSH1 0x40
00000834: DUP1
00000835: MLOAD
00000836: SWAP2
00000837: DUP5
00000838: AND
00000839: PUSH1 0x20
0000083b: DUP4
0000083c: DUP2
0000083d: ADD
0000083e: SWAP2
0000083f: SWAP1
00000840: SWAP2
00000841: MSTORE
00000842: PUSH1 0x00
00000844: SWAP2
00000845: DUP4
00000846: ADD
00000847: DUP3
00000848: SWAP1
00000849: MSTORE
0000084a: PUSH1 0x60
0000084c: DUP1
0000084d: DUP5
0000084e: MSTORE
0000084f: DUP8
00000850: MLOAD
00000851: SWAP1
00000852: DUP5
00000853: ADD
00000854: MSTORE
00000855: DUP7
00000856: MLOAD
00000857: CALLER
00000858: PUSH1 0x01
0000085a: PUSH1 0xa0
0000085c: PUSH1 0x02
0000085e: EXP
0000085f: SUB
00000860: AND
00000861: SWAP5
00000862: SWAP4
00000863: DUP8
00000864: SWAP4
00000865: PUSH1 0x00
00000867: DUP1
00000868: MLOAD
00000869: PUSH1 0x20
0000086b: PUSH2 0x0935
0000086e: DUP4
0000086f: CODECOPY
00000870: DUP2
00000871: MLOAD
00000872: SWAP2
00000873: MSTORE
00000874: SWAP4
00000875: DUP11
00000876: SWAP4
00000877: DUP10
00000878: SWAP4
00000879: SWAP2
0000087a: DUP3
0000087b: SWAP2
0000087c: PUSH1 0x80
0000087e: DUP4
0000087f: ADD
00000880: SWAP2
00000881: DUP8
00000882: DUP2
00000883: ADD
00000884: SWAP2
00000885: SWAP1
00000886: DUP2
00000887: SWAP1
00000888: DUP5
00000889: SWAP1
0000088a: DUP3
0000088b: SWAP1
0000088c: DUP6
0000088d: SWAP1
0000088e: DUP11
0000088f: SWAP1
00000890: PUSH1 0x04
00000892: SWAP1
00000893: PUSH1 0x1f
00000895: DUP6
00000896: ADD
00000897: DIV
00000898: PUSH1 0x0f
0000089a: MUL
0000089b: PUSH1 0x03
0000089d: ADD
0000089e: CALL
0000089f: POP
000008a0: SWAP1
000008a1: POP
000008a2: SWAP1
000008a3: DUP2
000008a4: ADD
000008a5: SWAP1
000008a6: PUSH1 0x1f
000008a8: AND
000008a9: DUP1
000008aa: ISZERO
000008ab: PUSH2 0x0748
000008ae: JUMPI
000008af: DUP1
000008b0: DUP3
000008b1: SUB
000008b2: DUP1
000008b3: MLOAD
000008b4: PUSH1 0x01
000008b6: DUP4
000008b7: PUSH1 0x20
000008b9: SUB
000008ba: PUSH2 0x0100
000008bd: EXP
000008be: SUB
000008bf: NOT
000008c0: AND
000008c1: DUP2
000008c2: MSTORE
000008c3: PUSH1 0x20
000008c5: ADD
000008c6: SWAP2
000008c7: POP
000008c8: POP
000008c9: SWAP5
000008ca: POP
000008cb: POP
000008cc: POP
000008cd: POP
000008ce: POP
000008cf: PUSH1 0x40
000008d1: MLOAD
000008d2: DUP1
000008d3: SWAP2
000008d4: SUB
000008d5: SWAP1
000008d6: LOG4
000008d7: POP
000008d8: POP
000008d9: POP
000008da: JUMP
000008db: JUMPDEST
000008dc: PUSH1 0x02
000008de: SLOAD
000008df: PUSH3 0x010000
000008e3: SWAP1
000008e4: DIV
000008e5: PUSH2 0xffff
000008e8: SWAP1
000008e9: DUP2
000008ea: AND
000008eb: SWAP1
000008ec: DUP3
000008ed: AND
000008ee: GT
000008ef: ISZERO
000008f0: PUSH2 0x07fe
000008f3: JUMPI
000008f4: PUSH1 0x40
000008f6: DUP1
000008f7: MLOAD
000008f8: DUP1
000008f9: DUP3
000008fa: ADD
000008fb: SWAP1
000008fc: SWAP2
000008fd: MSTORE
000008fe: PUSH1 0x15
00000900: DUP2
00000901: MSTORE
00000902: PUSH32 0x5f636f756e74203e2070656e64696e67436f756e740000000000000000000000
00000923: PUSH1 0x20
00000925: DUP3
00000926: ADD
00000927: MSTORE
00000928: PUSH2 0x0930
0000092b: SWAP1
0000092c: PUSH2 0x0332
0000092f: JUMP
00000930: JUMPDEST
00000931: PUSH2 0x0758
00000934: JUMP
00000935: PUSH11 0xd1246eb4ba86f20fc21a53
00000941: UNKNOWN(0xAF)
00000942: UNKNOWN(0xA5)
00000943: PUSH7 0x71a4292e555657
0000094b: UNKNOWN(0x4C)
0000094c: ORIGIN
0000094d: UNKNOWN(0xAE)
0000094e: DUP2
0000094f: PUSH17
View stderr
Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment.

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x06661abd",
            "selector": "0x06661abd",
            "calldata_variants": [
                "0x06661abd",
                "0x06661abd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06909f69",
            "selector": "0x06909f69",
            "calldata_variants": [
                "0x06909f69",
                "0x06909f690000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x200d2ed2",
            "selector": "0x200d2ed2",
            "calldata_variants": [
                "0x200d2ed2",
                "0x200d2ed20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x41c0e1b5",
            "selector": "0x41c0e1b5",
            "calldata_variants": [
                "0x41c0e1b5",
                "0x41c0e1b50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6b9f96ea",
            "selector": "0x6b9f96ea",
            "calldata_variants": [
                "0x6b9f96ea",
                "0x6b9f96ea0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6d15f208",
            "selector": "0x6d15f208",
            "calldata_variants": [
                "0x6d15f208",
                "0x6d15f2080000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x90cb04e1",
            "selector": "0x90cb04e1",
            "calldata_variants": [
                "0x90cb04e1",
                "0x90cb04e10000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 2380,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x07fd61a493dad6c2e8af9f78290acbca513a5bba54dd110fb84f53b9dcbb8727
call_targets: 0xe2e4d0d3410cd3e81bfcb7dad364dd168bb499f3
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x07fd61a493dad6c2e8af9f78290acbca513a5bba54dd110fb84f53b9dcbb8727",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xe2e4d0d3410cd3e81bfcb7dad364dd168bb499f3"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x06661abd",
            "selector": "0x06661abd",
            "calldata_variants": [
                "0x06661abd",
                "0x06661abd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06909f69",
            "selector": "0x06909f69",
            "calldata_variants": [
                "0x06909f69",
                "0x06909f690000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x200d2ed2",
            "selector": "0x200d2ed2",
            "calldata_variants": [
                "0x200d2ed2",
                "0x200d2ed20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x41c0e1b5",
            "selector": "0x41c0e1b5",
            "calldata_variants": [
                "0x41c0e1b5",
                "0x41c0e1b50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6b9f96ea",
            "selector": "0x6b9f96ea",
            "calldata_variants": [
                "0x6b9f96ea",
                "0x6b9f96ea0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6d15f208",
            "selector": "0x6d15f208",
            "calldata_variants": [
                "0x6d15f208",
                "0x6d15f2080000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x90cb04e1",
            "selector": "0x90cb04e1",
            "calldata_variants": [
                "0x90cb04e1",
                "0x90cb04e10000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 437,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 620,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 906,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 7,
    "guards_detected": [
        {
            "pc": 2380,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 7
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x07fd61a493dad6c2e8af9f78290acbca513a5bba54dd110fb84f53b9dcbb8727
call_targets: 0xe2e4d0d3410cd3e81bfcb7dad364dd168bb499f3
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x07fd61a493dad6c2e8af9f78290acbca513a5bba54dd110fb84f53b9dcbb8727",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xe2e4d0d3410cd3e81bfcb7dad364dd168bb499f3"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x06661abd",
            "selector": "0x06661abd",
            "calldata_variants": [
                "0x06661abd",
                "0x06661abd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06909f69",
            "selector": "0x06909f69",
            "calldata_variants": [
                "0x06909f69",
                "0x06909f690000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x200d2ed2",
            "selector": "0x200d2ed2",
            "calldata_variants": [
                "0x200d2ed2",
                "0x200d2ed20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x41c0e1b5",
            "selector": "0x41c0e1b5",
            "calldata_variants": [
                "0x41c0e1b5",
                "0x41c0e1b50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6b9f96ea",
            "selector": "0x6b9f96ea",
            "calldata_variants": [
                "0x6b9f96ea",
                "0x6b9f96ea0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6d15f208",
            "selector": "0x6d15f208",
            "calldata_variants": [
                "0x6d15f208",
                "0x6d15f2080000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x90cb04e1",
            "selector": "0x90cb04e1",
            "calldata_variants": [
                "0x90cb04e1",
                "0x90cb04e10000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 437,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 620,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 906,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 7,
    "guards_detected": [
        {
            "pc": 2380,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector SELFDESTRUCT reachable 45 no no
view
trace_id: 0x5b9c84db76f0246a33233b13784987b7427927806c7f08d9a1ed4938153b316f
validation_json
{
    "sink": "SELFDESTRUCT",
    "errors": 0,
    "status": "unknown",
    "attempts": 24,
    "trace_id": "0x5b9c84db76f0246a33233b13784987b7427927806c7f08d9a1ed4938153b316f",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x06661abd",
            "selector": "0x06661abd",
            "calldata_variants": [
                "0x06661abd",
                "0x06661abd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06909f69",
            "selector": "0x06909f69",
            "calldata_variants": [
                "0x06909f69",
                "0x06909f690000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x200d2ed2",
            "selector": "0x200d2ed2",
            "calldata_variants": [
                "0x200d2ed2",
                "0x200d2ed20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x41c0e1b5",
            "selector": "0x41c0e1b5",
            "calldata_variants": [
                "0x41c0e1b5",
                "0x41c0e1b50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6b9f96ea",
            "selector": "0x6b9f96ea",
            "calldata_variants": [
                "0x6b9f96ea",
                "0x6b9f96ea0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6d15f208",
            "selector": "0x6d15f208",
            "calldata_variants": [
                "0x6d15f208",
                "0x6d15f2080000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x90cb04e1",
            "selector": "0x90cb04e1",
            "calldata_variants": [
                "0x90cb04e1",
                "0x90cb04e10000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 2380,
            "type": "tx_origin_used"
        }
    ],
    "selfdestruct_count": 1
}