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

Analysis Run

019b3836-57f4-7220-b2b2-037ed8012408

complete
Chain ID
1
Address
Block Number
Created
Fri, Dec 19, 2025 8:04 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
8577 artifact.fetch complete 1 / 3 3 months ago
8578 tool.cast_disasm complete 1 / 3 3 months ago
98546 analysis.bundle complete 1 / 3 1 week ago
98547 capability.graph complete 1 / 3 1 week ago
98548 detector.run complete 1 / 3 1 week ago
98549 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)
5
EXT*/BALANCE
1
Total opcodes
928
Flags
selfdestruct_present
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x00c4
0000000a: JUMPI
0000000b: PUSH1 0xe0
0000000d: PUSH1 0x02
0000000f: EXP
00000010: PUSH1 0x00
00000012: CALLDATALOAD
00000013: DIV
00000014: PUSH4 0x288c6ed2
00000019: DUP2
0000001a: EQ
0000001b: PUSH2 0x00cd
0000001e: JUMPI
0000001f: DUP1
00000020: PUSH4 0x2fa7cbfb
00000025: EQ
00000026: PUSH2 0x00e6
00000029: JUMPI
0000002a: DUP1
0000002b: PUSH4 0x3462f32d
00000030: EQ
00000031: PUSH2 0x00fd
00000034: JUMPI
00000035: DUP1
00000036: PUSH4 0x41c0e1b5
0000003b: EQ
0000003c: PUSH2 0x011a
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0x455259cb
00000046: EQ
00000047: PUSH2 0x0139
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0x51cff8d9
00000051: EQ
00000052: PUSH2 0x0143
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0x752bacce
0000005c: EQ
0000005d: PUSH2 0x0165
00000060: JUMPI
00000061: DUP1
00000062: PUSH4 0x7d94792a
00000067: EQ
00000068: PUSH2 0x0170
0000006b: JUMPI
0000006c: DUP1
0000006d: PUSH4 0x9183fd01
00000072: EQ
00000073: PUSH2 0x0180
00000076: JUMPI
00000077: DUP1
00000078: PUSH4 0x9f87acd0
0000007d: EQ
0000007e: PUSH2 0x018b
00000081: JUMPI
00000082: DUP1
00000083: PUSH4 0xb0414a2d
00000088: EQ
00000089: PUSH2 0x01a7
0000008c: JUMPI
0000008d: DUP1
0000008e: PUSH4 0xbf1fe420
00000093: EQ
00000094: PUSH2 0x01c9
00000097: JUMPI
00000098: DUP1
00000099: PUSH4 0xe1a9109d
0000009e: EQ
0000009f: PUSH2 0x01eb
000000a2: JUMPI
000000a3: DUP1
000000a4: PUSH4 0xe4cc1161
000000a9: EQ
000000aa: PUSH2 0x020d
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0xf909d60d
000000b4: EQ
000000b5: PUSH2 0x0221
000000b8: JUMPI
000000b9: DUP1
000000ba: PUSH4 0xfe4a3ac9
000000bf: EQ
000000c0: PUSH2 0x022d
000000c3: JUMPI
000000c4: JUMPDEST
000000c5: PUSH2 0x024e
000000c8: JUMPDEST
000000c9: PUSH2 0x0002
000000cc: JUMP
000000cd: JUMPDEST
000000ce: PUSH2 0x0250
000000d1: PUSH1 0x04
000000d3: CALLDATALOAD
000000d4: JUMPDEST
000000d5: PUSH1 0x03
000000d7: SLOAD
000000d8: PUSH1 0x01
000000da: SLOAD
000000db: SWAP1
000000dc: DUP3
000000dd: MUL
000000de: ADD
000000df: DUP1
000000e0: JUMPDEST
000000e1: POP
000000e2: SWAP2
000000e3: SWAP1
000000e4: POP
000000e5: JUMP
000000e6: JUMPDEST
000000e7: PUSH2 0x0250
000000ea: PUSH1 0x04
000000ec: CALLDATALOAD
000000ed: JUMPDEST
000000ee: PUSH1 0x03
000000f0: SLOAD
000000f1: PUSH1 0x02
000000f3: SLOAD
000000f4: SWAP1
000000f5: DUP3
000000f6: MUL
000000f7: ADD
000000f8: DUP1
000000f9: PUSH2 0x00e0
000000fc: JUMP
000000fd: JUMPDEST
000000fe: PUSH2 0x0250
00000101: PUSH1 0x04
00000103: CALLDATALOAD
00000104: PUSH1 0x24
00000106: CALLDATALOAD
00000107: PUSH1 0x44
00000109: CALLDATALOAD
0000010a: PUSH1 0x64
0000010c: CALLDATALOAD
0000010d: JUMPDEST
0000010e: PUSH1 0x00
00000110: PUSH1 0x00
00000112: PUSH2 0x0262
00000115: DUP4
00000116: PUSH2 0x00ed
00000119: JUMP
0000011a: JUMPDEST
0000011b: PUSH2 0x024e
0000011e: PUSH1 0x00
00000120: SLOAD
00000121: PUSH1 0x01
00000123: PUSH1 0xa0
00000125: PUSH1 0x02
00000127: EXP
00000128: SUB
00000129: SWAP1
0000012a: DUP2
0000012b: AND
0000012c: CALLER
0000012d: SWAP1
0000012e: SWAP2
0000012f: AND
00000130: EQ
00000131: PUSH2 0x03d8
00000134: JUMPI
00000135: PUSH2 0x0002
00000138: JUMP
00000139: JUMPDEST
0000013a: PUSH2 0x0250
0000013d: PUSH1 0x03
0000013f: SLOAD
00000140: JUMPDEST
00000141: SWAP1
00000142: JUMP
00000143: JUMPDEST
00000144: PUSH2 0x024e
00000147: PUSH1 0x04
00000149: CALLDATALOAD
0000014a: PUSH1 0x00
0000014c: SLOAD
0000014d: PUSH1 0x01
0000014f: PUSH1 0xa0
00000151: PUSH1 0x02
00000153: EXP
00000154: SUB
00000155: SWAP1
00000156: DUP2
00000157: AND
00000158: CALLER
00000159: SWAP1
0000015a: SWAP2
0000015b: AND
0000015c: EQ
0000015d: PUSH2 0x03e6
00000160: JUMPI
00000161: PUSH2 0x0002
00000164: JUMP
00000165: JUMPDEST
00000166: PUSH2 0x0250
00000169: PUSH1 0x02
0000016b: SLOAD
0000016c: PUSH2 0x0140
0000016f: JUMP
00000170: JUMPDEST
00000171: PUSH2 0x0250
00000174: PUSH1 0x00
00000176: PUSH2 0x040c
00000179: PUSH2 0x0413
0000017c: PUSH2 0x0225
0000017f: JUMP
00000180: JUMPDEST
00000181: PUSH2 0x0250
00000184: PUSH1 0x01
00000186: SLOAD
00000187: PUSH2 0x0140
0000018a: JUMP
0000018b: JUMPDEST
0000018c: PUSH2 0x0250
0000018f: PUSH1 0x04
00000191: CALLDATALOAD
00000192: PUSH1 0x24
00000194: CALLDATALOAD
00000195: PUSH1 0x44
00000197: CALLDATALOAD
00000198: PUSH1 0x00
0000019a: PUSH2 0x0418
0000019d: DUP5
0000019e: DUP5
0000019f: DUP5
000001a0: PUSH2 0x0420
000001a3: PUSH2 0x0225
000001a6: JUMP
000001a7: JUMPDEST
000001a8: PUSH2 0x024e
000001ab: PUSH1 0x04
000001ad: CALLDATALOAD
000001ae: PUSH1 0x00
000001b0: SLOAD
000001b1: PUSH1 0x01
000001b3: PUSH1 0xa0
000001b5: PUSH1 0x02
000001b7: EXP
000001b8: SUB
000001b9: SWAP1
000001ba: DUP2
000001bb: AND
000001bc: CALLER
000001bd: SWAP1
000001be: SWAP2
000001bf: AND
000001c0: EQ
000001c1: PUSH2 0x0425
000001c4: JUMPI
000001c5: PUSH2 0x0002
000001c8: JUMP
000001c9: JUMPDEST
000001ca: PUSH2 0x024e
000001cd: PUSH1 0x04
000001cf: CALLDATALOAD
000001d0: PUSH1 0x00
000001d2: SLOAD
000001d3: PUSH1 0x01
000001d5: PUSH1 0xa0
000001d7: PUSH1 0x02
000001d9: EXP
000001da: SUB
000001db: SWAP1
000001dc: DUP2
000001dd: AND
000001de: CALLER
000001df: SWAP1
000001e0: SWAP2
000001e1: AND
000001e2: EQ
000001e3: PUSH2 0x042a
000001e6: JUMPI
000001e7: PUSH2 0x0002
000001ea: JUMP
000001eb: JUMPDEST
000001ec: PUSH2 0x024e
000001ef: PUSH1 0x04
000001f1: CALLDATALOAD
000001f2: PUSH1 0x00
000001f4: SLOAD
000001f5: PUSH1 0x01
000001f7: PUSH1 0xa0
000001f9: PUSH1 0x02
000001fb: EXP
000001fc: SUB
000001fd: SWAP1
000001fe: DUP2
000001ff: AND
00000200: CALLER
00000201: SWAP1
00000202: SWAP2
00000203: AND
00000204: EQ
00000205: PUSH2 0x042f
00000208: JUMPI
00000209: PUSH2 0x0002
0000020c: JUMP
0000020d: JUMPDEST
0000020e: PUSH2 0x0250
00000211: PUSH1 0x04
00000213: CALLDATALOAD
00000214: JUMPDEST
00000215: PUSH1 0x00
00000217: PUSH1 0x00
00000219: PUSH2 0x0434
0000021c: DUP4
0000021d: PUSH2 0x00d4
00000220: JUMP
00000221: JUMPDEST
00000222: PUSH2 0x0250
00000225: JUMPDEST
00000226: PUSH1 0x04
00000228: SLOAD
00000229: PUSH2 0x0140
0000022c: JUMP
0000022d: JUMPDEST
0000022e: PUSH2 0x024e
00000231: PUSH1 0x04
00000233: CALLDATALOAD
00000234: PUSH1 0x00
00000236: SLOAD
00000237: CALLER
00000238: PUSH1 0x01
0000023a: PUSH1 0xa0
0000023c: PUSH1 0x02
0000023e: EXP
0000023f: SUB
00000240: SWAP1
00000241: DUP2
00000242: AND
00000243: SWAP2
00000244: AND
00000245: EQ
00000246: PUSH2 0x0594
00000249: JUMPI
0000024a: PUSH2 0x0002
0000024d: JUMP
0000024e: JUMPDEST
0000024f: STOP
00000250: JUMPDEST
00000251: PUSH1 0x40
00000253: DUP1
00000254: MLOAD
00000255: SWAP2
00000256: DUP3
00000257: MSTORE
00000258: MLOAD
00000259: SWAP1
0000025a: DUP2
0000025b: SWAP1
0000025c: SUB
0000025d: PUSH1 0x20
0000025f: ADD
00000260: SWAP1
00000261: RETURN
00000262: JUMPDEST
00000263: PUSH1 0x00
00000265: CALLVALUE
00000266: DUP3
00000267: SWAP1
00000268: LT
00000269: PUSH2 0x00c8
0000026c: JUMPI
0000026d: CALLVALUE
0000026e: DUP3
0000026f: SWAP1
00000270: SUB
00000271: SWAP1
00000272: DUP2
00000273: GT
00000274: ISZERO
00000275: PUSH2 0x0299
00000278: JUMPI
00000279: PUSH1 0x40
0000027b: MLOAD
0000027c: CALLER
0000027d: PUSH1 0x01
0000027f: PUSH1 0xa0
00000281: PUSH1 0x02
00000283: EXP
00000284: SUB
00000285: AND
00000286: SWAP1
00000287: PUSH1 0x00
00000289: SWAP1
0000028a: DUP4
0000028b: SWAP1
0000028c: DUP3
0000028d: DUP2
0000028e: DUP2
0000028f: DUP2
00000290: DUP6
00000291: DUP9
00000292: DUP4
00000293: CALL
00000294: POP
00000295: POP
00000296: POP
00000297: POP
00000298: POP
00000299: JUMPDEST
0000029a: GASLIMIT
0000029b: DUP6
0000029c: GT
0000029d: DUP1
0000029e: PUSH2 0x02ad
000002a1: JUMPI
000002a2: POP
000002a3: PUSH2 0x02aa
000002a6: PUSH2 0x0225
000002a9: JUMP
000002aa: JUMPDEST
000002ab: DUP6
000002ac: LT
000002ad: JUMPDEST
000002ae: ISZERO
000002af: PUSH2 0x02b7
000002b2: JUMPI
000002b3: PUSH2 0x0002
000002b6: JUMP
000002b7: JUMPDEST
000002b8: PUSH20 0x2bd2326c993dfaef84f696526064ff22eba5b362
000002cd: PUSH1 0x01
000002cf: PUSH1 0xa0
000002d1: PUSH1 0x02
000002d3: EXP
000002d4: SUB
000002d5: AND
000002d6: PUSH4 0x16c72721
000002db: PUSH1 0x40
000002dd: MLOAD
000002de: DUP2
000002df: PUSH1 0xe0
000002e1: PUSH1 0x02
000002e3: EXP
000002e4: MUL
000002e5: DUP2
000002e6: MSTORE
000002e7: PUSH1 0x04
000002e9: ADD
000002ea: DUP1
000002eb: SWAP1
000002ec: POP
000002ed: PUSH1 0x20
000002ef: PUSH1 0x40
000002f1: MLOAD
000002f2: DUP1
000002f3: DUP4
000002f4: SUB
000002f5: DUP2
000002f6: PUSH1 0x00
000002f8: DUP8
000002f9: PUSH2 0x61da
000002fc: GAS
000002fd: SUB
000002fe: CALL
000002ff: ISZERO
00000300: PUSH2 0x0002
00000303: JUMPI
00000304: POP
00000305: POP
00000306: PUSH1 0x40
00000308: DUP1
00000309: MLOAD
0000030a: DUP1
0000030b: MLOAD
0000030c: CALLER
0000030d: PUSH1 0x01
0000030f: PUSH1 0xa0
00000311: PUSH1 0x02
00000313: EXP
00000314: SUB
00000315: SWAP1
00000316: DUP2
00000317: AND
00000318: PUSH1 0x00
0000031a: DUP2
0000031b: DUP2
0000031c: MSTORE
0000031d: PUSH1 0x06
0000031f: PUSH1 0x20
00000321: DUP2
00000322: DUP2
00000323: MSTORE
00000324: DUP8
00000325: DUP4
00000326: KECCAK256
00000327: DUP1
00000328: SLOAD
00000329: PUSH1 0xf8
0000032b: PUSH1 0x02
0000032d: EXP
0000032e: DUP9
0000032f: ISZERO
00000330: ISZERO
00000331: MUL
00000332: DUP10
00000333: MSTORE
00000334: PUSH13 0x01000000000000000000000000
00000342: ADDRESS
00000343: SWAP1
00000344: SWAP8
00000345: AND
00000346: DUP8
00000347: MUL
00000348: PUSH1 0x01
0000034a: DUP11
0000034b: DUP2
0000034c: ADD
0000034d: SWAP2
0000034e: SWAP1
0000034f: SWAP2
00000350: MSTORE
00000351: SWAP7
00000352: DUP7
00000353: MUL
00000354: PUSH1 0x15
00000356: DUP11
00000357: ADD
00000358: MSTORE
00000359: PUSH1 0x29
0000035b: DUP10
0000035c: ADD
0000035d: DUP2
0000035e: SWAP1
0000035f: MSTORE
00000360: DUP10
00000361: MLOAD
00000362: SWAP9
00000363: DUP10
00000364: SWAP1
00000365: SUB
00000366: PUSH1 0x49
00000368: ADD
00000369: DUP10
0000036a: KECCAK256
0000036b: SWAP5
0000036c: DUP7
0000036d: SWAP1
0000036e: MSTORE
0000036f: SWAP3
00000370: DUP3
00000371: MSTORE
00000372: SWAP2
00000373: SWAP1
00000374: SWAP5
00000375: ADD
00000376: SWAP1
00000377: SSTORE
00000378: SWAP1
00000379: DUP5
0000037a: MSTORE
0000037b: SWAP1
0000037c: DUP4
0000037d: ADD
0000037e: DUP2
0000037f: SWAP1
00000380: MSTORE
00000381: DUP3
00000382: DUP5
00000383: ADD
00000384: DUP11
00000385: SWAP1
00000386: MSTORE
00000387: PUSH1 0x60
00000389: DUP4
0000038a: ADD
0000038b: DUP14
0000038c: SWAP1
0000038d: MSTORE
0000038e: PUSH1 0x80
00000390: DUP4
00000391: ADD
00000392: DUP13
00000393: SWAP1
00000394: MSTORE
00000395: PUSH1 0xa0
00000397: DUP4
00000398: ADD
00000399: DUP12
0000039a: SWAP1
0000039b: MSTORE
0000039c: SWAP3
0000039d: MLOAD
0000039e: SWAP3
0000039f: SWAP8
000003a0: POP
000003a1: SWAP6
000003a2: POP
000003a3: PUSH32 0xf5eb42d16ca8654863fb402024290ca53ae79c8275fac7698c041e804d802830
000003c4: SWAP3
000003c5: POP
000003c6: DUP2
000003c7: SWAP1
000003c8: SUB
000003c9: PUSH1 0xc0
000003cb: ADD
000003cc: SWAP1
000003cd: LOG1
000003ce: POP
000003cf: POP
000003d0: POP
000003d1: SWAP5
000003d2: SWAP4
000003d3: POP
000003d4: POP
000003d5: POP
000003d6: POP
000003d7: JUMP
000003d8: JUMPDEST
000003d9: PUSH1 0x00
000003db: SLOAD
000003dc: PUSH1 0x01
000003de: PUSH1 0xa0
000003e0: PUSH1 0x02
000003e2: EXP
000003e3: SUB
000003e4: AND
000003e5: SELFDESTRUCT
000003e6: JUMPDEST
000003e7: PUSH1 0x40
000003e9: MLOAD
000003ea: PUSH1 0x01
000003ec: PUSH1 0xa0
000003ee: PUSH1 0x02
000003f0: EXP
000003f1: SUB
000003f2: DUP3
000003f3: DUP2
000003f4: AND
000003f5: SWAP2
000003f6: PUSH1 0x00
000003f8: SWAP2
000003f9: ADDRESS
000003fa: AND
000003fb: BALANCE
000003fc: SWAP1
000003fd: DUP3
000003fe: DUP2
000003ff: DUP2
00000400: DUP2
00000401: DUP6
00000402: DUP9
00000403: DUP4
00000404: CALL
00000405: POP
00000406: POP
00000407: POP
00000408: POP
00000409: POP
0000040a: POP
0000040b: JUMP
0000040c: JUMPDEST
0000040d: SWAP1
0000040e: POP
0000040f: PUSH2 0x0140
00000412: JUMP
00000413: JUMPDEST
00000414: PUSH2 0x0214
00000417: JUMP
00000418: JUMPDEST
00000419: SWAP5
0000041a: SWAP4
0000041b: POP
0000041c: POP
0000041d: POP
0000041e: POP
0000041f: JUMP
00000420: JUMPDEST
00000421: PUSH2 0x010d
00000424: JUMP
00000425: JUMPDEST
00000426: PUSH1 0x04
00000428: SSTORE
00000429: JUMP
0000042a: JUMPDEST
0000042b: PUSH1 0x03
0000042d: SSTORE
0000042e: JUMP
0000042f: JUMPDEST
00000430: PUSH1 0x01
00000432: SSTORE
00000433: JUMP
00000434: JUMPDEST
00000435: PUSH1 0x00
00000437: CALLVALUE
00000438: DUP3
00000439: SWAP1
0000043a: LT
0000043b: PUSH2 0x00c8
0000043e: JUMPI
0000043f: DUP2
00000440: CALLVALUE
00000441: SUB
00000442: SWAP1
00000443: POP
00000444: PUSH1 0x00
00000446: DUP2
00000447: GT
00000448: ISZERO
00000449: PUSH2 0x046d
0000044c: JUMPI
0000044d: PUSH1 0x40
0000044f: MLOAD
00000450: CALLER
00000451: PUSH1 0x01
00000453: PUSH1 0xa0
00000455: PUSH1 0x02
00000457: EXP
00000458: SUB
00000459: AND
0000045a: SWAP1
0000045b: PUSH1 0x00
0000045d: SWAP1
0000045e: DUP4
0000045f: SWAP1
00000460: DUP3
00000461: DUP2
00000462: DUP2
00000463: DUP2
00000464: DUP6
00000465: DUP9
00000466: DUP4
00000467: CALL
00000468: POP
00000469: POP
0000046a: POP
0000046b: POP
0000046c: POP
0000046d: JUMPDEST
0000046e: GASLIMIT
0000046f: DUP6
00000470: GT
00000471: DUP1
00000472: PUSH2 0x0481
00000475: JUMPI
00000476: POP
00000477: PUSH2 0x047e
0000047a: PUSH2 0x0225
0000047d: JUMP
0000047e: JUMPDEST
0000047f: DUP6
00000480: LT
00000481: JUMPDEST
00000482: ISZERO
00000483: PUSH2 0x048b
00000486: JUMPI
00000487: PUSH2 0x0002
0000048a: JUMP
0000048b: JUMPDEST
0000048c: PUSH20 0x2bd2326c993dfaef84f696526064ff22eba5b362
000004a1: PUSH1 0x01
000004a3: PUSH1 0xa0
000004a5: PUSH1 0x02
000004a7: EXP
000004a8: SUB
000004a9: AND
000004aa: PUSH4 0x16c72721
000004af: PUSH1 0x40
000004b1: MLOAD
000004b2: DUP2
000004b3: PUSH1 0xe0
000004b5: PUSH1 0x02
000004b7: EXP
000004b8: MUL
000004b9: DUP2
000004ba: MSTORE
000004bb: PUSH1 0x04
000004bd: ADD
000004be: DUP1
000004bf: SWAP1
000004c0: POP
000004c1: PUSH1 0x20
000004c3: PUSH1 0x40
000004c5: MLOAD
000004c6: DUP1
000004c7: DUP4
000004c8: SUB
000004c9: DUP2
000004ca: PUSH1 0x00
000004cc: DUP8
000004cd: PUSH2 0x61da
000004d0: GAS
000004d1: SUB
000004d2: CALL
000004d3: ISZERO
000004d4: PUSH2 0x0002
000004d7: JUMPI
000004d8: POP
000004d9: POP
000004da: PUSH1 0x40
000004dc: DUP1
000004dd: MLOAD
000004de: DUP1
000004df: MLOAD
000004e0: CALLER
000004e1: PUSH1 0x01
000004e3: PUSH1 0xa0
000004e5: PUSH1 0x02
000004e7: EXP
000004e8: SUB
000004e9: SWAP1
000004ea: DUP2
000004eb: AND
000004ec: PUSH1 0x00
000004ee: DUP2
000004ef: DUP2
000004f0: MSTORE
000004f1: PUSH1 0x05
000004f3: PUSH1 0x20
000004f5: DUP2
000004f6: DUP2
000004f7: MSTORE
000004f8: DUP8
000004f9: DUP4
000004fa: KECCAK256
000004fb: DUP1
000004fc: SLOAD
000004fd: PUSH1 0xf8
000004ff: PUSH1 0x02
00000501: EXP
00000502: DUP9
00000503: ISZERO
00000504: ISZERO
00000505: MUL
00000506: DUP10
00000507: MSTORE
00000508: PUSH13 0x01000000000000000000000000
00000516: ADDRESS
00000517: SWAP1
00000518: SWAP8
00000519: AND
0000051a: DUP8
0000051b: MUL
0000051c: PUSH1 0x01
0000051e: DUP11
0000051f: DUP2
00000520: ADD
00000521: SWAP2
00000522: SWAP1
00000523: SWAP2
00000524: MSTORE
00000525: SWAP7
00000526: DUP7
00000527: MUL
00000528: PUSH1 0x15
0000052a: DUP11
0000052b: ADD
0000052c: MSTORE
0000052d: PUSH1 0x29
0000052f: DUP10
00000530: ADD
00000531: DUP2
00000532: SWAP1
00000533: MSTORE
00000534: DUP10
00000535: MLOAD
00000536: SWAP9
00000537: DUP10
00000538: SWAP1
00000539: SUB
0000053a: PUSH1 0x49
0000053c: ADD
0000053d: DUP10
0000053e: KECCAK256
0000053f: SWAP5
00000540: DUP7
00000541: SWAP1
00000542: MSTORE
00000543: SWAP3
00000544: DUP3
00000545: MSTORE
00000546: SWAP2
00000547: SWAP1
00000548: SWAP5
00000549: ADD
0000054a: SWAP1
0000054b: SSTORE
0000054c: SWAP1
0000054d: DUP5
0000054e: MSTORE
0000054f: SWAP1
00000550: DUP4
00000551: ADD
00000552: DUP2
00000553: SWAP1
00000554: MSTORE
00000555: DUP3
00000556: DUP5
00000557: ADD
00000558: DUP11
00000559: SWAP1
0000055a: MSTORE
0000055b: SWAP3
0000055c: MLOAD
0000055d: SWAP3
0000055e: SWAP8
0000055f: POP
00000560: SWAP6
00000561: POP
00000562: PUSH32 0xe7c0bd1588b324384f15d0e027392a2edfebb34ef06e04fb751dad510be19f49
00000583: SWAP3
00000584: POP
00000585: DUP2
00000586: SWAP1
00000587: SUB
00000588: PUSH1 0x60
0000058a: ADD
0000058b: SWAP1
0000058c: LOG1
0000058d: POP
0000058e: PUSH2 0x00e0
00000591: SWAP1
00000592: POP
00000593: JUMP
00000594: JUMPDEST
00000595: PUSH1 0x02
00000597: SSTORE
00000598: JUMP
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: 0xea65d134ee46899456d478cf8a3ddb2a1641db3dbc33b278b4fa0c9acbc20d9b
call_targets: 0xc9c1bfb27e97531ecfe005faa2b2ed4828b08a0b
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xea65d134ee46899456d478cf8a3ddb2a1641db3dbc33b278b4fa0c9acbc20d9b",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xc9c1bfb27e97531ecfe005faa2b2ed4828b08a0b"
    ],
    "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": "0x288c6ed2",
            "selector": "0x288c6ed2",
            "calldata_variants": [
                "0x288c6ed2",
                "0x288c6ed20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2fa7cbfb",
            "selector": "0x2fa7cbfb",
            "calldata_variants": [
                "0x2fa7cbfb",
                "0x2fa7cbfb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3462f32d",
            "selector": "0x3462f32d",
            "calldata_variants": [
                "0x3462f32d",
                "0x3462f32d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x41c0e1b5",
            "selector": "0x41c0e1b5",
            "calldata_variants": [
                "0x41c0e1b5",
                "0x41c0e1b50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x455259cb",
            "selector": "0x455259cb",
            "calldata_variants": [
                "0x455259cb",
                "0x455259cb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x51cff8d9",
            "selector": "0x51cff8d9",
            "calldata_variants": [
                "0x51cff8d9",
                "0x51cff8d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x752bacce",
            "selector": "0x752bacce",
            "calldata_variants": [
                "0x752bacce",
                "0x752bacce0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7d94792a",
            "selector": "0x7d94792a",
            "calldata_variants": [
                "0x7d94792a",
                "0x7d94792a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 659,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 766,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1028,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 5,
    "guards_detected": [],
    "untrusted_call_count": 5
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xea65d134ee46899456d478cf8a3ddb2a1641db3dbc33b278b4fa0c9acbc20d9b
call_targets: 0xc9c1bfb27e97531ecfe005faa2b2ed4828b08a0b
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xea65d134ee46899456d478cf8a3ddb2a1641db3dbc33b278b4fa0c9acbc20d9b",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xc9c1bfb27e97531ecfe005faa2b2ed4828b08a0b"
    ],
    "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": "0x288c6ed2",
            "selector": "0x288c6ed2",
            "calldata_variants": [
                "0x288c6ed2",
                "0x288c6ed20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2fa7cbfb",
            "selector": "0x2fa7cbfb",
            "calldata_variants": [
                "0x2fa7cbfb",
                "0x2fa7cbfb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3462f32d",
            "selector": "0x3462f32d",
            "calldata_variants": [
                "0x3462f32d",
                "0x3462f32d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x41c0e1b5",
            "selector": "0x41c0e1b5",
            "calldata_variants": [
                "0x41c0e1b5",
                "0x41c0e1b50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x455259cb",
            "selector": "0x455259cb",
            "calldata_variants": [
                "0x455259cb",
                "0x455259cb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x51cff8d9",
            "selector": "0x51cff8d9",
            "calldata_variants": [
                "0x51cff8d9",
                "0x51cff8d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x752bacce",
            "selector": "0x752bacce",
            "calldata_variants": [
                "0x752bacce",
                "0x752bacce0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7d94792a",
            "selector": "0x7d94792a",
            "calldata_variants": [
                "0x7d94792a",
                "0x7d94792a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 659,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 766,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1028,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 5,
    "guards_detected": []
}
high other detector SELFDESTRUCT reachable 65 no no
view
trace_id: 0xb01cd116a2b274363ec681e338711b19c71aca86841218fc0e97a15dfdf3f7e3
validation_json
{
    "sink": "SELFDESTRUCT",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xb01cd116a2b274363ec681e338711b19c71aca86841218fc0e97a15dfdf3f7e3",
    "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": "0x288c6ed2",
            "selector": "0x288c6ed2",
            "calldata_variants": [
                "0x288c6ed2",
                "0x288c6ed20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2fa7cbfb",
            "selector": "0x2fa7cbfb",
            "calldata_variants": [
                "0x2fa7cbfb",
                "0x2fa7cbfb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3462f32d",
            "selector": "0x3462f32d",
            "calldata_variants": [
                "0x3462f32d",
                "0x3462f32d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x41c0e1b5",
            "selector": "0x41c0e1b5",
            "calldata_variants": [
                "0x41c0e1b5",
                "0x41c0e1b50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x455259cb",
            "selector": "0x455259cb",
            "calldata_variants": [
                "0x455259cb",
                "0x455259cb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x51cff8d9",
            "selector": "0x51cff8d9",
            "calldata_variants": [
                "0x51cff8d9",
                "0x51cff8d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x752bacce",
            "selector": "0x752bacce",
            "calldata_variants": [
                "0x752bacce",
                "0x752bacce0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7d94792a",
            "selector": "0x7d94792a",
            "calldata_variants": [
                "0x7d94792a",
                "0x7d94792a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [],
    "selfdestruct_count": 1
}