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

Analysis Run

019b3844-acbf-72b1-a53d-c34b0e0d1069

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 DELEGATECALL target 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
17463 artifact.fetch complete 1 / 3 3 months ago
17464 tool.cast_disasm complete 1 / 3 3 months ago
87052 analysis.bundle complete 1 / 3 1 week ago
87053 capability.graph complete 1 / 3 1 week ago
87054 detector.run complete 1 / 3 1 week ago
87055 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
1
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
1
EXT*/BALANCE
4
Total opcodes
1189
Flags
delegatecall_present create_opcodes_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x004e
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x13af4035
00000019: EQ
0000001a: PUSH2 0x0065
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0x6c5d4ad0
00000024: EQ
00000025: PUSH2 0x0085
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0x893d20e8
0000002f: EQ
00000030: PUSH2 0x00a5
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0x9b0b0fda
0000003a: EQ
0000003b: PUSH2 0x00d6
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xaaf10f42
00000045: EQ
00000046: PUSH2 0x00f6
00000049: JUMPI
0000004a: PUSH2 0x005d
0000004d: JUMP
0000004e: JUMPDEST
0000004f: CALLDATASIZE
00000050: PUSH2 0x005d
00000053: JUMPI
00000054: PUSH2 0x005b
00000057: PUSH2 0x010b
0000005a: JUMP
0000005b: JUMPDEST
0000005c: STOP
0000005d: JUMPDEST
0000005e: PUSH2 0x005b
00000061: PUSH2 0x010b
00000064: JUMP
00000065: JUMPDEST
00000066: CALLVALUE
00000067: DUP1
00000068: ISZERO
00000069: PUSH2 0x0071
0000006c: JUMPI
0000006d: PUSH1 0x00
0000006f: DUP1
00000070: REVERT
00000071: JUMPDEST
00000072: POP
00000073: PUSH2 0x005b
00000076: PUSH2 0x0080
00000079: CALLDATASIZE
0000007a: PUSH1 0x04
0000007c: PUSH2 0x0565
0000007f: JUMP
00000080: JUMPDEST
00000081: PUSH2 0x02f9
00000084: JUMP
00000085: JUMPDEST
00000086: CALLVALUE
00000087: DUP1
00000088: ISZERO
00000089: PUSH2 0x0091
0000008c: JUMPI
0000008d: PUSH1 0x00
0000008f: DUP1
00000090: REVERT
00000091: JUMPDEST
00000092: POP
00000093: PUSH2 0x005b
00000096: PUSH2 0x00a0
00000099: CALLDATASIZE
0000009a: PUSH1 0x04
0000009c: PUSH2 0x05ab
0000009f: JUMP
000000a0: JUMPDEST
000000a1: PUSH2 0x034c
000000a4: JUMP
000000a5: JUMPDEST
000000a6: CALLVALUE
000000a7: DUP1
000000a8: ISZERO
000000a9: PUSH2 0x00b1
000000ac: JUMPI
000000ad: PUSH1 0x00
000000af: DUP1
000000b0: REVERT
000000b1: JUMPDEST
000000b2: POP
000000b3: PUSH2 0x00ba
000000b6: PUSH2 0x047c
000000b9: JUMP
000000ba: JUMPDEST
000000bb: PUSH1 0x40
000000bd: MLOAD
000000be: PUSH1 0x01
000000c0: PUSH1 0x01
000000c2: PUSH1 0xa0
000000c4: SHL
000000c5: SUB
000000c6: SWAP1
000000c7: SWAP2
000000c8: AND
000000c9: DUP2
000000ca: MSTORE
000000cb: PUSH1 0x20
000000cd: ADD
000000ce: PUSH1 0x40
000000d0: MLOAD
000000d1: DUP1
000000d2: SWAP2
000000d3: SUB
000000d4: SWAP1
000000d5: RETURN
000000d6: JUMPDEST
000000d7: CALLVALUE
000000d8: DUP1
000000d9: ISZERO
000000da: PUSH2 0x00e2
000000dd: JUMPI
000000de: PUSH1 0x00
000000e0: DUP1
000000e1: REVERT
000000e2: JUMPDEST
000000e3: POP
000000e4: PUSH2 0x005b
000000e7: PUSH2 0x00f1
000000ea: CALLDATASIZE
000000eb: PUSH1 0x04
000000ed: PUSH2 0x065c
000000f0: JUMP
000000f1: JUMPDEST
000000f2: PUSH2 0x04d5
000000f5: JUMP
000000f6: JUMPDEST
000000f7: CALLVALUE
000000f8: DUP1
000000f9: ISZERO
000000fa: PUSH2 0x0102
000000fd: JUMPI
000000fe: PUSH1 0x00
00000100: DUP1
00000101: REVERT
00000102: JUMPDEST
00000103: POP
00000104: PUSH2 0x00ba
00000107: PUSH2 0x0517
0000010a: JUMP
0000010b: JUMPDEST
0000010c: PUSH1 0x00
0000010e: PUSH2 0x0123
00000111: PUSH1 0x00
00000113: DUP1
00000114: MLOAD
00000115: PUSH1 0x20
00000117: PUSH2 0x070f
0000011a: DUP4
0000011b: CODECOPY
0000011c: DUP2
0000011d: MLOAD
0000011e: SWAP2
0000011f: MSTORE
00000120: SLOAD
00000121: SWAP1
00000122: JUMP
00000123: JUMPDEST
00000124: PUSH1 0x40
00000126: DUP1
00000127: MLOAD
00000128: PUSH1 0x04
0000012a: DUP2
0000012b: MSTORE
0000012c: PUSH1 0x24
0000012e: DUP2
0000012f: ADD
00000130: DUP3
00000131: MSTORE
00000132: PUSH1 0x20
00000134: DUP2
00000135: ADD
00000136: DUP1
00000137: MLOAD
00000138: PUSH1 0x01
0000013a: PUSH1 0x01
0000013c: PUSH1 0xe0
0000013e: SHL
0000013f: SUB
00000140: AND
00000141: PUSH4 0x5bca3931
00000146: PUSH1 0xe1
00000148: SHL
00000149: OR
0000014a: SWAP1
0000014b: MSTORE
0000014c: SWAP1
0000014d: MLOAD
0000014e: SWAP2
0000014f: SWAP3
00000150: POP
00000151: PUSH1 0x00
00000153: SWAP2
00000154: DUP3
00000155: SWAP2
00000156: PUSH1 0x01
00000158: PUSH1 0x01
0000015a: PUSH1 0xa0
0000015c: SHL
0000015d: SUB
0000015e: DUP6
0000015f: AND
00000160: SWAP2
00000161: PUSH2 0x016a
00000164: SWAP2
00000165: SWAP1
00000166: PUSH2 0x06b9
00000169: JUMP
0000016a: JUMPDEST
0000016b: PUSH1 0x00
0000016d: PUSH1 0x40
0000016f: MLOAD
00000170: DUP1
00000171: DUP4
00000172: SUB
00000173: DUP2
00000174: DUP6
00000175: GAS
00000176: STATICCALL
00000177: SWAP2
00000178: POP
00000179: POP
0000017a: RETURNDATASIZE
0000017b: DUP1
0000017c: PUSH1 0x00
0000017e: DUP2
0000017f: EQ
00000180: PUSH2 0x01a5
00000183: JUMPI
00000184: PUSH1 0x40
00000186: MLOAD
00000187: SWAP2
00000188: POP
00000189: PUSH1 0x1f
0000018b: NOT
0000018c: PUSH1 0x3f
0000018e: RETURNDATASIZE
0000018f: ADD
00000190: AND
00000191: DUP3
00000192: ADD
00000193: PUSH1 0x40
00000195: MSTORE
00000196: RETURNDATASIZE
00000197: DUP3
00000198: MSTORE
00000199: RETURNDATASIZE
0000019a: PUSH1 0x00
0000019c: PUSH1 0x20
0000019e: DUP5
0000019f: ADD
000001a0: RETURNDATACOPY
000001a1: PUSH2 0x01aa
000001a4: JUMP
000001a5: JUMPDEST
000001a6: PUSH1 0x60
000001a8: SWAP2
000001a9: POP
000001aa: JUMPDEST
000001ab: POP
000001ac: SWAP2
000001ad: POP
000001ae: SWAP2
000001af: POP
000001b0: DUP2
000001b1: DUP1
000001b2: ISZERO
000001b3: PUSH2 0x01bd
000001b6: JUMPI
000001b7: POP
000001b8: DUP1
000001b9: MLOAD
000001ba: PUSH1 0x20
000001bc: EQ
000001bd: JUMPDEST
000001be: ISZERO
000001bf: PUSH2 0x024d
000001c2: JUMPI
000001c3: PUSH1 0x00
000001c5: DUP2
000001c6: DUP1
000001c7: PUSH1 0x20
000001c9: ADD
000001ca: SWAP1
000001cb: MLOAD
000001cc: DUP2
000001cd: ADD
000001ce: SWAP1
000001cf: PUSH2 0x01d8
000001d2: SWAP2
000001d3: SWAP1
000001d4: PUSH2 0x06c5
000001d7: JUMP
000001d8: JUMPDEST
000001d9: SWAP1
000001da: POP
000001db: DUP1
000001dc: ISZERO
000001dd: PUSH2 0x024b
000001e0: JUMPI
000001e1: PUSH1 0x40
000001e3: MLOAD
000001e4: PUSH3 0x461bcd
000001e8: PUSH1 0xe5
000001ea: SHL
000001eb: DUP2
000001ec: MSTORE
000001ed: PUSH1 0x20
000001ef: PUSH1 0x04
000001f1: DUP3
000001f2: ADD
000001f3: MSTORE
000001f4: PUSH1 0x35
000001f6: PUSH1 0x24
000001f8: DUP3
000001f9: ADD
000001fa: MSTORE
000001fb: PUSH32 0x4c314368756753706c61736850726f78793a2073797374656d20697320637572
0000021c: PUSH1 0x44
0000021e: DUP3
0000021f: ADD
00000220: MSTORE
00000221: PUSH21 0x1c995b9d1b1e4818995a5b99c81d5c19dc98591959
00000237: PUSH1 0x5a
00000239: SHL
0000023a: PUSH1 0x64
0000023c: DUP3
0000023d: ADD
0000023e: MSTORE
0000023f: PUSH1 0x84
00000241: ADD
00000242: JUMPDEST
00000243: PUSH1 0x40
00000245: MLOAD
00000246: DUP1
00000247: SWAP2
00000248: SUB
00000249: SWAP1
0000024a: REVERT
0000024b: JUMPDEST
0000024c: POP
0000024d: JUMPDEST
0000024e: PUSH1 0x00
00000250: PUSH2 0x0265
00000253: PUSH1 0x00
00000255: DUP1
00000256: MLOAD
00000257: PUSH1 0x20
00000259: PUSH2 0x072f
0000025c: DUP4
0000025d: CODECOPY
0000025e: DUP2
0000025f: MLOAD
00000260: SWAP2
00000261: MSTORE
00000262: SLOAD
00000263: SWAP1
00000264: JUMP
00000265: JUMPDEST
00000266: SWAP1
00000267: POP
00000268: PUSH1 0x01
0000026a: PUSH1 0x01
0000026c: PUSH1 0xa0
0000026e: SHL
0000026f: SUB
00000270: DUP2
00000271: AND
00000272: PUSH2 0x02d6
00000275: JUMPI
00000276: PUSH1 0x40
00000278: MLOAD
00000279: PUSH3 0x461bcd
0000027d: PUSH1 0xe5
0000027f: SHL
00000280: DUP2
00000281: MSTORE
00000282: PUSH1 0x20
00000284: PUSH1 0x04
00000286: DUP3
00000287: ADD
00000288: MSTORE
00000289: PUSH1 0x30
0000028b: PUSH1 0x24
0000028d: DUP3
0000028e: ADD
0000028f: MSTORE
00000290: PUSH32 0x4c314368756753706c61736850726f78793a20696d706c656d656e746174696f
000002b1: PUSH1 0x44
000002b3: DUP3
000002b4: ADD
000002b5: MSTORE
000002b6: PUSH16 0x1b881a5cc81b9bdd081cd95d081e595d
000002c7: PUSH1 0x82
000002c9: SHL
000002ca: PUSH1 0x64
000002cc: DUP3
000002cd: ADD
000002ce: MSTORE
000002cf: PUSH1 0x84
000002d1: ADD
000002d2: PUSH2 0x0242
000002d5: JUMP
000002d6: JUMPDEST
000002d7: CALLDATASIZE
000002d8: PUSH1 0x00
000002da: DUP1
000002db: CALLDATACOPY
000002dc: PUSH1 0x00
000002de: DUP1
000002df: CALLDATASIZE
000002e0: PUSH1 0x00
000002e2: DUP5
000002e3: GAS
000002e4: DELEGATECALL
000002e5: RETURNDATASIZE
000002e6: PUSH1 0x00
000002e8: DUP1
000002e9: RETURNDATACOPY
000002ea: DUP1
000002eb: PUSH2 0x02f3
000002ee: JUMPI
000002ef: RETURNDATASIZE
000002f0: PUSH1 0x00
000002f2: REVERT
000002f3: JUMPDEST
000002f4: POP
000002f5: RETURNDATASIZE
000002f6: PUSH1 0x00
000002f8: RETURN
000002f9: JUMPDEST
000002fa: PUSH1 0x00
000002fc: DUP1
000002fd: MLOAD
000002fe: PUSH1 0x20
00000300: PUSH2 0x070f
00000303: DUP4
00000304: CODECOPY
00000305: DUP2
00000306: MLOAD
00000307: SWAP2
00000308: MSTORE
00000309: SLOAD
0000030a: PUSH1 0x01
0000030c: PUSH1 0x01
0000030e: PUSH1 0xa0
00000310: SHL
00000311: SUB
00000312: AND
00000313: CALLER
00000314: PUSH1 0x01
00000316: PUSH1 0x01
00000318: PUSH1 0xa0
0000031a: SHL
0000031b: SUB
0000031c: AND
0000031d: EQ
0000031e: DUP1
0000031f: PUSH2 0x0326
00000322: JUMPI
00000323: POP
00000324: CALLER
00000325: ISZERO
00000326: JUMPDEST
00000327: ISZERO
00000328: PUSH2 0x0344
0000032b: JUMPI
0000032c: PUSH2 0x0341
0000032f: DUP2
00000330: PUSH1 0x00
00000332: DUP1
00000333: MLOAD
00000334: PUSH1 0x20
00000336: PUSH2 0x070f
00000339: DUP4
0000033a: CODECOPY
0000033b: DUP2
0000033c: MLOAD
0000033d: SWAP2
0000033e: MSTORE
0000033f: SSTORE
00000340: JUMP
00000341: JUMPDEST
00000342: POP
00000343: JUMP
00000344: JUMPDEST
00000345: PUSH2 0x0341
00000348: PUSH2 0x010b
0000034b: JUMP
0000034c: JUMPDEST
0000034d: PUSH1 0x00
0000034f: DUP1
00000350: MLOAD
00000351: PUSH1 0x20
00000353: PUSH2 0x070f
00000356: DUP4
00000357: CODECOPY
00000358: DUP2
00000359: MLOAD
0000035a: SWAP2
0000035b: MSTORE
0000035c: SLOAD
0000035d: PUSH1 0x01
0000035f: PUSH1 0x01
00000361: PUSH1 0xa0
00000363: SHL
00000364: SUB
00000365: AND
00000366: CALLER
00000367: PUSH1 0x01
00000369: PUSH1 0x01
0000036b: PUSH1 0xa0
0000036d: SHL
0000036e: SUB
0000036f: AND
00000370: EQ
00000371: DUP1
00000372: PUSH2 0x0379
00000375: JUMPI
00000376: POP
00000377: CALLER
00000378: ISZERO
00000379: JUMPDEST
0000037a: ISZERO
0000037b: PUSH2 0x0344
0000037e: JUMPI
0000037f: PUSH1 0x00
00000381: PUSH2 0x0396
00000384: PUSH1 0x00
00000386: DUP1
00000387: MLOAD
00000388: PUSH1 0x20
0000038a: PUSH2 0x072f
0000038d: DUP4
0000038e: CODECOPY
0000038f: DUP2
00000390: MLOAD
00000391: SWAP2
00000392: MSTORE
00000393: SLOAD
00000394: SWAP1
00000395: JUMP
00000396: JUMPDEST
00000397: SWAP1
00000398: POP
00000399: DUP1
0000039a: EXTCODEHASH
0000039b: DUP3
0000039c: MLOAD
0000039d: PUSH1 0x20
0000039f: DUP5
000003a0: ADD
000003a1: KECCAK256
000003a2: SUB
000003a3: PUSH2 0x03aa
000003a6: JUMPI
000003a7: POP
000003a8: POP
000003a9: JUMP
000003aa: JUMPDEST
000003ab: PUSH1 0x40
000003ad: MLOAD
000003ae: PUSH1 0x00
000003b0: SWAP1
000003b1: PUSH2 0x03d0
000003b4: SWAP1
000003b5: PUSH13 0x600d380380600d6000396000f3
000003c3: PUSH1 0x98
000003c5: SHL
000003c6: SWAP1
000003c7: DUP6
000003c8: SWAP1
000003c9: PUSH1 0x20
000003cb: ADD
000003cc: PUSH2 0x06de
000003cf: JUMP
000003d0: JUMPDEST
000003d1: PUSH1 0x40
000003d3: MLOAD
000003d4: PUSH1 0x20
000003d6: DUP2
000003d7: DUP4
000003d8: SUB
000003d9: SUB
000003da: DUP2
000003db: MSTORE
000003dc: SWAP1
000003dd: PUSH1 0x40
000003df: MSTORE
000003e0: SWAP1
000003e1: POP
000003e2: PUSH1 0x00
000003e4: DUP2
000003e5: MLOAD
000003e6: PUSH1 0x20
000003e8: DUP4
000003e9: ADD
000003ea: PUSH1 0x00
000003ec: CREATE
000003ed: DUP5
000003ee: MLOAD
000003ef: PUSH1 0x20
000003f1: DUP7
000003f2: ADD
000003f3: KECCAK256
000003f4: SWAP1
000003f5: SWAP2
000003f6: POP
000003f7: DUP2
000003f8: EXTCODEHASH
000003f9: EQ
000003fa: PUSH2 0x0460
000003fd: JUMPI
000003fe: PUSH1 0x40
00000400: MLOAD
00000401: PUSH3 0x461bcd
00000405: PUSH1 0xe5
00000407: SHL
00000408: DUP2
00000409: MSTORE
0000040a: PUSH1 0x20
0000040c: PUSH1 0x04
0000040e: DUP3
0000040f: ADD
00000410: MSTORE
00000411: PUSH1 0x32
00000413: PUSH1 0x24
00000415: DUP3
00000416: ADD
00000417: MSTORE
00000418: PUSH32 0x4c314368756753706c61736850726f78793a20636f646520776173206e6f7420
00000439: PUSH1 0x44
0000043b: DUP3
0000043c: ADD
0000043d: MSTORE
0000043e: PUSH18 0x18dbdc9c9958dd1b1e4819195c1b1bde5959
00000451: PUSH1 0x72
00000453: SHL
00000454: PUSH1 0x64
00000456: DUP3
00000457: ADD
00000458: MSTORE
00000459: PUSH1 0x84
0000045b: ADD
0000045c: PUSH2 0x0242
0000045f: JUMP
00000460: JUMPDEST
00000461: PUSH2 0x0476
00000464: DUP2
00000465: PUSH1 0x00
00000467: DUP1
00000468: MLOAD
00000469: PUSH1 0x20
0000046b: PUSH2 0x072f
0000046e: DUP4
0000046f: CODECOPY
00000470: DUP2
00000471: MLOAD
00000472: SWAP2
00000473: MSTORE
00000474: SSTORE
00000475: JUMP
00000476: JUMPDEST
00000477: POP
00000478: POP
00000479: POP
0000047a: POP
0000047b: JUMP
0000047c: JUMPDEST
0000047d: PUSH1 0x00
0000047f: PUSH2 0x0494
00000482: PUSH1 0x00
00000484: DUP1
00000485: MLOAD
00000486: PUSH1 0x20
00000488: PUSH2 0x070f
0000048b: DUP4
0000048c: CODECOPY
0000048d: DUP2
0000048e: MLOAD
0000048f: SWAP2
00000490: MSTORE
00000491: SLOAD
00000492: SWAP1
00000493: JUMP
00000494: JUMPDEST
00000495: PUSH1 0x01
00000497: PUSH1 0x01
00000499: PUSH1 0xa0
0000049b: SHL
0000049c: SUB
0000049d: AND
0000049e: CALLER
0000049f: PUSH1 0x01
000004a1: PUSH1 0x01
000004a3: PUSH1 0xa0
000004a5: SHL
000004a6: SUB
000004a7: AND
000004a8: EQ
000004a9: DUP1
000004aa: PUSH2 0x04b1
000004ad: JUMPI
000004ae: POP
000004af: CALLER
000004b0: ISZERO
000004b1: JUMPDEST
000004b2: ISZERO
000004b3: PUSH2 0x04ca
000004b6: JUMPI
000004b7: POP
000004b8: PUSH1 0x00
000004ba: DUP1
000004bb: MLOAD
000004bc: PUSH1 0x20
000004be: PUSH2 0x070f
000004c1: DUP4
000004c2: CODECOPY
000004c3: DUP2
000004c4: MLOAD
000004c5: SWAP2
000004c6: MSTORE
000004c7: SLOAD
000004c8: SWAP1
000004c9: JUMP
000004ca: JUMPDEST
000004cb: PUSH2 0x04d2
000004ce: PUSH2 0x010b
000004d1: JUMP
000004d2: JUMPDEST
000004d3: SWAP1
000004d4: JUMP
000004d5: JUMPDEST
000004d6: PUSH1 0x00
000004d8: DUP1
000004d9: MLOAD
000004da: PUSH1 0x20
000004dc: PUSH2 0x070f
000004df: DUP4
000004e0: CODECOPY
000004e1: DUP2
000004e2: MLOAD
000004e3: SWAP2
000004e4: MSTORE
000004e5: SLOAD
000004e6: PUSH1 0x01
000004e8: PUSH1 0x01
000004ea: PUSH1 0xa0
000004ec: SHL
000004ed: SUB
000004ee: AND
000004ef: CALLER
000004f0: PUSH1 0x01
000004f2: PUSH1 0x01
000004f4: PUSH1 0xa0
000004f6: SHL
000004f7: SUB
000004f8: AND
000004f9: EQ
000004fa: DUP1
000004fb: PUSH2 0x0502
000004fe: JUMPI
000004ff: POP
00000500: CALLER
00000501: ISZERO
00000502: JUMPDEST
00000503: ISZERO
00000504: PUSH2 0x050b
00000507: JUMPI
00000508: SWAP1
00000509: SSTORE
0000050a: JUMP
0000050b: JUMPDEST
0000050c: PUSH2 0x0513
0000050f: PUSH2 0x010b
00000512: JUMP
00000513: JUMPDEST
00000514: POP
00000515: POP
00000516: JUMP
00000517: JUMPDEST
00000518: PUSH1 0x00
0000051a: PUSH2 0x052f
0000051d: PUSH1 0x00
0000051f: DUP1
00000520: MLOAD
00000521: PUSH1 0x20
00000523: PUSH2 0x070f
00000526: DUP4
00000527: CODECOPY
00000528: DUP2
00000529: MLOAD
0000052a: SWAP2
0000052b: MSTORE
0000052c: SLOAD
0000052d: SWAP1
0000052e: JUMP
0000052f: JUMPDEST
00000530: PUSH1 0x01
00000532: PUSH1 0x01
00000534: PUSH1 0xa0
00000536: SHL
00000537: SUB
00000538: AND
00000539: CALLER
0000053a: PUSH1 0x01
0000053c: PUSH1 0x01
0000053e: PUSH1 0xa0
00000540: SHL
00000541: SUB
00000542: AND
00000543: EQ
00000544: DUP1
00000545: PUSH2 0x054c
00000548: JUMPI
00000549: POP
0000054a: CALLER
0000054b: ISZERO
0000054c: JUMPDEST
0000054d: ISZERO
0000054e: PUSH2 0x04ca
00000551: JUMPI
00000552: POP
00000553: PUSH1 0x00
00000555: DUP1
00000556: MLOAD
00000557: PUSH1 0x20
00000559: PUSH2 0x072f
0000055c: DUP4
0000055d: CODECOPY
0000055e: DUP2
0000055f: MLOAD
00000560: SWAP2
00000561: MSTORE
00000562: SLOAD
00000563: SWAP1
00000564: JUMP
00000565: JUMPDEST
00000566: PUSH1 0x00
00000568: PUSH1 0x20
0000056a: DUP3
0000056b: DUP5
0000056c: SUB
0000056d: SLT
0000056e: ISZERO
0000056f: PUSH2 0x0577
00000572: JUMPI
00000573: PUSH1 0x00
00000575: DUP1
00000576: REVERT
00000577: JUMPDEST
00000578: DUP2
00000579: CALLDATALOAD
0000057a: PUSH1 0x01
0000057c: PUSH1 0x01
0000057e: PUSH1 0xa0
00000580: SHL
00000581: SUB
00000582: DUP2
00000583: AND
00000584: DUP2
00000585: EQ
00000586: PUSH2 0x058e
00000589: JUMPI
0000058a: PUSH1 0x00
0000058c: DUP1
0000058d: REVERT
0000058e: JUMPDEST
0000058f: SWAP4
00000590: SWAP3
00000591: POP
00000592: POP
00000593: POP
00000594: JUMP
00000595: JUMPDEST
00000596: PUSH4 0x4e487b71
0000059b: PUSH1 0xe0
0000059d: SHL
0000059e: PUSH1 0x00
000005a0: MSTORE
000005a1: PUSH1 0x41
000005a3: PUSH1 0x04
000005a5: MSTORE
000005a6: PUSH1 0x24
000005a8: PUSH1 0x00
000005aa: REVERT
000005ab: JUMPDEST
000005ac: PUSH1 0x00
000005ae: PUSH1 0x20
000005b0: DUP3
000005b1: DUP5
000005b2: SUB
000005b3: SLT
000005b4: ISZERO
000005b5: PUSH2 0x05bd
000005b8: JUMPI
000005b9: PUSH1 0x00
000005bb: DUP1
000005bc: REVERT
000005bd: JUMPDEST
000005be: DUP2
000005bf: CALLDATALOAD
000005c0: PUSH8 0xffffffffffffffff
000005c9: DUP1
000005ca: DUP3
000005cb: GT
000005cc: ISZERO
000005cd: PUSH2 0x05d5
000005d0: JUMPI
000005d1: PUSH1 0x00
000005d3: DUP1
000005d4: REVERT
000005d5: JUMPDEST
000005d6: DUP2
000005d7: DUP5
000005d8: ADD
000005d9: SWAP2
000005da: POP
000005db: DUP5
000005dc: PUSH1 0x1f
000005de: DUP4
000005df: ADD
000005e0: SLT
000005e1: PUSH2 0x05e9
000005e4: JUMPI
000005e5: PUSH1 0x00
000005e7: DUP1
000005e8: REVERT
000005e9: JUMPDEST
000005ea: DUP2
000005eb: CALLDATALOAD
000005ec: DUP2
000005ed: DUP2
000005ee: GT
000005ef: ISZERO
000005f0: PUSH2 0x05fb
000005f3: JUMPI
000005f4: PUSH2 0x05fb
000005f7: PUSH2 0x0595
000005fa: JUMP
000005fb: JUMPDEST
000005fc: PUSH1 0x40
000005fe: MLOAD
000005ff: PUSH1 0x1f
00000601: DUP3
00000602: ADD
00000603: PUSH1 0x1f
00000605: NOT
00000606: SWAP1
00000607: DUP2
00000608: AND
00000609: PUSH1 0x3f
0000060b: ADD
0000060c: AND
0000060d: DUP2
0000060e: ADD
0000060f: SWAP1
00000610: DUP4
00000611: DUP3
00000612: GT
00000613: DUP2
00000614: DUP4
00000615: LT
00000616: OR
00000617: ISZERO
00000618: PUSH2 0x0623
0000061b: JUMPI
0000061c: PUSH2 0x0623
0000061f: PUSH2 0x0595
00000622: JUMP
00000623: JUMPDEST
00000624: DUP2
00000625: PUSH1 0x40
00000627: MSTORE
00000628: DUP3
00000629: DUP2
0000062a: MSTORE
0000062b: DUP8
0000062c: PUSH1 0x20
0000062e: DUP5
0000062f: DUP8
00000630: ADD
00000631: ADD
00000632: GT
00000633: ISZERO
00000634: PUSH2 0x063c
00000637: JUMPI
00000638: PUSH1 0x00
0000063a: DUP1
0000063b: REVERT
0000063c: JUMPDEST
0000063d: DUP3
0000063e: PUSH1 0x20
00000640: DUP7
00000641: ADD
00000642: PUSH1 0x20
00000644: DUP4
00000645: ADD
00000646: CALLDATACOPY
00000647: PUSH1 0x00
00000649: SWAP3
0000064a: DUP2
0000064b: ADD
0000064c: PUSH1 0x20
0000064e: ADD
0000064f: SWAP3
00000650: SWAP1
00000651: SWAP3
00000652: MSTORE
00000653: POP
00000654: SWAP6
00000655: SWAP5
00000656: POP
00000657: POP
00000658: POP
00000659: POP
0000065a: POP
0000065b: JUMP
0000065c: JUMPDEST
0000065d: PUSH1 0x00
0000065f: DUP1
00000660: PUSH1 0x40
00000662: DUP4
00000663: DUP6
00000664: SUB
00000665: SLT
00000666: ISZERO
00000667: PUSH2 0x066f
0000066a: JUMPI
0000066b: PUSH1 0x00
0000066d: DUP1
0000066e: REVERT
0000066f: JUMPDEST
00000670: POP
00000671: POP
00000672: DUP1
00000673: CALLDATALOAD
00000674: SWAP3
00000675: PUSH1 0x20
00000677: SWAP1
00000678: SWAP2
00000679: ADD
0000067a: CALLDATALOAD
0000067b: SWAP2
0000067c: POP
0000067d: JUMP
0000067e: JUMPDEST
0000067f: PUSH1 0x00
00000681: DUP2
00000682: MLOAD
00000683: PUSH1 0x00
00000685: JUMPDEST
00000686: DUP2
00000687: DUP2
00000688: LT
00000689: ISZERO
0000068a: PUSH2 0x069f
0000068d: JUMPI
0000068e: PUSH1 0x20
00000690: DUP2
00000691: DUP6
00000692: ADD
00000693: DUP2
00000694: ADD
00000695: MLOAD
00000696: DUP7
00000697: DUP4
00000698: ADD
00000699: MSTORE
0000069a: ADD
0000069b: PUSH2 0x0685
0000069e: JUMP
0000069f: JUMPDEST
000006a0: DUP2
000006a1: DUP2
000006a2: GT
000006a3: ISZERO
000006a4: PUSH2 0x06ae
000006a7: JUMPI
000006a8: PUSH1 0x00
000006aa: DUP3
000006ab: DUP7
000006ac: ADD
000006ad: MSTORE
000006ae: JUMPDEST
000006af: POP
000006b0: SWAP3
000006b1: SWAP1
000006b2: SWAP3
000006b3: ADD
000006b4: SWAP3
000006b5: SWAP2
000006b6: POP
000006b7: POP
000006b8: JUMP
000006b9: JUMPDEST
000006ba: PUSH1 0x00
000006bc: PUSH2 0x058e
000006bf: DUP3
000006c0: DUP5
000006c1: PUSH2 0x067e
000006c4: JUMP
000006c5: JUMPDEST
000006c6: PUSH1 0x00
000006c8: PUSH1 0x20
000006ca: DUP3
000006cb: DUP5
000006cc: SUB
000006cd: SLT
000006ce: ISZERO
000006cf: PUSH2 0x06d7
000006d2: JUMPI
000006d3: PUSH1 0x00
000006d5: DUP1
000006d6: REVERT
000006d7: JUMPDEST
000006d8: POP
000006d9: MLOAD
000006da: SWAP2
000006db: SWAP1
000006dc: POP
000006dd: JUMP
000006de: JUMPDEST
000006df: PUSH19 0xffffffffffffffffffffffffffffffffffffff
000006f3: NOT
000006f4: DUP4
000006f5: AND
000006f6: DUP2
000006f7: MSTORE
000006f8: PUSH1 0x00
000006fa: PUSH2 0x0706
000006fd: PUSH1 0x0d
000006ff: DUP4
00000700: ADD
00000701: DUP5
00000702: PUSH2 0x067e
00000705: JUMP
00000706: JUMPDEST
00000707: SWAP5
00000708: SWAP4
00000709: POP
0000070a: POP
0000070b: POP
0000070c: POP
0000070d: JUMP
0000070e: INVALID
0000070f: UNKNOWN(0xB5)
00000710: BALANCE
00000711: UNKNOWN(0x27)
00000712: PUSH9 0x4a568b3173ae13b9f8
0000071c: UNKNOWN(0xA6)
0000071d: ADD
0000071e: PUSH15 0x243e63b6e8ee1178d6a717850b5d61
0000072e: SUB
0000072f: CALLDATASIZE
00000730: ADDMOD
00000731: SWAP5
00000732: LOG1
00000733: EXTCODESIZE
00000734: LOG1
00000735: LOG3
00000736: UNKNOWN(0x21)
00000737: MOD
00000738: PUSH8 0xc828492db98dca3e
00000741: KECCAK256
00000742: PUSH23 0xcc3735a920a3ca505d382bbca164736f6c634300080f00
0000075a: EXP
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
critical upgradeability detector Untrusted DELEGATECALL target reachable 70 no no
view
trace_id: 0xe3d0531db6d38fca5bc7e15fcb3cf6a5d4844b879b2fde406809f4488218fa3b
call_targets: 0xf2f6148327b3020610fca26e094d9a5cc4689525
target_varies: no
classification: constant_target
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 2,
    "trace_id": "0xe3d0531db6d38fca5bc7e15fcb3cf6a5d4844b879b2fde406809f4488218fa3b",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xf2f6148327b3020610fca26e094d9a5cc4689525"
    ],
    "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": "0x13af4035",
            "selector": "0x13af4035",
            "calldata_variants": [
                "0x13af4035",
                "0x13af40350000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6c5d4ad0",
            "selector": "0x6c5d4ad0",
            "calldata_variants": [
                "0x6c5d4ad0",
                "0x6c5d4ad00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x893d20e8",
            "selector": "0x893d20e8",
            "calldata_variants": [
                "0x893d20e8",
                "0x893d20e80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9b0b0fda",
            "selector": "0x9b0b0fda",
            "calldata_variants": [
                "0x9b0b0fda",
                "0x9b0b0fda0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xaaf10f42",
            "selector": "0xaaf10f42",
            "calldata_variants": [
                "0xaaf10f42",
                "0xaaf10f420000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 740,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 1,
    "untrusted_delegatecall_count": 1
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0x7e32f191efd27b7d10c5e0a085e07df148c4802a0d4b727c02fd2f56884bb6c5
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 10,
    "trace_id": "0x7e32f191efd27b7d10c5e0a085e07df148c4802a0d4b727c02fd2f56884bb6c5",
    "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": "0x13af4035",
            "selector": "0x13af4035",
            "calldata_variants": [
                "0x13af4035",
                "0x13af40350000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6c5d4ad0",
            "selector": "0x6c5d4ad0",
            "calldata_variants": [
                "0x6c5d4ad0",
                "0x6c5d4ad00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x893d20e8",
            "selector": "0x893d20e8",
            "calldata_variants": [
                "0x893d20e8",
                "0x893d20e80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9b0b0fda",
            "selector": "0x9b0b0fda",
            "calldata_variants": [
                "0x9b0b0fda",
                "0x9b0b0fda0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xaaf10f42",
            "selector": "0xaaf10f42",
            "calldata_variants": [
                "0xaaf10f42",
                "0xaaf10f420000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 1,
    "create2_count": 0
}