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

Analysis Run

019b3844-919b-7376-9005-dd1d006977da

complete
Chain ID
1
Address
Block Number
Created
Fri, Dec 19, 2025 8:19 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
Untrusted CALL target/value reachable
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
12787 artifact.fetch complete 1 / 3 3 months ago
12788 tool.cast_disasm complete 1 / 3 3 months ago
56465 analysis.bundle complete 1 / 3 1 week ago
56466 capability.graph complete 1 / 3 1 week ago
56467 detector.run complete 1 / 3 1 week ago
56468 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)
3
EXT*/BALANCE
2
Total opcodes
1120
Flags
selfdestruct_present
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x00a3
0000000c: JUMPI
0000000d: PUSH4 0xffffffff
00000012: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000030: PUSH1 0x00
00000032: CALLDATALOAD
00000033: DIV
00000034: AND
00000035: PUSH4 0x1ef3755d
0000003a: DUP2
0000003b: EQ
0000003c: PUSH2 0x00a8
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0x47fa061e
00000046: EQ
00000047: PUSH2 0x00bd
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0x8c52dc41
00000051: EQ
00000052: PUSH2 0x00f4
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0x8da5cb5b
0000005c: EQ
0000005d: PUSH2 0x0107
00000060: JUMPI
00000061: DUP1
00000062: PUSH4 0xb9caebf4
00000067: EQ
00000068: PUSH2 0x0136
0000006b: JUMPI
0000006c: DUP1
0000006d: PUSH4 0xc19d93fb
00000072: EQ
00000073: PUSH2 0x0155
00000076: JUMPI
00000077: DUP1
00000078: PUSH4 0xf2fde38b
0000007d: EQ
0000007e: PUSH2 0x018c
00000081: JUMPI
00000082: DUP1
00000083: PUSH4 0xf340fa01
00000088: EQ
00000089: PUSH2 0x01ab
0000008c: JUMPI
0000008d: DUP1
0000008e: PUSH4 0xf5bf7413
00000093: EQ
00000094: PUSH2 0x01bf
00000097: JUMPI
00000098: DUP1
00000099: PUSH4 0xfa89401a
0000009e: EQ
0000009f: PUSH2 0x01e7
000000a2: JUMPI
000000a3: JUMPDEST
000000a4: PUSH1 0x00
000000a6: DUP1
000000a7: REVERT
000000a8: JUMPDEST
000000a9: CALLVALUE
000000aa: ISZERO
000000ab: PUSH2 0x00b3
000000ae: JUMPI
000000af: PUSH1 0x00
000000b1: DUP1
000000b2: REVERT
000000b3: JUMPDEST
000000b4: PUSH2 0x00bb
000000b7: PUSH2 0x0206
000000ba: JUMP
000000bb: JUMPDEST
000000bc: STOP
000000bd: JUMPDEST
000000be: CALLVALUE
000000bf: ISZERO
000000c0: PUSH2 0x00c8
000000c3: JUMPI
000000c4: PUSH1 0x00
000000c6: DUP1
000000c7: REVERT
000000c8: JUMPDEST
000000c9: PUSH2 0x00e2
000000cc: PUSH1 0xff
000000ce: PUSH1 0x04
000000d0: CALLDATALOAD
000000d1: AND
000000d2: PUSH1 0x01
000000d4: PUSH1 0xa0
000000d6: PUSH1 0x02
000000d8: EXP
000000d9: SUB
000000da: PUSH1 0x24
000000dc: CALLDATALOAD
000000dd: AND
000000de: PUSH2 0x027d
000000e1: JUMP
000000e2: JUMPDEST
000000e3: PUSH1 0x40
000000e5: MLOAD
000000e6: SWAP1
000000e7: DUP2
000000e8: MSTORE
000000e9: PUSH1 0x20
000000eb: ADD
000000ec: PUSH1 0x40
000000ee: MLOAD
000000ef: DUP1
000000f0: SWAP2
000000f1: SUB
000000f2: SWAP1
000000f3: RETURN
000000f4: JUMPDEST
000000f5: CALLVALUE
000000f6: ISZERO
000000f7: PUSH2 0x00ff
000000fa: JUMPI
000000fb: PUSH1 0x00
000000fd: DUP1
000000fe: REVERT
000000ff: JUMPDEST
00000100: PUSH2 0x00bb
00000103: PUSH2 0x029a
00000106: JUMP
00000107: JUMPDEST
00000108: CALLVALUE
00000109: ISZERO
0000010a: PUSH2 0x0112
0000010d: JUMPI
0000010e: PUSH1 0x00
00000110: DUP1
00000111: REVERT
00000112: JUMPDEST
00000113: PUSH2 0x011a
00000116: PUSH2 0x030d
00000119: JUMP
0000011a: JUMPDEST
0000011b: PUSH1 0x40
0000011d: MLOAD
0000011e: PUSH1 0x01
00000120: PUSH1 0xa0
00000122: PUSH1 0x02
00000124: EXP
00000125: SUB
00000126: SWAP1
00000127: SWAP2
00000128: AND
00000129: DUP2
0000012a: MSTORE
0000012b: PUSH1 0x20
0000012d: ADD
0000012e: PUSH1 0x40
00000130: MLOAD
00000131: DUP1
00000132: SWAP2
00000133: SUB
00000134: SWAP1
00000135: RETURN
00000136: JUMPDEST
00000137: CALLVALUE
00000138: ISZERO
00000139: PUSH2 0x0141
0000013c: JUMPI
0000013d: PUSH1 0x00
0000013f: DUP1
00000140: REVERT
00000141: JUMPDEST
00000142: PUSH2 0x00bb
00000145: PUSH1 0x01
00000147: PUSH1 0xa0
00000149: PUSH1 0x02
0000014b: EXP
0000014c: SUB
0000014d: PUSH1 0x04
0000014f: CALLDATALOAD
00000150: AND
00000151: PUSH2 0x031c
00000154: JUMP
00000155: JUMPDEST
00000156: CALLVALUE
00000157: ISZERO
00000158: PUSH2 0x0160
0000015b: JUMPI
0000015c: PUSH1 0x00
0000015e: DUP1
0000015f: REVERT
00000160: JUMPDEST
00000161: PUSH2 0x0168
00000164: PUSH2 0x0343
00000167: JUMP
00000168: JUMPDEST
00000169: PUSH1 0x40
0000016b: MLOAD
0000016c: DUP1
0000016d: DUP3
0000016e: PUSH1 0x02
00000170: DUP2
00000171: GT
00000172: ISZERO
00000173: PUSH2 0x0178
00000176: JUMPI
00000177: INVALID
00000178: JUMPDEST
00000179: PUSH1 0xff
0000017b: AND
0000017c: DUP2
0000017d: MSTORE
0000017e: PUSH1 0x20
00000180: ADD
00000181: SWAP2
00000182: POP
00000183: POP
00000184: PUSH1 0x40
00000186: MLOAD
00000187: DUP1
00000188: SWAP2
00000189: SUB
0000018a: SWAP1
0000018b: RETURN
0000018c: JUMPDEST
0000018d: CALLVALUE
0000018e: ISZERO
0000018f: PUSH2 0x0197
00000192: JUMPI
00000193: PUSH1 0x00
00000195: DUP1
00000196: REVERT
00000197: JUMPDEST
00000198: PUSH2 0x00bb
0000019b: PUSH1 0x01
0000019d: PUSH1 0xa0
0000019f: PUSH1 0x02
000001a1: EXP
000001a2: SUB
000001a3: PUSH1 0x04
000001a5: CALLDATALOAD
000001a6: AND
000001a7: PUSH2 0x034c
000001aa: JUMP
000001ab: JUMPDEST
000001ac: PUSH2 0x00bb
000001af: PUSH1 0x01
000001b1: PUSH1 0xa0
000001b3: PUSH1 0x02
000001b5: EXP
000001b6: SUB
000001b7: PUSH1 0x04
000001b9: CALLDATALOAD
000001ba: AND
000001bb: PUSH2 0x03e7
000001be: JUMP
000001bf: JUMPDEST
000001c0: CALLVALUE
000001c1: ISZERO
000001c2: PUSH2 0x01ca
000001c5: JUMPI
000001c6: PUSH1 0x00
000001c8: DUP1
000001c9: REVERT
000001ca: JUMPDEST
000001cb: PUSH2 0x00bb
000001ce: PUSH1 0x01
000001d0: PUSH1 0xa0
000001d2: PUSH1 0x02
000001d4: EXP
000001d5: SUB
000001d6: PUSH1 0x04
000001d8: CALLDATALOAD
000001d9: DUP2
000001da: AND
000001db: SWAP1
000001dc: PUSH1 0x24
000001de: CALLDATALOAD
000001df: AND
000001e0: PUSH1 0x44
000001e2: CALLDATALOAD
000001e3: PUSH2 0x04c0
000001e6: JUMP
000001e7: JUMPDEST
000001e8: CALLVALUE
000001e9: ISZERO
000001ea: PUSH2 0x01f2
000001ed: JUMPI
000001ee: PUSH1 0x00
000001f0: DUP1
000001f1: REVERT
000001f2: JUMPDEST
000001f3: PUSH2 0x00bb
000001f6: PUSH1 0x01
000001f8: PUSH1 0xa0
000001fa: PUSH1 0x02
000001fc: EXP
000001fd: SUB
000001fe: PUSH1 0x04
00000200: CALLDATALOAD
00000201: AND
00000202: PUSH2 0x05c7
00000205: JUMP
00000206: JUMPDEST
00000207: PUSH1 0x00
00000209: SLOAD
0000020a: CALLER
0000020b: PUSH1 0x01
0000020d: PUSH1 0xa0
0000020f: PUSH1 0x02
00000211: EXP
00000212: SUB
00000213: SWAP1
00000214: DUP2
00000215: AND
00000216: SWAP2
00000217: AND
00000218: EQ
00000219: PUSH2 0x0221
0000021c: JUMPI
0000021d: PUSH1 0x00
0000021f: DUP1
00000220: REVERT
00000221: JUMPDEST
00000222: PUSH1 0x02
00000224: DUP1
00000225: SLOAD
00000226: PUSH1 0xff
00000228: AND
00000229: DUP2
0000022a: DUP2
0000022b: GT
0000022c: ISZERO
0000022d: PUSH2 0x0232
00000230: JUMPI
00000231: INVALID
00000232: JUMPDEST
00000233: EQ
00000234: PUSH2 0x023c
00000237: JUMPI
00000238: PUSH1 0x00
0000023a: DUP1
0000023b: REVERT
0000023c: JUMPDEST
0000023d: PUSH1 0x00
0000023f: DUP1
00000240: SLOAD
00000241: PUSH21 0xff0000000000000000000000000000000000000000
00000257: NOT
00000258: DUP2
00000259: AND
0000025a: PUSH1 0xa0
0000025c: PUSH1 0x02
0000025e: EXP
0000025f: SWAP2
00000260: DUP3
00000261: SWAP1
00000262: DIV
00000263: PUSH1 0xff
00000265: SWAP1
00000266: DUP2
00000267: AND
00000268: PUSH1 0x01
0000026a: ADD
0000026b: AND
0000026c: SWAP1
0000026d: SWAP2
0000026e: MUL
0000026f: OR
00000270: SWAP1
00000271: SSTORE
00000272: PUSH1 0x02
00000274: DUP1
00000275: SLOAD
00000276: PUSH1 0xff
00000278: NOT
00000279: AND
0000027a: SWAP1
0000027b: SSTORE
0000027c: JUMP
0000027d: JUMPDEST
0000027e: PUSH1 0x01
00000280: PUSH1 0x20
00000282: SWAP1
00000283: DUP2
00000284: MSTORE
00000285: PUSH1 0x00
00000287: SWAP3
00000288: DUP4
00000289: MSTORE
0000028a: PUSH1 0x40
0000028c: DUP1
0000028d: DUP5
0000028e: KECCAK256
0000028f: SWAP1
00000290: SWAP2
00000291: MSTORE
00000292: SWAP1
00000293: DUP3
00000294: MSTORE
00000295: SWAP1
00000296: KECCAK256
00000297: SLOAD
00000298: DUP2
00000299: JUMP
0000029a: JUMPDEST
0000029b: PUSH1 0x00
0000029d: SLOAD
0000029e: CALLER
0000029f: PUSH1 0x01
000002a1: PUSH1 0xa0
000002a3: PUSH1 0x02
000002a5: EXP
000002a6: SUB
000002a7: SWAP1
000002a8: DUP2
000002a9: AND
000002aa: SWAP2
000002ab: AND
000002ac: EQ
000002ad: PUSH2 0x02b5
000002b0: JUMPI
000002b1: PUSH1 0x00
000002b3: DUP1
000002b4: REVERT
000002b5: JUMPDEST
000002b6: PUSH1 0x00
000002b8: PUSH1 0x02
000002ba: DUP1
000002bb: SLOAD
000002bc: PUSH1 0xff
000002be: AND
000002bf: SWAP1
000002c0: DUP2
000002c1: GT
000002c2: ISZERO
000002c3: PUSH2 0x02c8
000002c6: JUMPI
000002c7: INVALID
000002c8: JUMPDEST
000002c9: EQ
000002ca: PUSH2 0x02d2
000002cd: JUMPI
000002ce: PUSH1 0x00
000002d0: DUP1
000002d1: REVERT
000002d2: JUMPDEST
000002d3: PUSH1 0x02
000002d5: DUP1
000002d6: SLOAD
000002d7: PUSH1 0xff
000002d9: NOT
000002da: AND
000002db: PUSH1 0x01
000002dd: OR
000002de: SWAP1
000002df: SSTORE
000002e0: PUSH32 0x599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b89
00000301: PUSH1 0x40
00000303: MLOAD
00000304: PUSH1 0x40
00000306: MLOAD
00000307: DUP1
00000308: SWAP2
00000309: SUB
0000030a: SWAP1
0000030b: LOG1
0000030c: JUMP
0000030d: JUMPDEST
0000030e: PUSH1 0x00
00000310: SLOAD
00000311: PUSH1 0x01
00000313: PUSH1 0xa0
00000315: PUSH1 0x02
00000317: EXP
00000318: SUB
00000319: AND
0000031a: DUP2
0000031b: JUMP
0000031c: JUMPDEST
0000031d: PUSH1 0x00
0000031f: SLOAD
00000320: CALLER
00000321: PUSH1 0x01
00000323: PUSH1 0xa0
00000325: PUSH1 0x02
00000327: EXP
00000328: SUB
00000329: SWAP1
0000032a: DUP2
0000032b: AND
0000032c: SWAP2
0000032d: AND
0000032e: EQ
0000032f: PUSH2 0x0337
00000332: JUMPI
00000333: PUSH1 0x00
00000335: DUP1
00000336: REVERT
00000337: JUMPDEST
00000338: DUP1
00000339: PUSH1 0x01
0000033b: PUSH1 0xa0
0000033d: PUSH1 0x02
0000033f: EXP
00000340: SUB
00000341: AND
00000342: SELFDESTRUCT
00000343: JUMPDEST
00000344: PUSH1 0x02
00000346: SLOAD
00000347: PUSH1 0xff
00000349: AND
0000034a: DUP2
0000034b: JUMP
0000034c: JUMPDEST
0000034d: PUSH1 0x00
0000034f: SLOAD
00000350: CALLER
00000351: PUSH1 0x01
00000353: PUSH1 0xa0
00000355: PUSH1 0x02
00000357: EXP
00000358: SUB
00000359: SWAP1
0000035a: DUP2
0000035b: AND
0000035c: SWAP2
0000035d: AND
0000035e: EQ
0000035f: PUSH2 0x0367
00000362: JUMPI
00000363: PUSH1 0x00
00000365: DUP1
00000366: REVERT
00000367: JUMPDEST
00000368: PUSH1 0x01
0000036a: PUSH1 0xa0
0000036c: PUSH1 0x02
0000036e: EXP
0000036f: SUB
00000370: DUP2
00000371: AND
00000372: ISZERO
00000373: ISZERO
00000374: PUSH2 0x037c
00000377: JUMPI
00000378: PUSH1 0x00
0000037a: DUP1
0000037b: REVERT
0000037c: JUMPDEST
0000037d: PUSH1 0x00
0000037f: SLOAD
00000380: PUSH1 0x01
00000382: PUSH1 0xa0
00000384: PUSH1 0x02
00000386: EXP
00000387: SUB
00000388: DUP1
00000389: DUP4
0000038a: AND
0000038b: SWAP2
0000038c: AND
0000038d: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
000003ae: PUSH1 0x40
000003b0: MLOAD
000003b1: PUSH1 0x40
000003b3: MLOAD
000003b4: DUP1
000003b5: SWAP2
000003b6: SUB
000003b7: SWAP1
000003b8: LOG3
000003b9: PUSH1 0x00
000003bb: DUP1
000003bc: SLOAD
000003bd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003d2: NOT
000003d3: AND
000003d4: PUSH1 0x01
000003d6: PUSH1 0xa0
000003d8: PUSH1 0x02
000003da: EXP
000003db: SUB
000003dc: SWAP3
000003dd: SWAP1
000003de: SWAP3
000003df: AND
000003e0: SWAP2
000003e1: SWAP1
000003e2: SWAP2
000003e3: OR
000003e4: SWAP1
000003e5: SSTORE
000003e6: JUMP
000003e7: JUMPDEST
000003e8: PUSH1 0x00
000003ea: SLOAD
000003eb: CALLER
000003ec: PUSH1 0x01
000003ee: PUSH1 0xa0
000003f0: PUSH1 0x02
000003f2: EXP
000003f3: SUB
000003f4: SWAP1
000003f5: DUP2
000003f6: AND
000003f7: SWAP2
000003f8: AND
000003f9: EQ
000003fa: PUSH2 0x0402
000003fd: JUMPI
000003fe: PUSH1 0x00
00000400: DUP1
00000401: REVERT
00000402: JUMPDEST
00000403: PUSH1 0x00
00000405: PUSH1 0x02
00000407: DUP1
00000408: SLOAD
00000409: PUSH1 0xff
0000040b: AND
0000040c: SWAP1
0000040d: DUP2
0000040e: GT
0000040f: ISZERO
00000410: PUSH2 0x0415
00000413: JUMPI
00000414: INVALID
00000415: JUMPDEST
00000416: EQ
00000417: PUSH2 0x041f
0000041a: JUMPI
0000041b: PUSH1 0x00
0000041d: DUP1
0000041e: REVERT
0000041f: JUMPDEST
00000420: PUSH1 0x00
00000422: DUP1
00000423: SLOAD
00000424: PUSH1 0xa0
00000426: PUSH1 0x02
00000428: EXP
00000429: SWAP1
0000042a: DIV
0000042b: PUSH1 0xff
0000042d: AND
0000042e: DUP2
0000042f: MSTORE
00000430: PUSH1 0x01
00000432: PUSH1 0x20
00000434: SWAP1
00000435: DUP2
00000436: MSTORE
00000437: PUSH1 0x40
00000439: DUP1
0000043a: DUP4
0000043b: KECCAK256
0000043c: PUSH1 0x01
0000043e: PUSH1 0xa0
00000440: PUSH1 0x02
00000442: EXP
00000443: SUB
00000444: DUP6
00000445: AND
00000446: DUP5
00000447: MSTORE
00000448: SWAP1
00000449: SWAP2
0000044a: MSTORE
0000044b: SWAP1
0000044c: KECCAK256
0000044d: SLOAD
0000044e: PUSH2 0x0457
00000451: SWAP1
00000452: CALLVALUE
00000453: PUSH2 0x06bc
00000456: JUMP
00000457: JUMPDEST
00000458: PUSH1 0x00
0000045a: DUP1
0000045b: SLOAD
0000045c: PUSH1 0xa0
0000045e: PUSH1 0x02
00000460: EXP
00000461: SWAP1
00000462: DIV
00000463: PUSH1 0xff
00000465: AND
00000466: DUP2
00000467: MSTORE
00000468: PUSH1 0x01
0000046a: PUSH1 0x20
0000046c: SWAP1
0000046d: DUP2
0000046e: MSTORE
0000046f: PUSH1 0x40
00000471: DUP1
00000472: DUP4
00000473: KECCAK256
00000474: PUSH1 0x01
00000476: PUSH1 0xa0
00000478: PUSH1 0x02
0000047a: EXP
0000047b: SUB
0000047c: DUP7
0000047d: AND
0000047e: DUP1
0000047f: DUP6
00000480: MSTORE
00000481: SWAP3
00000482: MSTORE
00000483: SWAP2
00000484: DUP3
00000485: SWAP1
00000486: KECCAK256
00000487: SWAP3
00000488: SWAP1
00000489: SWAP3
0000048a: SSTORE
0000048b: PUSH32 0x2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4
000004ac: SWAP1
000004ad: CALLVALUE
000004ae: SWAP1
000004af: MLOAD
000004b0: SWAP1
000004b1: DUP2
000004b2: MSTORE
000004b3: PUSH1 0x20
000004b5: ADD
000004b6: PUSH1 0x40
000004b8: MLOAD
000004b9: DUP1
000004ba: SWAP2
000004bb: SUB
000004bc: SWAP1
000004bd: LOG2
000004be: POP
000004bf: JUMP
000004c0: JUMPDEST
000004c1: PUSH1 0x00
000004c3: SLOAD
000004c4: CALLER
000004c5: PUSH1 0x01
000004c7: PUSH1 0xa0
000004c9: PUSH1 0x02
000004cb: EXP
000004cc: SUB
000004cd: SWAP1
000004ce: DUP2
000004cf: AND
000004d0: SWAP2
000004d1: AND
000004d2: EQ
000004d3: PUSH2 0x04db
000004d6: JUMPI
000004d7: PUSH1 0x00
000004d9: DUP1
000004da: REVERT
000004db: JUMPDEST
000004dc: PUSH1 0x00
000004de: PUSH1 0x02
000004e0: DUP1
000004e1: SLOAD
000004e2: PUSH1 0xff
000004e4: AND
000004e5: SWAP1
000004e6: DUP2
000004e7: GT
000004e8: ISZERO
000004e9: PUSH2 0x04ee
000004ec: JUMPI
000004ed: INVALID
000004ee: JUMPDEST
000004ef: EQ
000004f0: PUSH2 0x04f8
000004f3: JUMPI
000004f4: PUSH1 0x00
000004f6: DUP1
000004f7: REVERT
000004f8: JUMPDEST
000004f9: PUSH1 0x01
000004fb: PUSH1 0xa0
000004fd: PUSH1 0x02
000004ff: EXP
00000500: SUB
00000501: DUP4
00000502: AND
00000503: ISZERO
00000504: ISZERO
00000505: PUSH2 0x050d
00000508: JUMPI
00000509: PUSH1 0x00
0000050b: DUP1
0000050c: REVERT
0000050d: JUMPDEST
0000050e: PUSH1 0x02
00000510: DUP1
00000511: SLOAD
00000512: PUSH1 0xff
00000514: NOT
00000515: AND
00000516: DUP2
00000517: OR
00000518: SWAP1
00000519: SSTORE
0000051a: PUSH32 0x1cdde67b72a90f19919ac732a437ac2f7a10fc128d28c2a6e525d89ce5cd9d3a
0000053b: PUSH1 0x40
0000053d: MLOAD
0000053e: PUSH1 0x40
00000540: MLOAD
00000541: DUP1
00000542: SWAP2
00000543: SUB
00000544: SWAP1
00000545: LOG1
00000546: PUSH1 0x01
00000548: PUSH1 0xa0
0000054a: PUSH1 0x02
0000054c: EXP
0000054d: SUB
0000054e: DUP3
0000054f: AND
00000550: ISZERO
00000551: PUSH2 0x0585
00000554: JUMPI
00000555: PUSH1 0x01
00000557: PUSH1 0xa0
00000559: PUSH1 0x02
0000055b: EXP
0000055c: SUB
0000055d: DUP3
0000055e: AND
0000055f: DUP2
00000560: ISZERO
00000561: PUSH2 0x08fc
00000564: MUL
00000565: DUP3
00000566: PUSH1 0x40
00000568: MLOAD
00000569: PUSH1 0x00
0000056b: PUSH1 0x40
0000056d: MLOAD
0000056e: DUP1
0000056f: DUP4
00000570: SUB
00000571: DUP2
00000572: DUP6
00000573: DUP9
00000574: DUP9
00000575: CALL
00000576: SWAP4
00000577: POP
00000578: POP
00000579: POP
0000057a: POP
0000057b: ISZERO
0000057c: ISZERO
0000057d: PUSH2 0x0585
00000580: JUMPI
00000581: PUSH1 0x00
00000583: DUP1
00000584: REVERT
00000585: JUMPDEST
00000586: DUP3
00000587: PUSH1 0x01
00000589: PUSH1 0xa0
0000058b: PUSH1 0x02
0000058d: EXP
0000058e: SUB
0000058f: AND
00000590: PUSH2 0x08fc
00000593: ADDRESS
00000594: PUSH1 0x01
00000596: PUSH1 0xa0
00000598: PUSH1 0x02
0000059a: EXP
0000059b: SUB
0000059c: AND
0000059d: BALANCE
0000059e: SWAP1
0000059f: DUP2
000005a0: ISZERO
000005a1: MUL
000005a2: SWAP1
000005a3: PUSH1 0x40
000005a5: MLOAD
000005a6: PUSH1 0x00
000005a8: PUSH1 0x40
000005aa: MLOAD
000005ab: DUP1
000005ac: DUP4
000005ad: SUB
000005ae: DUP2
000005af: DUP6
000005b0: DUP9
000005b1: DUP9
000005b2: CALL
000005b3: SWAP4
000005b4: POP
000005b5: POP
000005b6: POP
000005b7: POP
000005b8: ISZERO
000005b9: ISZERO
000005ba: PUSH2 0x05c2
000005bd: JUMPI
000005be: PUSH1 0x00
000005c0: DUP1
000005c1: REVERT
000005c2: JUMPDEST
000005c3: POP
000005c4: POP
000005c5: POP
000005c6: JUMP
000005c7: JUMPDEST
000005c8: PUSH1 0x00
000005ca: PUSH1 0x01
000005cc: PUSH1 0x02
000005ce: DUP1
000005cf: SLOAD
000005d0: PUSH1 0xff
000005d2: AND
000005d3: SWAP1
000005d4: DUP2
000005d5: GT
000005d6: ISZERO
000005d7: PUSH2 0x05dc
000005da: JUMPI
000005db: INVALID
000005dc: JUMPDEST
000005dd: EQ
000005de: PUSH2 0x05e6
000005e1: JUMPI
000005e2: PUSH1 0x00
000005e4: DUP1
000005e5: REVERT
000005e6: JUMPDEST
000005e7: POP
000005e8: PUSH1 0x00
000005ea: DUP1
000005eb: SLOAD
000005ec: PUSH1 0xa0
000005ee: PUSH1 0x02
000005f0: EXP
000005f1: SWAP1
000005f2: DIV
000005f3: PUSH1 0xff
000005f5: AND
000005f6: DUP2
000005f7: MSTORE
000005f8: PUSH1 0x01
000005fa: PUSH1 0x20
000005fc: SWAP1
000005fd: DUP2
000005fe: MSTORE
000005ff: PUSH1 0x40
00000601: DUP1
00000602: DUP4
00000603: KECCAK256
00000604: PUSH1 0x01
00000606: PUSH1 0xa0
00000608: PUSH1 0x02
0000060a: EXP
0000060b: SUB
0000060c: DUP6
0000060d: AND
0000060e: DUP5
0000060f: MSTORE
00000610: SWAP1
00000611: SWAP2
00000612: MSTORE
00000613: DUP2
00000614: KECCAK256
00000615: SLOAD
00000616: SWAP1
00000617: DUP2
00000618: GT
00000619: PUSH2 0x0621
0000061c: JUMPI
0000061d: PUSH1 0x00
0000061f: DUP1
00000620: REVERT
00000621: JUMPDEST
00000622: PUSH1 0x00
00000624: DUP1
00000625: SLOAD
00000626: PUSH1 0xa0
00000628: PUSH1 0x02
0000062a: EXP
0000062b: SWAP1
0000062c: DIV
0000062d: PUSH1 0xff
0000062f: AND
00000630: DUP2
00000631: MSTORE
00000632: PUSH1 0x01
00000634: PUSH1 0x20
00000636: SWAP1
00000637: DUP2
00000638: MSTORE
00000639: PUSH1 0x40
0000063b: DUP1
0000063c: DUP4
0000063d: KECCAK256
0000063e: PUSH1 0x01
00000640: PUSH1 0xa0
00000642: PUSH1 0x02
00000644: EXP
00000645: SUB
00000646: DUP7
00000647: AND
00000648: DUP1
00000649: DUP6
0000064a: MSTORE
0000064b: SWAP3
0000064c: MSTORE
0000064d: DUP1
0000064e: DUP4
0000064f: KECCAK256
00000650: SWAP3
00000651: SWAP1
00000652: SWAP3
00000653: SSTORE
00000654: SWAP1
00000655: PUSH2 0x08fc
00000658: DUP4
00000659: ISZERO
0000065a: MUL
0000065b: SWAP1
0000065c: DUP4
0000065d: SWAP1
0000065e: MLOAD
0000065f: PUSH1 0x00
00000661: PUSH1 0x40
00000663: MLOAD
00000664: DUP1
00000665: DUP4
00000666: SUB
00000667: DUP2
00000668: DUP6
00000669: DUP9
0000066a: DUP9
0000066b: CALL
0000066c: SWAP4
0000066d: POP
0000066e: POP
0000066f: POP
00000670: POP
00000671: ISZERO
00000672: ISZERO
00000673: PUSH2 0x067b
00000676: JUMPI
00000677: PUSH1 0x00
00000679: DUP1
0000067a: REVERT
0000067b: JUMPDEST
0000067c: DUP2
0000067d: PUSH1 0x01
0000067f: PUSH1 0xa0
00000681: PUSH1 0x02
00000683: EXP
00000684: SUB
00000685: AND
00000686: PUSH32 0xd7dee2702d63ad89917b6a4da9981c90c4d24f8c2bdfd64c604ecae57d8d0651
000006a7: DUP3
000006a8: PUSH1 0x40
000006aa: MLOAD
000006ab: SWAP1
000006ac: DUP2
000006ad: MSTORE
000006ae: PUSH1 0x20
000006b0: ADD
000006b1: PUSH1 0x40
000006b3: MLOAD
000006b4: DUP1
000006b5: SWAP2
000006b6: SUB
000006b7: SWAP1
000006b8: LOG2
000006b9: POP
000006ba: POP
000006bb: JUMP
000006bc: JUMPDEST
000006bd: PUSH1 0x00
000006bf: DUP3
000006c0: DUP3
000006c1: ADD
000006c2: DUP4
000006c3: DUP2
000006c4: LT
000006c5: ISZERO
000006c6: PUSH2 0x06cb
000006c9: JUMPI
000006ca: INVALID
000006cb: JUMPDEST
000006cc: SWAP4
000006cd: SWAP3
000006ce: POP
000006cf: POP
000006d0: POP
000006d1: JUMP
000006d2: STOP
000006d3: LOG1
000006d4: PUSH6 0x627a7a723058
000006db: KECCAK256
000006dc: SWAP8
000006dd: UNKNOWN(0xEA)
000006de: UNKNOWN(0xE3)
000006df: CALLDATASIZE
000006e0: SWAP3
000006e1: JUMPDEST
000006e2: EXTCODEHASH
000006e3: GASLIMIT
000006e4: UNKNOWN(0xC5)
000006e5: PUSH25
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 other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xe8c70c7f02887cd01e67e3c7fadf191c1bd544f41ebf335f243c1a3c7e66bcbf
call_targets: 0xd32c59bdf5409842c0dec13a546a3916b7485694
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xe8c70c7f02887cd01e67e3c7fadf191c1bd544f41ebf335f243c1a3c7e66bcbf",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xd32c59bdf5409842c0dec13a546a3916b7485694"
    ],
    "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": "0x1ef3755d",
            "selector": "0x1ef3755d",
            "calldata_variants": [
                "0x1ef3755d",
                "0x1ef3755d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x47fa061e",
            "selector": "0x47fa061e",
            "calldata_variants": [
                "0x47fa061e",
                "0x47fa061e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8c52dc41",
            "selector": "0x8c52dc41",
            "calldata_variants": [
                "0x8c52dc41",
                "0x8c52dc410000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb9caebf4",
            "selector": "0xb9caebf4",
            "calldata_variants": [
                "0xb9caebf4",
                "0xb9caebf40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc19d93fb",
            "selector": "0xc19d93fb",
            "calldata_variants": [
                "0xc19d93fb",
                "0xc19d93fb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf340fa01",
            "selector": "0xf340fa01",
            "calldata_variants": [
                "0xf340fa01",
                "0xf340fa010000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1397,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1458,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1643,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 3,
    "guards_detected": [],
    "untrusted_call_count": 3
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xe8c70c7f02887cd01e67e3c7fadf191c1bd544f41ebf335f243c1a3c7e66bcbf
call_targets: 0xd32c59bdf5409842c0dec13a546a3916b7485694
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xe8c70c7f02887cd01e67e3c7fadf191c1bd544f41ebf335f243c1a3c7e66bcbf",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xd32c59bdf5409842c0dec13a546a3916b7485694"
    ],
    "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": "0x1ef3755d",
            "selector": "0x1ef3755d",
            "calldata_variants": [
                "0x1ef3755d",
                "0x1ef3755d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x47fa061e",
            "selector": "0x47fa061e",
            "calldata_variants": [
                "0x47fa061e",
                "0x47fa061e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8c52dc41",
            "selector": "0x8c52dc41",
            "calldata_variants": [
                "0x8c52dc41",
                "0x8c52dc410000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb9caebf4",
            "selector": "0xb9caebf4",
            "calldata_variants": [
                "0xb9caebf4",
                "0xb9caebf40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc19d93fb",
            "selector": "0xc19d93fb",
            "calldata_variants": [
                "0xc19d93fb",
                "0xc19d93fb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf340fa01",
            "selector": "0xf340fa01",
            "calldata_variants": [
                "0xf340fa01",
                "0xf340fa010000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1397,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1458,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1643,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 3,
    "guards_detected": []
}
high other detector SELFDESTRUCT reachable 65 no no
view
trace_id: 0x5c63b2513c60522bb708762e5916bd2aaa84ccfc488e89b4aafa6acef0a3849f
validation_json
{
    "sink": "SELFDESTRUCT",
    "errors": 0,
    "status": "unknown",
    "attempts": 20,
    "trace_id": "0x5c63b2513c60522bb708762e5916bd2aaa84ccfc488e89b4aafa6acef0a3849f",
    "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": "0x1ef3755d",
            "selector": "0x1ef3755d",
            "calldata_variants": [
                "0x1ef3755d",
                "0x1ef3755d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x47fa061e",
            "selector": "0x47fa061e",
            "calldata_variants": [
                "0x47fa061e",
                "0x47fa061e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8c52dc41",
            "selector": "0x8c52dc41",
            "calldata_variants": [
                "0x8c52dc41",
                "0x8c52dc410000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb9caebf4",
            "selector": "0xb9caebf4",
            "calldata_variants": [
                "0xb9caebf4",
                "0xb9caebf40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc19d93fb",
            "selector": "0xc19d93fb",
            "calldata_variants": [
                "0xc19d93fb",
                "0xc19d93fb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf340fa01",
            "selector": "0xf340fa01",
            "calldata_variants": [
                "0xf340fa01",
                "0xf340fa010000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [],
    "selfdestruct_count": 1
}