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

Analysis Run

019b477e-bba8-720b-b0f5-094cad1db574

complete
Chain ID
1
Address
Block Number
Created
Mon, Dec 22, 2025 7:17 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
Verified
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
23945 artifact.fetch complete 1 / 3 3 months ago
23946 tool.cast_disasm complete 1 / 3 3 months ago
67082 analysis.bundle complete 1 / 3 1 week ago
67083 capability.graph complete 1 / 3 1 week ago
67084 detector.run complete 1 / 3 1 week ago
67085 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate

No codex job recorded yet.

Opcode Heuristics

tool.cast_disasm
Delegatecall
2
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
2
EXT*/BALANCE
3
Total opcodes
1342
Flags
delegatecall_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0074
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x5c60da1b
00000019: GT
0000001a: PUSH2 0x004e
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0x5c60da1b
00000024: EQ
00000025: PUSH2 0x0184
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0x8f283970
0000002f: EQ
00000030: PUSH2 0x0199
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xf851a440
0000003a: EQ
0000003b: PUSH2 0x01cc
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xf9e54234
00000045: EQ
00000046: PUSH2 0x01e1
00000049: JUMPI
0000004a: PUSH2 0x0083
0000004d: JUMP
0000004e: JUMPDEST
0000004f: DUP1
00000050: PUSH4 0x3659cfe6
00000055: EQ
00000056: PUSH2 0x008b
00000059: JUMPI
0000005a: DUP1
0000005b: PUSH4 0x4f1ef286
00000060: EQ
00000061: PUSH2 0x00be
00000064: JUMPI
00000065: DUP1
00000066: PUSH4 0x5c23bdf5
0000006b: EQ
0000006c: PUSH2 0x013e
0000006f: JUMPI
00000070: PUSH2 0x0083
00000073: JUMP
00000074: JUMPDEST
00000075: CALLDATASIZE
00000076: PUSH2 0x0083
00000079: JUMPI
0000007a: PUSH2 0x0081
0000007d: PUSH2 0x02e1
00000080: JUMP
00000081: JUMPDEST
00000082: STOP
00000083: JUMPDEST
00000084: PUSH2 0x0081
00000087: PUSH2 0x02e1
0000008a: JUMP
0000008b: JUMPDEST
0000008c: CALLVALUE
0000008d: DUP1
0000008e: ISZERO
0000008f: PUSH2 0x0097
00000092: JUMPI
00000093: PUSH1 0x00
00000095: DUP1
00000096: REVERT
00000097: JUMPDEST
00000098: POP
00000099: PUSH2 0x0081
0000009c: PUSH1 0x04
0000009e: DUP1
0000009f: CALLDATASIZE
000000a0: SUB
000000a1: PUSH1 0x20
000000a3: DUP2
000000a4: LT
000000a5: ISZERO
000000a6: PUSH2 0x00ae
000000a9: JUMPI
000000aa: PUSH1 0x00
000000ac: DUP1
000000ad: REVERT
000000ae: JUMPDEST
000000af: POP
000000b0: CALLDATALOAD
000000b1: PUSH1 0x01
000000b3: PUSH1 0x01
000000b5: PUSH1 0xa0
000000b7: SHL
000000b8: SUB
000000b9: AND
000000ba: PUSH2 0x02fb
000000bd: JUMP
000000be: JUMPDEST
000000bf: PUSH2 0x0081
000000c2: PUSH1 0x04
000000c4: DUP1
000000c5: CALLDATASIZE
000000c6: SUB
000000c7: PUSH1 0x40
000000c9: DUP2
000000ca: LT
000000cb: ISZERO
000000cc: PUSH2 0x00d4
000000cf: JUMPI
000000d0: PUSH1 0x00
000000d2: DUP1
000000d3: REVERT
000000d4: JUMPDEST
000000d5: PUSH1 0x01
000000d7: PUSH1 0x01
000000d9: PUSH1 0xa0
000000db: SHL
000000dc: SUB
000000dd: DUP3
000000de: CALLDATALOAD
000000df: AND
000000e0: SWAP2
000000e1: SWAP1
000000e2: DUP2
000000e3: ADD
000000e4: SWAP1
000000e5: PUSH1 0x40
000000e7: DUP2
000000e8: ADD
000000e9: PUSH1 0x20
000000eb: DUP3
000000ec: ADD
000000ed: CALLDATALOAD
000000ee: PUSH5 0x0100000000
000000f4: DUP2
000000f5: GT
000000f6: ISZERO
000000f7: PUSH2 0x00ff
000000fa: JUMPI
000000fb: PUSH1 0x00
000000fd: DUP1
000000fe: REVERT
000000ff: JUMPDEST
00000100: DUP3
00000101: ADD
00000102: DUP4
00000103: PUSH1 0x20
00000105: DUP3
00000106: ADD
00000107: GT
00000108: ISZERO
00000109: PUSH2 0x0111
0000010c: JUMPI
0000010d: PUSH1 0x00
0000010f: DUP1
00000110: REVERT
00000111: JUMPDEST
00000112: DUP1
00000113: CALLDATALOAD
00000114: SWAP1
00000115: PUSH1 0x20
00000117: ADD
00000118: SWAP2
00000119: DUP5
0000011a: PUSH1 0x01
0000011c: DUP4
0000011d: MUL
0000011e: DUP5
0000011f: ADD
00000120: GT
00000121: PUSH5 0x0100000000
00000127: DUP4
00000128: GT
00000129: OR
0000012a: ISZERO
0000012b: PUSH2 0x0133
0000012e: JUMPI
0000012f: PUSH1 0x00
00000131: DUP1
00000132: REVERT
00000133: JUMPDEST
00000134: POP
00000135: SWAP1
00000136: SWAP3
00000137: POP
00000138: SWAP1
00000139: POP
0000013a: PUSH2 0x0335
0000013d: JUMP
0000013e: JUMPDEST
0000013f: CALLVALUE
00000140: DUP1
00000141: ISZERO
00000142: PUSH2 0x014a
00000145: JUMPI
00000146: PUSH1 0x00
00000148: DUP1
00000149: REVERT
0000014a: JUMPDEST
0000014b: POP
0000014c: PUSH2 0x0168
0000014f: PUSH1 0x04
00000151: DUP1
00000152: CALLDATASIZE
00000153: SUB
00000154: PUSH1 0x20
00000156: DUP2
00000157: LT
00000158: ISZERO
00000159: PUSH2 0x0161
0000015c: JUMPI
0000015d: PUSH1 0x00
0000015f: DUP1
00000160: REVERT
00000161: JUMPDEST
00000162: POP
00000163: CALLDATALOAD
00000164: PUSH2 0x03e2
00000167: JUMP
00000168: JUMPDEST
00000169: PUSH1 0x40
0000016b: DUP1
0000016c: MLOAD
0000016d: PUSH1 0x01
0000016f: PUSH1 0x01
00000171: PUSH1 0xa0
00000173: SHL
00000174: SUB
00000175: SWAP1
00000176: SWAP3
00000177: AND
00000178: DUP3
00000179: MSTORE
0000017a: MLOAD
0000017b: SWAP1
0000017c: DUP2
0000017d: SWAP1
0000017e: SUB
0000017f: PUSH1 0x20
00000181: ADD
00000182: SWAP1
00000183: RETURN
00000184: JUMPDEST
00000185: CALLVALUE
00000186: DUP1
00000187: ISZERO
00000188: PUSH2 0x0190
0000018b: JUMPI
0000018c: PUSH1 0x00
0000018e: DUP1
0000018f: REVERT
00000190: JUMPDEST
00000191: POP
00000192: PUSH2 0x0168
00000195: PUSH2 0x050d
00000198: JUMP
00000199: JUMPDEST
0000019a: CALLVALUE
0000019b: DUP1
0000019c: ISZERO
0000019d: PUSH2 0x01a5
000001a0: JUMPI
000001a1: PUSH1 0x00
000001a3: DUP1
000001a4: REVERT
000001a5: JUMPDEST
000001a6: POP
000001a7: PUSH2 0x0081
000001aa: PUSH1 0x04
000001ac: DUP1
000001ad: CALLDATASIZE
000001ae: SUB
000001af: PUSH1 0x20
000001b1: DUP2
000001b2: LT
000001b3: ISZERO
000001b4: PUSH2 0x01bc
000001b7: JUMPI
000001b8: PUSH1 0x00
000001ba: DUP1
000001bb: REVERT
000001bc: JUMPDEST
000001bd: POP
000001be: CALLDATALOAD
000001bf: PUSH1 0x01
000001c1: PUSH1 0x01
000001c3: PUSH1 0xa0
000001c5: SHL
000001c6: SUB
000001c7: AND
000001c8: PUSH2 0x054a
000001cb: JUMP
000001cc: JUMPDEST
000001cd: CALLVALUE
000001ce: DUP1
000001cf: ISZERO
000001d0: PUSH2 0x01d8
000001d3: JUMPI
000001d4: PUSH1 0x00
000001d6: DUP1
000001d7: REVERT
000001d8: JUMPDEST
000001d9: POP
000001da: PUSH2 0x0168
000001dd: PUSH2 0x0604
000001e0: JUMP
000001e1: JUMPDEST
000001e2: CALLVALUE
000001e3: DUP1
000001e4: ISZERO
000001e5: PUSH2 0x01ed
000001e8: JUMPI
000001e9: PUSH1 0x00
000001eb: DUP1
000001ec: REVERT
000001ed: JUMPDEST
000001ee: POP
000001ef: PUSH2 0x0291
000001f2: PUSH1 0x04
000001f4: DUP1
000001f5: CALLDATASIZE
000001f6: SUB
000001f7: PUSH1 0x20
000001f9: DUP2
000001fa: LT
000001fb: ISZERO
000001fc: PUSH2 0x0204
000001ff: JUMPI
00000200: PUSH1 0x00
00000202: DUP1
00000203: REVERT
00000204: JUMPDEST
00000205: DUP2
00000206: ADD
00000207: SWAP1
00000208: PUSH1 0x20
0000020a: DUP2
0000020b: ADD
0000020c: DUP2
0000020d: CALLDATALOAD
0000020e: PUSH5 0x0100000000
00000214: DUP2
00000215: GT
00000216: ISZERO
00000217: PUSH2 0x021f
0000021a: JUMPI
0000021b: PUSH1 0x00
0000021d: DUP1
0000021e: REVERT
0000021f: JUMPDEST
00000220: DUP3
00000221: ADD
00000222: DUP4
00000223: PUSH1 0x20
00000225: DUP3
00000226: ADD
00000227: GT
00000228: ISZERO
00000229: PUSH2 0x0231
0000022c: JUMPI
0000022d: PUSH1 0x00
0000022f: DUP1
00000230: REVERT
00000231: JUMPDEST
00000232: DUP1
00000233: CALLDATALOAD
00000234: SWAP1
00000235: PUSH1 0x20
00000237: ADD
00000238: SWAP2
00000239: DUP5
0000023a: PUSH1 0x20
0000023c: DUP4
0000023d: MUL
0000023e: DUP5
0000023f: ADD
00000240: GT
00000241: PUSH5 0x0100000000
00000247: DUP4
00000248: GT
00000249: OR
0000024a: ISZERO
0000024b: PUSH2 0x0253
0000024e: JUMPI
0000024f: PUSH1 0x00
00000251: DUP1
00000252: REVERT
00000253: JUMPDEST
00000254: SWAP2
00000255: SWAP1
00000256: DUP1
00000257: DUP1
00000258: PUSH1 0x20
0000025a: MUL
0000025b: PUSH1 0x20
0000025d: ADD
0000025e: PUSH1 0x40
00000260: MLOAD
00000261: SWAP1
00000262: DUP2
00000263: ADD
00000264: PUSH1 0x40
00000266: MSTORE
00000267: DUP1
00000268: SWAP4
00000269: SWAP3
0000026a: SWAP2
0000026b: SWAP1
0000026c: DUP2
0000026d: DUP2
0000026e: MSTORE
0000026f: PUSH1 0x20
00000271: ADD
00000272: DUP4
00000273: DUP4
00000274: PUSH1 0x20
00000276: MUL
00000277: DUP1
00000278: DUP3
00000279: DUP5
0000027a: CALLDATACOPY
0000027b: PUSH1 0x00
0000027d: SWAP3
0000027e: ADD
0000027f: SWAP2
00000280: SWAP1
00000281: SWAP2
00000282: MSTORE
00000283: POP
00000284: SWAP3
00000285: SWAP6
00000286: POP
00000287: PUSH2 0x062f
0000028a: SWAP5
0000028b: POP
0000028c: POP
0000028d: POP
0000028e: POP
0000028f: POP
00000290: JUMP
00000291: JUMPDEST
00000292: PUSH1 0x40
00000294: DUP1
00000295: MLOAD
00000296: PUSH1 0x20
00000298: DUP1
00000299: DUP3
0000029a: MSTORE
0000029b: DUP4
0000029c: MLOAD
0000029d: DUP2
0000029e: DUP4
0000029f: ADD
000002a0: MSTORE
000002a1: DUP4
000002a2: MLOAD
000002a3: SWAP2
000002a4: SWAP3
000002a5: DUP4
000002a6: SWAP3
000002a7: SWAP1
000002a8: DUP4
000002a9: ADD
000002aa: SWAP2
000002ab: DUP6
000002ac: DUP2
000002ad: ADD
000002ae: SWAP2
000002af: MUL
000002b0: DUP1
000002b1: DUP4
000002b2: DUP4
000002b3: PUSH1 0x00
000002b5: JUMPDEST
000002b6: DUP4
000002b7: DUP2
000002b8: LT
000002b9: ISZERO
000002ba: PUSH2 0x02cd
000002bd: JUMPI
000002be: DUP2
000002bf: DUP2
000002c0: ADD
000002c1: MLOAD
000002c2: DUP4
000002c3: DUP3
000002c4: ADD
000002c5: MSTORE
000002c6: PUSH1 0x20
000002c8: ADD
000002c9: PUSH2 0x02b5
000002cc: JUMP
000002cd: JUMPDEST
000002ce: POP
000002cf: POP
000002d0: POP
000002d1: POP
000002d2: SWAP1
000002d3: POP
000002d4: ADD
000002d5: SWAP3
000002d6: POP
000002d7: POP
000002d8: POP
000002d9: PUSH1 0x40
000002db: MLOAD
000002dc: DUP1
000002dd: SWAP2
000002de: SUB
000002df: SWAP1
000002e0: RETURN
000002e1: JUMPDEST
000002e2: PUSH2 0x02e9
000002e5: PUSH2 0x02f9
000002e8: JUMP
000002e9: JUMPDEST
000002ea: PUSH2 0x02f9
000002ed: PUSH2 0x02f4
000002f0: PUSH2 0x06d6
000002f3: JUMP
000002f4: JUMPDEST
000002f5: PUSH2 0x06fb
000002f8: JUMP
000002f9: JUMPDEST
000002fa: JUMP
000002fb: JUMPDEST
000002fc: PUSH2 0x0303
000002ff: PUSH2 0x071f
00000302: JUMP
00000303: JUMPDEST
00000304: PUSH1 0x01
00000306: PUSH1 0x01
00000308: PUSH1 0xa0
0000030a: SHL
0000030b: SUB
0000030c: AND
0000030d: CALLER
0000030e: PUSH1 0x01
00000310: PUSH1 0x01
00000312: PUSH1 0xa0
00000314: SHL
00000315: SUB
00000316: AND
00000317: EQ
00000318: ISZERO
00000319: PUSH2 0x032a
0000031c: JUMPI
0000031d: PUSH2 0x0325
00000320: DUP2
00000321: PUSH2 0x0744
00000324: JUMP
00000325: JUMPDEST
00000326: PUSH2 0x0332
00000329: JUMP
0000032a: JUMPDEST
0000032b: PUSH2 0x0332
0000032e: PUSH2 0x02e1
00000331: JUMP
00000332: JUMPDEST
00000333: POP
00000334: JUMP
00000335: JUMPDEST
00000336: PUSH2 0x033d
00000339: PUSH2 0x071f
0000033c: JUMP
0000033d: JUMPDEST
0000033e: PUSH1 0x01
00000340: PUSH1 0x01
00000342: PUSH1 0xa0
00000344: SHL
00000345: SUB
00000346: AND
00000347: CALLER
00000348: PUSH1 0x01
0000034a: PUSH1 0x01
0000034c: PUSH1 0xa0
0000034e: SHL
0000034f: SUB
00000350: AND
00000351: EQ
00000352: ISZERO
00000353: PUSH2 0x03d5
00000356: JUMPI
00000357: PUSH2 0x035f
0000035a: DUP4
0000035b: PUSH2 0x0744
0000035e: JUMP
0000035f: JUMPDEST
00000360: PUSH1 0x00
00000362: DUP4
00000363: PUSH1 0x01
00000365: PUSH1 0x01
00000367: PUSH1 0xa0
00000369: SHL
0000036a: SUB
0000036b: AND
0000036c: DUP4
0000036d: DUP4
0000036e: PUSH1 0x40
00000370: MLOAD
00000371: DUP1
00000372: DUP4
00000373: DUP4
00000374: DUP1
00000375: DUP3
00000376: DUP5
00000377: CALLDATACOPY
00000378: PUSH1 0x40
0000037a: MLOAD
0000037b: SWAP3
0000037c: ADD
0000037d: SWAP5
0000037e: POP
0000037f: PUSH1 0x00
00000381: SWAP4
00000382: POP
00000383: SWAP1
00000384: SWAP2
00000385: POP
00000386: POP
00000387: DUP1
00000388: DUP4
00000389: SUB
0000038a: DUP2
0000038b: DUP6
0000038c: GAS
0000038d: DELEGATECALL
0000038e: SWAP2
0000038f: POP
00000390: POP
00000391: RETURNDATASIZE
00000392: DUP1
00000393: PUSH1 0x00
00000395: DUP2
00000396: EQ
00000397: PUSH2 0x03bc
0000039a: JUMPI
0000039b: PUSH1 0x40
0000039d: MLOAD
0000039e: SWAP2
0000039f: POP
000003a0: PUSH1 0x1f
000003a2: NOT
000003a3: PUSH1 0x3f
000003a5: RETURNDATASIZE
000003a6: ADD
000003a7: AND
000003a8: DUP3
000003a9: ADD
000003aa: PUSH1 0x40
000003ac: MSTORE
000003ad: RETURNDATASIZE
000003ae: DUP3
000003af: MSTORE
000003b0: RETURNDATASIZE
000003b1: PUSH1 0x00
000003b3: PUSH1 0x20
000003b5: DUP5
000003b6: ADD
000003b7: RETURNDATACOPY
000003b8: PUSH2 0x03c1
000003bb: JUMP
000003bc: JUMPDEST
000003bd: PUSH1 0x60
000003bf: SWAP2
000003c0: POP
000003c1: JUMPDEST
000003c2: POP
000003c3: POP
000003c4: SWAP1
000003c5: POP
000003c6: DUP1
000003c7: PUSH2 0x03cf
000003ca: JUMPI
000003cb: PUSH1 0x00
000003cd: DUP1
000003ce: REVERT
000003cf: JUMPDEST
000003d0: POP
000003d1: PUSH2 0x03dd
000003d4: JUMP
000003d5: JUMPDEST
000003d6: PUSH2 0x03dd
000003d9: PUSH2 0x02e1
000003dc: JUMP
000003dd: JUMPDEST
000003de: POP
000003df: POP
000003e0: POP
000003e1: JUMP
000003e2: JUMPDEST
000003e3: PUSH1 0x00
000003e5: DUP1
000003e6: PUSH2 0x03ed
000003e9: PUSH2 0x0784
000003ec: JUMP
000003ed: JUMPDEST
000003ee: PUSH1 0x01
000003f0: EQ
000003f1: PUSH2 0x040e
000003f4: JUMPI
000003f5: PUSH20 0x8595bfb0d940dfedc98943fa8a907091203f25ee
0000040a: PUSH2 0x041f
0000040d: JUMP
0000040e: JUMPDEST
0000040f: PUSH15 0x0c2e074ec69a0dfb2997ba6c7d2e1e
0000041f: JUMPDEST
00000420: SWAP1
00000421: POP
00000422: DUP1
00000423: PUSH1 0x01
00000425: PUSH1 0x01
00000427: PUSH1 0xa0
00000429: SHL
0000042a: SUB
0000042b: AND
0000042c: PUSH4 0x0178b8bf
00000431: DUP5
00000432: PUSH1 0x40
00000434: MLOAD
00000435: DUP3
00000436: PUSH4 0xffffffff
0000043b: AND
0000043c: PUSH1 0xe0
0000043e: SHL
0000043f: DUP2
00000440: MSTORE
00000441: PUSH1 0x04
00000443: ADD
00000444: DUP1
00000445: DUP3
00000446: DUP2
00000447: MSTORE
00000448: PUSH1 0x20
0000044a: ADD
0000044b: SWAP2
0000044c: POP
0000044d: POP
0000044e: PUSH1 0x20
00000450: PUSH1 0x40
00000452: MLOAD
00000453: DUP1
00000454: DUP4
00000455: SUB
00000456: DUP2
00000457: DUP7
00000458: DUP1
00000459: EXTCODESIZE
0000045a: ISZERO
0000045b: DUP1
0000045c: ISZERO
0000045d: PUSH2 0x0465
00000460: JUMPI
00000461: PUSH1 0x00
00000463: DUP1
00000464: REVERT
00000465: JUMPDEST
00000466: POP
00000467: GAS
00000468: STATICCALL
00000469: ISZERO
0000046a: DUP1
0000046b: ISZERO
0000046c: PUSH2 0x0479
0000046f: JUMPI
00000470: RETURNDATASIZE
00000471: PUSH1 0x00
00000473: DUP1
00000474: RETURNDATACOPY
00000475: RETURNDATASIZE
00000476: PUSH1 0x00
00000478: REVERT
00000479: JUMPDEST
0000047a: POP
0000047b: POP
0000047c: POP
0000047d: POP
0000047e: PUSH1 0x40
00000480: MLOAD
00000481: RETURNDATASIZE
00000482: PUSH1 0x20
00000484: DUP2
00000485: LT
00000486: ISZERO
00000487: PUSH2 0x048f
0000048a: JUMPI
0000048b: PUSH1 0x00
0000048d: DUP1
0000048e: REVERT
0000048f: JUMPDEST
00000490: POP
00000491: MLOAD
00000492: PUSH1 0x40
00000494: DUP1
00000495: MLOAD
00000496: PUSH4 0x1d9dabef
0000049b: PUSH1 0xe1
0000049d: SHL
0000049e: DUP2
0000049f: MSTORE
000004a0: PUSH1 0x04
000004a2: DUP2
000004a3: ADD
000004a4: DUP7
000004a5: SWAP1
000004a6: MSTORE
000004a7: SWAP1
000004a8: MLOAD
000004a9: PUSH1 0x01
000004ab: PUSH1 0x01
000004ad: PUSH1 0xa0
000004af: SHL
000004b0: SUB
000004b1: SWAP1
000004b2: SWAP3
000004b3: AND
000004b4: SWAP2
000004b5: PUSH4 0x3b3b57de
000004ba: SWAP2
000004bb: PUSH1 0x24
000004bd: DUP1
000004be: DUP3
000004bf: ADD
000004c0: SWAP3
000004c1: PUSH1 0x20
000004c3: SWAP3
000004c4: SWAP1
000004c5: SWAP2
000004c6: SWAP1
000004c7: DUP3
000004c8: SWAP1
000004c9: SUB
000004ca: ADD
000004cb: DUP2
000004cc: DUP7
000004cd: DUP1
000004ce: EXTCODESIZE
000004cf: ISZERO
000004d0: DUP1
000004d1: ISZERO
000004d2: PUSH2 0x04da
000004d5: JUMPI
000004d6: PUSH1 0x00
000004d8: DUP1
000004d9: REVERT
000004da: JUMPDEST
000004db: POP
000004dc: GAS
000004dd: STATICCALL
000004de: ISZERO
000004df: DUP1
000004e0: ISZERO
000004e1: PUSH2 0x04ee
000004e4: JUMPI
000004e5: RETURNDATASIZE
000004e6: PUSH1 0x00
000004e8: DUP1
000004e9: RETURNDATACOPY
000004ea: RETURNDATASIZE
000004eb: PUSH1 0x00
000004ed: REVERT
000004ee: JUMPDEST
000004ef: POP
000004f0: POP
000004f1: POP
000004f2: POP
000004f3: PUSH1 0x40
000004f5: MLOAD
000004f6: RETURNDATASIZE
000004f7: PUSH1 0x20
000004f9: DUP2
000004fa: LT
000004fb: ISZERO
000004fc: PUSH2 0x0504
000004ff: JUMPI
00000500: PUSH1 0x00
00000502: DUP1
00000503: REVERT
00000504: JUMPDEST
00000505: POP
00000506: MLOAD
00000507: SWAP4
00000508: SWAP3
00000509: POP
0000050a: POP
0000050b: POP
0000050c: JUMP
0000050d: JUMPDEST
0000050e: PUSH1 0x00
00000510: PUSH2 0x0517
00000513: PUSH2 0x071f
00000516: JUMP
00000517: JUMPDEST
00000518: PUSH1 0x01
0000051a: PUSH1 0x01
0000051c: PUSH1 0xa0
0000051e: SHL
0000051f: SUB
00000520: AND
00000521: CALLER
00000522: PUSH1 0x01
00000524: PUSH1 0x01
00000526: PUSH1 0xa0
00000528: SHL
00000529: SUB
0000052a: AND
0000052b: EQ
0000052c: ISZERO
0000052d: PUSH2 0x053f
00000530: JUMPI
00000531: PUSH2 0x0538
00000534: PUSH2 0x06d6
00000537: JUMP
00000538: JUMPDEST
00000539: SWAP1
0000053a: POP
0000053b: PUSH2 0x0547
0000053e: JUMP
0000053f: JUMPDEST
00000540: PUSH2 0x0547
00000543: PUSH2 0x02e1
00000546: JUMP
00000547: JUMPDEST
00000548: SWAP1
00000549: JUMP
0000054a: JUMPDEST
0000054b: PUSH2 0x0552
0000054e: PUSH2 0x071f
00000551: JUMP
00000552: JUMPDEST
00000553: PUSH1 0x01
00000555: PUSH1 0x01
00000557: PUSH1 0xa0
00000559: SHL
0000055a: SUB
0000055b: AND
0000055c: CALLER
0000055d: PUSH1 0x01
0000055f: PUSH1 0x01
00000561: PUSH1 0xa0
00000563: SHL
00000564: SUB
00000565: AND
00000566: EQ
00000567: ISZERO
00000568: PUSH2 0x032a
0000056b: JUMPI
0000056c: PUSH1 0x01
0000056e: PUSH1 0x01
00000570: PUSH1 0xa0
00000572: SHL
00000573: SUB
00000574: DUP2
00000575: AND
00000576: PUSH2 0x05b0
00000579: JUMPI
0000057a: PUSH1 0x40
0000057c: MLOAD
0000057d: PUSH3 0x461bcd
00000581: PUSH1 0xe5
00000583: SHL
00000584: DUP2
00000585: MSTORE
00000586: PUSH1 0x04
00000588: ADD
00000589: DUP1
0000058a: DUP1
0000058b: PUSH1 0x20
0000058d: ADD
0000058e: DUP3
0000058f: DUP2
00000590: SUB
00000591: DUP3
00000592: MSTORE
00000593: PUSH1 0x3a
00000595: DUP2
00000596: MSTORE
00000597: PUSH1 0x20
00000599: ADD
0000059a: DUP1
0000059b: PUSH2 0x0815
0000059e: PUSH1 0x3a
000005a0: SWAP2
000005a1: CODECOPY
000005a2: PUSH1 0x40
000005a4: ADD
000005a5: SWAP2
000005a6: POP
000005a7: POP
000005a8: PUSH1 0x40
000005aa: MLOAD
000005ab: DUP1
000005ac: SWAP2
000005ad: SUB
000005ae: SWAP1
000005af: REVERT
000005b0: JUMPDEST
000005b1: PUSH32 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f
000005d2: PUSH2 0x05d9
000005d5: PUSH2 0x071f
000005d8: JUMP
000005d9: JUMPDEST
000005da: PUSH1 0x40
000005dc: DUP1
000005dd: MLOAD
000005de: PUSH1 0x01
000005e0: PUSH1 0x01
000005e2: PUSH1 0xa0
000005e4: SHL
000005e5: SUB
000005e6: SWAP3
000005e7: DUP4
000005e8: AND
000005e9: DUP2
000005ea: MSTORE
000005eb: SWAP2
000005ec: DUP5
000005ed: AND
000005ee: PUSH1 0x20
000005f0: DUP4
000005f1: ADD
000005f2: MSTORE
000005f3: DUP1
000005f4: MLOAD
000005f5: SWAP2
000005f6: DUP3
000005f7: SWAP1
000005f8: SUB
000005f9: ADD
000005fa: SWAP1
000005fb: LOG1
000005fc: PUSH2 0x0325
000005ff: DUP2
00000600: PUSH2 0x0788
00000603: JUMP
00000604: JUMPDEST
00000605: PUSH1 0x00
00000607: PUSH2 0x060e
0000060a: PUSH2 0x071f
0000060d: JUMP
0000060e: JUMPDEST
0000060f: PUSH1 0x01
00000611: PUSH1 0x01
00000613: PUSH1 0xa0
00000615: SHL
00000616: SUB
00000617: AND
00000618: CALLER
00000619: PUSH1 0x01
0000061b: PUSH1 0x01
0000061d: PUSH1 0xa0
0000061f: SHL
00000620: SUB
00000621: AND
00000622: EQ
00000623: ISZERO
00000624: PUSH2 0x053f
00000627: JUMPI
00000628: PUSH2 0x0538
0000062b: PUSH2 0x071f
0000062e: JUMP
0000062f: JUMPDEST
00000630: PUSH1 0x60
00000632: DUP2
00000633: MLOAD
00000634: PUSH8 0xffffffffffffffff
0000063d: DUP2
0000063e: GT
0000063f: DUP1
00000640: ISZERO
00000641: PUSH2 0x0649
00000644: JUMPI
00000645: PUSH1 0x00
00000647: DUP1
00000648: REVERT
00000649: JUMPDEST
0000064a: POP
0000064b: PUSH1 0x40
0000064d: MLOAD
0000064e: SWAP1
0000064f: DUP1
00000650: DUP3
00000651: MSTORE
00000652: DUP1
00000653: PUSH1 0x20
00000655: MUL
00000656: PUSH1 0x20
00000658: ADD
00000659: DUP3
0000065a: ADD
0000065b: PUSH1 0x40
0000065d: MSTORE
0000065e: DUP1
0000065f: ISZERO
00000660: PUSH2 0x0673
00000663: JUMPI
00000664: DUP2
00000665: PUSH1 0x20
00000667: ADD
00000668: PUSH1 0x20
0000066a: DUP3
0000066b: MUL
0000066c: DUP1
0000066d: CALLDATASIZE
0000066e: DUP4
0000066f: CALLDATACOPY
00000670: ADD
00000671: SWAP1
00000672: POP
00000673: JUMPDEST
00000674: POP
00000675: SWAP1
00000676: POP
00000677: PUSH1 0x00
00000679: JUMPDEST
0000067a: DUP3
0000067b: MLOAD
0000067c: DUP2
0000067d: LT
0000067e: ISZERO
0000067f: PUSH2 0x06ca
00000682: JUMPI
00000683: PUSH2 0x069e
00000686: DUP4
00000687: DUP3
00000688: DUP2
00000689: MLOAD
0000068a: DUP2
0000068b: LT
0000068c: PUSH2 0x0691
0000068f: JUMPI
00000690: INVALID
00000691: JUMPDEST
00000692: PUSH1 0x20
00000694: MUL
00000695: PUSH1 0x20
00000697: ADD
00000698: ADD
00000699: MLOAD
0000069a: PUSH2 0x03e2
0000069d: JUMP
0000069e: JUMPDEST
0000069f: DUP3
000006a0: DUP3
000006a1: DUP2
000006a2: MLOAD
000006a3: DUP2
000006a4: LT
000006a5: PUSH2 0x06aa
000006a8: JUMPI
000006a9: INVALID
000006aa: JUMPDEST
000006ab: PUSH1 0x01
000006ad: PUSH1 0x01
000006af: PUSH1 0xa0
000006b1: SHL
000006b2: SUB
000006b3: SWAP1
000006b4: SWAP3
000006b5: AND
000006b6: PUSH1 0x20
000006b8: SWAP3
000006b9: DUP4
000006ba: MUL
000006bb: SWAP2
000006bc: SWAP1
000006bd: SWAP2
000006be: ADD
000006bf: SWAP1
000006c0: SWAP2
000006c1: ADD
000006c2: MSTORE
000006c3: PUSH1 0x01
000006c5: ADD
000006c6: PUSH2 0x0679
000006c9: JUMP
000006ca: JUMPDEST
000006cb: POP
000006cc: SWAP2
000006cd: SWAP1
000006ce: POP
000006cf: JUMP
000006d0: JUMPDEST
000006d1: EXTCODESIZE
000006d2: ISZERO
000006d3: ISZERO
000006d4: SWAP1
000006d5: JUMP
000006d6: JUMPDEST
000006d7: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
000006f8: SLOAD
000006f9: SWAP1
000006fa: JUMP
000006fb: JUMPDEST
000006fc: CALLDATASIZE
000006fd: PUSH1 0x00
000006ff: DUP1
00000700: CALLDATACOPY
00000701: PUSH1 0x00
00000703: DUP1
00000704: CALLDATASIZE
00000705: PUSH1 0x00
00000707: DUP5
00000708: GAS
00000709: DELEGATECALL
0000070a: RETURNDATASIZE
0000070b: PUSH1 0x00
0000070d: DUP1
0000070e: RETURNDATACOPY
0000070f: DUP1
00000710: DUP1
00000711: ISZERO
00000712: PUSH2 0x071a
00000715: JUMPI
00000716: RETURNDATASIZE
00000717: PUSH1 0x00
00000719: RETURN
0000071a: JUMPDEST
0000071b: RETURNDATASIZE
0000071c: PUSH1 0x00
0000071e: REVERT
0000071f: JUMPDEST
00000720: PUSH32 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103
00000741: SLOAD
00000742: SWAP1
00000743: JUMP
00000744: JUMPDEST
00000745: PUSH2 0x074d
00000748: DUP2
00000749: PUSH2 0x07ac
0000074c: JUMP
0000074d: JUMPDEST
0000074e: PUSH1 0x40
00000750: MLOAD
00000751: PUSH1 0x01
00000753: PUSH1 0x01
00000755: PUSH1 0xa0
00000757: SHL
00000758: SUB
00000759: DUP3
0000075a: AND
0000075b: SWAP1
0000075c: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b
0000077d: SWAP1
0000077e: PUSH1 0x00
00000780: SWAP1
00000781: LOG2
00000782: POP
00000783: JUMP
00000784: JUMPDEST
00000785: CHAINID
00000786: SWAP1
00000787: JUMP
00000788: JUMPDEST
00000789: PUSH32 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103
000007aa: SSTORE
000007ab: JUMP
000007ac: JUMPDEST
000007ad: PUSH2 0x07b5
000007b0: DUP2
000007b1: PUSH2 0x06d0
000007b4: JUMP
000007b5: JUMPDEST
000007b6: PUSH2 0x07f0
000007b9: JUMPI
000007ba: PUSH1 0x40
000007bc: MLOAD
000007bd: PUSH3 0x461bcd
000007c1: PUSH1 0xe5
000007c3: SHL
000007c4: DUP2
000007c5: MSTORE
000007c6: PUSH1 0x04
000007c8: ADD
000007c9: DUP1
000007ca: DUP1
000007cb: PUSH1 0x20
000007cd: ADD
000007ce: DUP3
000007cf: DUP2
000007d0: SUB
000007d1: DUP3
000007d2: MSTORE
000007d3: PUSH1 0x36
000007d5: DUP2
000007d6: MSTORE
000007d7: PUSH1 0x20
000007d9: ADD
000007da: DUP1
000007db: PUSH2 0x084f
000007de: PUSH1 0x36
000007e0: SWAP2
000007e1: CODECOPY
000007e2: PUSH1 0x40
000007e4: ADD
000007e5: SWAP2
000007e6: POP
000007e7: POP
000007e8: PUSH1 0x40
000007ea: MLOAD
000007eb: DUP1
000007ec: SWAP2
000007ed: SUB
000007ee: SWAP1
000007ef: REVERT
000007f0: JUMPDEST
000007f1: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00000812: SSTORE
00000813: JUMP
00000814: INVALID
00000815: SLOAD
00000816: PUSH19 0x616e73706172656e745570677261646561626c
0000082a: PUSH6 0x50726f78793a
00000831: KECCAK256
00000832: PUSH15 0x65772061646d696e20697320746865
00000842: KECCAK256
00000843: PUSH27 0x65726f20616464726573735570677261646561626c6550726f7879
0000085f: GASPRICE
00000860: KECCAK256
00000861: PUSH15 0x657720696d706c656d656e74617469
00000871: PUSH16 0x6e206973206e6f74206120636f6e7472
00000882: PUSH2 0x6374
00000885: LOG2
00000886: PUSH5 0x6970667358
0000088c: UNKNOWN(0x22)
0000088d: SLT
0000088e: KECCAK256
0000088f: UNKNOWN(0x4D)
00000890: PUSH27 0xa4d7341a408cae5346a7ec8cedb4c9e21f7ad7dc73506735d22c45
000008ac: UNKNOWN(0xC8)
000008ad: UNKNOWN(0x0C)
000008ae: PUSH3 0x64736f
000008b2: PUSH13

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: 0xe9e27e60ac17e62059852b3552a26dca60d16bb546f74e2176eea44b6988785d
call_targets: 0xbf46f2222c0712caf2f13b8590732dbd964ce395
target_varies: no
classification: constant_target
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xe9e27e60ac17e62059852b3552a26dca60d16bb546f74e2176eea44b6988785d",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xbf46f2222c0712caf2f13b8590732dbd964ce395"
    ],
    "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": "0x5c60da1b",
            "selector": "0x5c60da1b",
            "calldata_variants": [
                "0x5c60da1b",
                "0x5c60da1b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8f283970",
            "selector": "0x8f283970",
            "calldata_variants": [
                "0x8f283970",
                "0x8f2839700000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf851a440",
            "selector": "0xf851a440",
            "calldata_variants": [
                "0xf851a440",
                "0xf851a4400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf9e54234",
            "selector": "0xf9e54234",
            "calldata_variants": [
                "0xf9e54234",
                "0xf9e542340000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3659cfe6",
            "selector": "0x3659cfe6",
            "calldata_variants": [
                "0x3659cfe6",
                "0x3659cfe60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4f1ef286",
            "selector": "0x4f1ef286",
            "calldata_variants": [
                "0x4f1ef286",
                "0x4f1ef2860000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5c23bdf5",
            "selector": "0x5c23bdf5",
            "calldata_variants": [
                "0x5c23bdf5",
                "0x5c23bdf50000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 909,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 1801,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 2,
    "untrusted_delegatecall_count": 2
}