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

Analysis Run

019ba90e-2a02-72c9-8a20-1e04193e84e7

complete
Chain ID
1
Address
Block Number
Created
Sat, Jan 10, 2026 5:57 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 proxy context implementation known
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
34589 artifact.fetch complete 1 / 3 3 months ago
34590 proxy.resolve complete 1 / 3 3 months ago
34591 tool.cast_disasm complete 1 / 3 3 months ago
34592 analysis.bundle complete 1 / 3 3 months ago
34593 capability.graph complete 1 / 3 3 months ago
34594 detector.run complete 1 / 3 3 months ago
34595 validation.fork complete 1 / 3 3 months ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: yes confirmed
Verified Source: yes
Proxy evidence
{
    "method": "etherscan+onchain",
    "status": "confirmed",
    "etherscan_hint": {
        "source": "etherscan",
        "etherscan": {
            "proxy_flag": true,
            "implementation": "0x8d0d4cd16a93fa1e3e55ff6d112b084109846e3a"
        }
    },
    "implementation": "0x8d0d4cd16a93fa1e3e55ff6d112b084109846e3a",
    "onchain_method": "eip1967"
}

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)
0
EXT*/BALANCE
1
Total opcodes
847
Flags
delegatecall_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 0x3659cfe6
00000019: EQ
0000001a: PUSH2 0x005f
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0x4f1ef286
00000024: EQ
00000025: PUSH2 0x0092
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0x5c60da1b
0000002f: EQ
00000030: PUSH2 0x0112
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0x8f283970
0000003a: EQ
0000003b: PUSH2 0x0143
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xf851a440
00000045: EQ
00000046: PUSH2 0x0176
00000049: JUMPI
0000004a: PUSH2 0x0055
0000004d: JUMP
0000004e: JUMPDEST
0000004f: CALLDATASIZE
00000050: PUSH2 0x0055
00000053: JUMPI
00000054: STOP
00000055: JUMPDEST
00000056: PUSH2 0x005d
00000059: PUSH2 0x018b
0000005c: JUMP
0000005d: JUMPDEST
0000005e: STOP
0000005f: JUMPDEST
00000060: CALLVALUE
00000061: DUP1
00000062: ISZERO
00000063: PUSH2 0x006b
00000066: JUMPI
00000067: PUSH1 0x00
00000069: DUP1
0000006a: REVERT
0000006b: JUMPDEST
0000006c: POP
0000006d: PUSH2 0x005d
00000070: PUSH1 0x04
00000072: DUP1
00000073: CALLDATASIZE
00000074: SUB
00000075: PUSH1 0x20
00000077: DUP2
00000078: LT
00000079: ISZERO
0000007a: PUSH2 0x0082
0000007d: JUMPI
0000007e: PUSH1 0x00
00000080: DUP1
00000081: REVERT
00000082: JUMPDEST
00000083: POP
00000084: CALLDATALOAD
00000085: PUSH1 0x01
00000087: PUSH1 0x01
00000089: PUSH1 0xa0
0000008b: SHL
0000008c: SUB
0000008d: AND
0000008e: PUSH2 0x01a5
00000091: JUMP
00000092: JUMPDEST
00000093: PUSH2 0x005d
00000096: PUSH1 0x04
00000098: DUP1
00000099: CALLDATASIZE
0000009a: SUB
0000009b: PUSH1 0x40
0000009d: DUP2
0000009e: LT
0000009f: ISZERO
000000a0: PUSH2 0x00a8
000000a3: JUMPI
000000a4: PUSH1 0x00
000000a6: DUP1
000000a7: REVERT
000000a8: JUMPDEST
000000a9: PUSH1 0x01
000000ab: PUSH1 0x01
000000ad: PUSH1 0xa0
000000af: SHL
000000b0: SUB
000000b1: DUP3
000000b2: CALLDATALOAD
000000b3: AND
000000b4: SWAP2
000000b5: SWAP1
000000b6: DUP2
000000b7: ADD
000000b8: SWAP1
000000b9: PUSH1 0x40
000000bb: DUP2
000000bc: ADD
000000bd: PUSH1 0x20
000000bf: DUP3
000000c0: ADD
000000c1: CALLDATALOAD
000000c2: PUSH5 0x0100000000
000000c8: DUP2
000000c9: GT
000000ca: ISZERO
000000cb: PUSH2 0x00d3
000000ce: JUMPI
000000cf: PUSH1 0x00
000000d1: DUP1
000000d2: REVERT
000000d3: JUMPDEST
000000d4: DUP3
000000d5: ADD
000000d6: DUP4
000000d7: PUSH1 0x20
000000d9: DUP3
000000da: ADD
000000db: GT
000000dc: ISZERO
000000dd: PUSH2 0x00e5
000000e0: JUMPI
000000e1: PUSH1 0x00
000000e3: DUP1
000000e4: REVERT
000000e5: JUMPDEST
000000e6: DUP1
000000e7: CALLDATALOAD
000000e8: SWAP1
000000e9: PUSH1 0x20
000000eb: ADD
000000ec: SWAP2
000000ed: DUP5
000000ee: PUSH1 0x01
000000f0: DUP4
000000f1: MUL
000000f2: DUP5
000000f3: ADD
000000f4: GT
000000f5: PUSH5 0x0100000000
000000fb: DUP4
000000fc: GT
000000fd: OR
000000fe: ISZERO
000000ff: PUSH2 0x0107
00000102: JUMPI
00000103: PUSH1 0x00
00000105: DUP1
00000106: REVERT
00000107: JUMPDEST
00000108: POP
00000109: SWAP1
0000010a: SWAP3
0000010b: POP
0000010c: SWAP1
0000010d: POP
0000010e: PUSH2 0x01df
00000111: JUMP
00000112: JUMPDEST
00000113: CALLVALUE
00000114: DUP1
00000115: ISZERO
00000116: PUSH2 0x011e
00000119: JUMPI
0000011a: PUSH1 0x00
0000011c: DUP1
0000011d: REVERT
0000011e: JUMPDEST
0000011f: POP
00000120: PUSH2 0x0127
00000123: PUSH2 0x028c
00000126: JUMP
00000127: JUMPDEST
00000128: PUSH1 0x40
0000012a: DUP1
0000012b: MLOAD
0000012c: PUSH1 0x01
0000012e: PUSH1 0x01
00000130: PUSH1 0xa0
00000132: SHL
00000133: SUB
00000134: SWAP1
00000135: SWAP3
00000136: AND
00000137: DUP3
00000138: MSTORE
00000139: MLOAD
0000013a: SWAP1
0000013b: DUP2
0000013c: SWAP1
0000013d: SUB
0000013e: PUSH1 0x20
00000140: ADD
00000141: SWAP1
00000142: RETURN
00000143: JUMPDEST
00000144: CALLVALUE
00000145: DUP1
00000146: ISZERO
00000147: PUSH2 0x014f
0000014a: JUMPI
0000014b: PUSH1 0x00
0000014d: DUP1
0000014e: REVERT
0000014f: JUMPDEST
00000150: POP
00000151: PUSH2 0x005d
00000154: PUSH1 0x04
00000156: DUP1
00000157: CALLDATASIZE
00000158: SUB
00000159: PUSH1 0x20
0000015b: DUP2
0000015c: LT
0000015d: ISZERO
0000015e: PUSH2 0x0166
00000161: JUMPI
00000162: PUSH1 0x00
00000164: DUP1
00000165: REVERT
00000166: JUMPDEST
00000167: POP
00000168: CALLDATALOAD
00000169: PUSH1 0x01
0000016b: PUSH1 0x01
0000016d: PUSH1 0xa0
0000016f: SHL
00000170: SUB
00000171: AND
00000172: PUSH2 0x02c9
00000175: JUMP
00000176: JUMPDEST
00000177: CALLVALUE
00000178: DUP1
00000179: ISZERO
0000017a: PUSH2 0x0182
0000017d: JUMPI
0000017e: PUSH1 0x00
00000180: DUP1
00000181: REVERT
00000182: JUMPDEST
00000183: POP
00000184: PUSH2 0x0127
00000187: PUSH2 0x0383
0000018a: JUMP
0000018b: JUMPDEST
0000018c: PUSH2 0x0193
0000018f: PUSH2 0x03b4
00000192: JUMP
00000193: JUMPDEST
00000194: PUSH2 0x01a3
00000197: PUSH2 0x019e
0000019a: PUSH2 0x0414
0000019d: JUMP
0000019e: JUMPDEST
0000019f: PUSH2 0x0439
000001a2: JUMP
000001a3: JUMPDEST
000001a4: JUMP
000001a5: JUMPDEST
000001a6: PUSH2 0x01ad
000001a9: PUSH2 0x045d
000001ac: JUMP
000001ad: JUMPDEST
000001ae: PUSH1 0x01
000001b0: PUSH1 0x01
000001b2: PUSH1 0xa0
000001b4: SHL
000001b5: SUB
000001b6: AND
000001b7: CALLER
000001b8: PUSH1 0x01
000001ba: PUSH1 0x01
000001bc: PUSH1 0xa0
000001be: SHL
000001bf: SUB
000001c0: AND
000001c1: EQ
000001c2: ISZERO
000001c3: PUSH2 0x01d4
000001c6: JUMPI
000001c7: PUSH2 0x01cf
000001ca: DUP2
000001cb: PUSH2 0x0482
000001ce: JUMP
000001cf: JUMPDEST
000001d0: PUSH2 0x01dc
000001d3: JUMP
000001d4: JUMPDEST
000001d5: PUSH2 0x01dc
000001d8: PUSH2 0x018b
000001db: JUMP
000001dc: JUMPDEST
000001dd: POP
000001de: JUMP
000001df: JUMPDEST
000001e0: PUSH2 0x01e7
000001e3: PUSH2 0x045d
000001e6: JUMP
000001e7: JUMPDEST
000001e8: PUSH1 0x01
000001ea: PUSH1 0x01
000001ec: PUSH1 0xa0
000001ee: SHL
000001ef: SUB
000001f0: AND
000001f1: CALLER
000001f2: PUSH1 0x01
000001f4: PUSH1 0x01
000001f6: PUSH1 0xa0
000001f8: SHL
000001f9: SUB
000001fa: AND
000001fb: EQ
000001fc: ISZERO
000001fd: PUSH2 0x027f
00000200: JUMPI
00000201: PUSH2 0x0209
00000204: DUP4
00000205: PUSH2 0x0482
00000208: JUMP
00000209: JUMPDEST
0000020a: PUSH1 0x00
0000020c: DUP4
0000020d: PUSH1 0x01
0000020f: PUSH1 0x01
00000211: PUSH1 0xa0
00000213: SHL
00000214: SUB
00000215: AND
00000216: DUP4
00000217: DUP4
00000218: PUSH1 0x40
0000021a: MLOAD
0000021b: DUP1
0000021c: DUP4
0000021d: DUP4
0000021e: DUP1
0000021f: DUP3
00000220: DUP5
00000221: CALLDATACOPY
00000222: PUSH1 0x40
00000224: MLOAD
00000225: SWAP3
00000226: ADD
00000227: SWAP5
00000228: POP
00000229: PUSH1 0x00
0000022b: SWAP4
0000022c: POP
0000022d: SWAP1
0000022e: SWAP2
0000022f: POP
00000230: POP
00000231: DUP1
00000232: DUP4
00000233: SUB
00000234: DUP2
00000235: DUP6
00000236: GAS
00000237: DELEGATECALL
00000238: SWAP2
00000239: POP
0000023a: POP
0000023b: RETURNDATASIZE
0000023c: DUP1
0000023d: PUSH1 0x00
0000023f: DUP2
00000240: EQ
00000241: PUSH2 0x0266
00000244: JUMPI
00000245: PUSH1 0x40
00000247: MLOAD
00000248: SWAP2
00000249: POP
0000024a: PUSH1 0x1f
0000024c: NOT
0000024d: PUSH1 0x3f
0000024f: RETURNDATASIZE
00000250: ADD
00000251: AND
00000252: DUP3
00000253: ADD
00000254: PUSH1 0x40
00000256: MSTORE
00000257: RETURNDATASIZE
00000258: DUP3
00000259: MSTORE
0000025a: RETURNDATASIZE
0000025b: PUSH1 0x00
0000025d: PUSH1 0x20
0000025f: DUP5
00000260: ADD
00000261: RETURNDATACOPY
00000262: PUSH2 0x026b
00000265: JUMP
00000266: JUMPDEST
00000267: PUSH1 0x60
00000269: SWAP2
0000026a: POP
0000026b: JUMPDEST
0000026c: POP
0000026d: POP
0000026e: SWAP1
0000026f: POP
00000270: DUP1
00000271: PUSH2 0x0279
00000274: JUMPI
00000275: PUSH1 0x00
00000277: DUP1
00000278: REVERT
00000279: JUMPDEST
0000027a: POP
0000027b: PUSH2 0x0287
0000027e: JUMP
0000027f: JUMPDEST
00000280: PUSH2 0x0287
00000283: PUSH2 0x018b
00000286: JUMP
00000287: JUMPDEST
00000288: POP
00000289: POP
0000028a: POP
0000028b: JUMP
0000028c: JUMPDEST
0000028d: PUSH1 0x00
0000028f: PUSH2 0x0296
00000292: PUSH2 0x045d
00000295: JUMP
00000296: JUMPDEST
00000297: PUSH1 0x01
00000299: PUSH1 0x01
0000029b: PUSH1 0xa0
0000029d: SHL
0000029e: SUB
0000029f: AND
000002a0: CALLER
000002a1: PUSH1 0x01
000002a3: PUSH1 0x01
000002a5: PUSH1 0xa0
000002a7: SHL
000002a8: SUB
000002a9: AND
000002aa: EQ
000002ab: ISZERO
000002ac: PUSH2 0x02be
000002af: JUMPI
000002b0: PUSH2 0x02b7
000002b3: PUSH2 0x0414
000002b6: JUMP
000002b7: JUMPDEST
000002b8: SWAP1
000002b9: POP
000002ba: PUSH2 0x02c6
000002bd: JUMP
000002be: JUMPDEST
000002bf: PUSH2 0x02c6
000002c2: PUSH2 0x018b
000002c5: JUMP
000002c6: JUMPDEST
000002c7: SWAP1
000002c8: JUMP
000002c9: JUMPDEST
000002ca: PUSH2 0x02d1
000002cd: PUSH2 0x045d
000002d0: JUMP
000002d1: JUMPDEST
000002d2: PUSH1 0x01
000002d4: PUSH1 0x01
000002d6: PUSH1 0xa0
000002d8: SHL
000002d9: SUB
000002da: AND
000002db: CALLER
000002dc: PUSH1 0x01
000002de: PUSH1 0x01
000002e0: PUSH1 0xa0
000002e2: SHL
000002e3: SUB
000002e4: AND
000002e5: EQ
000002e6: ISZERO
000002e7: PUSH2 0x01d4
000002ea: JUMPI
000002eb: PUSH1 0x01
000002ed: PUSH1 0x01
000002ef: PUSH1 0xa0
000002f1: SHL
000002f2: SUB
000002f3: DUP2
000002f4: AND
000002f5: PUSH2 0x032f
000002f8: JUMPI
000002f9: PUSH1 0x40
000002fb: MLOAD
000002fc: PUSH3 0x461bcd
00000300: PUSH1 0xe5
00000302: SHL
00000303: DUP2
00000304: MSTORE
00000305: PUSH1 0x04
00000307: ADD
00000308: DUP1
00000309: DUP1
0000030a: PUSH1 0x20
0000030c: ADD
0000030d: DUP3
0000030e: DUP2
0000030f: SUB
00000310: DUP3
00000311: MSTORE
00000312: PUSH1 0x36
00000314: DUP2
00000315: MSTORE
00000316: PUSH1 0x20
00000318: ADD
00000319: DUP1
0000031a: PUSH2 0x0581
0000031d: PUSH1 0x36
0000031f: SWAP2
00000320: CODECOPY
00000321: PUSH1 0x40
00000323: ADD
00000324: SWAP2
00000325: POP
00000326: POP
00000327: PUSH1 0x40
00000329: MLOAD
0000032a: DUP1
0000032b: SWAP2
0000032c: SUB
0000032d: SWAP1
0000032e: REVERT
0000032f: JUMPDEST
00000330: PUSH32 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f
00000351: PUSH2 0x0358
00000354: PUSH2 0x045d
00000357: JUMP
00000358: JUMPDEST
00000359: PUSH1 0x40
0000035b: DUP1
0000035c: MLOAD
0000035d: PUSH1 0x01
0000035f: PUSH1 0x01
00000361: PUSH1 0xa0
00000363: SHL
00000364: SUB
00000365: SWAP3
00000366: DUP4
00000367: AND
00000368: DUP2
00000369: MSTORE
0000036a: SWAP2
0000036b: DUP5
0000036c: AND
0000036d: PUSH1 0x20
0000036f: DUP4
00000370: ADD
00000371: MSTORE
00000372: DUP1
00000373: MLOAD
00000374: SWAP2
00000375: DUP3
00000376: SWAP1
00000377: SUB
00000378: ADD
00000379: SWAP1
0000037a: LOG1
0000037b: PUSH2 0x01cf
0000037e: DUP2
0000037f: PUSH2 0x04c2
00000382: JUMP
00000383: JUMPDEST
00000384: PUSH1 0x00
00000386: PUSH2 0x038d
00000389: PUSH2 0x045d
0000038c: JUMP
0000038d: JUMPDEST
0000038e: PUSH1 0x01
00000390: PUSH1 0x01
00000392: PUSH1 0xa0
00000394: SHL
00000395: SUB
00000396: AND
00000397: CALLER
00000398: PUSH1 0x01
0000039a: PUSH1 0x01
0000039c: PUSH1 0xa0
0000039e: SHL
0000039f: SUB
000003a0: AND
000003a1: EQ
000003a2: ISZERO
000003a3: PUSH2 0x02be
000003a6: JUMPI
000003a7: PUSH2 0x02b7
000003aa: PUSH2 0x045d
000003ad: JUMP
000003ae: JUMPDEST
000003af: EXTCODESIZE
000003b0: ISZERO
000003b1: ISZERO
000003b2: SWAP1
000003b3: JUMP
000003b4: JUMPDEST
000003b5: PUSH2 0x03bc
000003b8: PUSH2 0x045d
000003bb: JUMP
000003bc: JUMPDEST
000003bd: PUSH1 0x01
000003bf: PUSH1 0x01
000003c1: PUSH1 0xa0
000003c3: SHL
000003c4: SUB
000003c5: AND
000003c6: CALLER
000003c7: PUSH1 0x01
000003c9: PUSH1 0x01
000003cb: PUSH1 0xa0
000003cd: SHL
000003ce: SUB
000003cf: AND
000003d0: EQ
000003d1: ISZERO
000003d2: PUSH2 0x040c
000003d5: JUMPI
000003d6: PUSH1 0x40
000003d8: MLOAD
000003d9: PUSH3 0x461bcd
000003dd: PUSH1 0xe5
000003df: SHL
000003e0: DUP2
000003e1: MSTORE
000003e2: PUSH1 0x04
000003e4: ADD
000003e5: DUP1
000003e6: DUP1
000003e7: PUSH1 0x20
000003e9: ADD
000003ea: DUP3
000003eb: DUP2
000003ec: SUB
000003ed: DUP3
000003ee: MSTORE
000003ef: PUSH1 0x32
000003f1: DUP2
000003f2: MSTORE
000003f3: PUSH1 0x20
000003f5: ADD
000003f6: DUP1
000003f7: PUSH2 0x054f
000003fa: PUSH1 0x32
000003fc: SWAP2
000003fd: CODECOPY
000003fe: PUSH1 0x40
00000400: ADD
00000401: SWAP2
00000402: POP
00000403: POP
00000404: PUSH1 0x40
00000406: MLOAD
00000407: DUP1
00000408: SWAP2
00000409: SUB
0000040a: SWAP1
0000040b: REVERT
0000040c: JUMPDEST
0000040d: PUSH2 0x01a3
00000410: PUSH2 0x01a3
00000413: JUMP
00000414: JUMPDEST
00000415: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00000436: SLOAD
00000437: SWAP1
00000438: JUMP
00000439: JUMPDEST
0000043a: CALLDATASIZE
0000043b: PUSH1 0x00
0000043d: DUP1
0000043e: CALLDATACOPY
0000043f: PUSH1 0x00
00000441: DUP1
00000442: CALLDATASIZE
00000443: PUSH1 0x00
00000445: DUP5
00000446: GAS
00000447: DELEGATECALL
00000448: RETURNDATASIZE
00000449: PUSH1 0x00
0000044b: DUP1
0000044c: RETURNDATACOPY
0000044d: DUP1
0000044e: DUP1
0000044f: ISZERO
00000450: PUSH2 0x0458
00000453: JUMPI
00000454: RETURNDATASIZE
00000455: PUSH1 0x00
00000457: RETURN
00000458: JUMPDEST
00000459: RETURNDATASIZE
0000045a: PUSH1 0x00
0000045c: REVERT
0000045d: JUMPDEST
0000045e: PUSH32 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103
0000047f: SLOAD
00000480: SWAP1
00000481: JUMP
00000482: JUMPDEST
00000483: PUSH2 0x048b
00000486: DUP2
00000487: PUSH2 0x04e6
0000048a: JUMP
0000048b: JUMPDEST
0000048c: PUSH1 0x40
0000048e: MLOAD
0000048f: PUSH1 0x01
00000491: PUSH1 0x01
00000493: PUSH1 0xa0
00000495: SHL
00000496: SUB
00000497: DUP3
00000498: AND
00000499: SWAP1
0000049a: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b
000004bb: SWAP1
000004bc: PUSH1 0x00
000004be: SWAP1
000004bf: LOG2
000004c0: POP
000004c1: JUMP
000004c2: JUMPDEST
000004c3: PUSH32 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103
000004e4: SSTORE
000004e5: JUMP
000004e6: JUMPDEST
000004e7: PUSH2 0x04ef
000004ea: DUP2
000004eb: PUSH2 0x03ae
000004ee: JUMP
000004ef: JUMPDEST
000004f0: PUSH2 0x052a
000004f3: JUMPI
000004f4: PUSH1 0x40
000004f6: MLOAD
000004f7: PUSH3 0x461bcd
000004fb: PUSH1 0xe5
000004fd: SHL
000004fe: DUP2
000004ff: MSTORE
00000500: PUSH1 0x04
00000502: ADD
00000503: DUP1
00000504: DUP1
00000505: PUSH1 0x20
00000507: ADD
00000508: DUP3
00000509: DUP2
0000050a: SUB
0000050b: DUP3
0000050c: MSTORE
0000050d: PUSH1 0x3b
0000050f: DUP2
00000510: MSTORE
00000511: PUSH1 0x20
00000513: ADD
00000514: DUP1
00000515: PUSH2 0x05b7
00000518: PUSH1 0x3b
0000051a: SWAP2
0000051b: CODECOPY
0000051c: PUSH1 0x40
0000051e: ADD
0000051f: SWAP2
00000520: POP
00000521: POP
00000522: PUSH1 0x40
00000524: MLOAD
00000525: DUP1
00000526: SWAP2
00000527: SUB
00000528: SWAP1
00000529: REVERT
0000052a: JUMPDEST
0000052b: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
0000054c: SSTORE
0000054d: JUMP
0000054e: INVALID
0000054f: NUMBER
00000550: PUSH2 0x6e6e
00000553: PUSH16 0x742063616c6c2066616c6c6261636b20
00000564: PUSH7 0x756e6374696f6e
0000056c: KECCAK256
0000056d: PUSH7 0x726f6d20746865
00000575: KECCAK256
00000576: PUSH17 0x726f78792061646d696e43616e6e6f7420
00000588: PUSH4 0x68616e67
0000058d: PUSH6 0x207468652061
00000594: PUSH5 0x6d696e206f
0000059a: PUSH7 0x20612070726f78
000005a2: PUSH26 0x20746f20746865207a65726f206164647265737343616e6e6f74
000005bd: KECCAK256
000005be: PUSH20 0x657420612070726f787920696d706c656d656e74
000005d3: PUSH2 0x7469
000005d6: PUSH16 0x6e20746f2061206e6f6e2d636f6e7472
000005e7: PUSH2 0x6374
000005ea: KECCAK256
000005eb: PUSH2 0x6464
000005ee: PUSH19 0x657373a2646970667358221220a8d3ca4f14ff
00000602: UNKNOWN(0xB6)
00000603: STOP
00000604: MUL
00000605: DUP8
00000606: UNKNOWN(0xE2)
00000607: PUSH4 0x14745d29
0000060c: CODESIZE
0000060d: UNKNOWN(0xB4)
0000060e: UNKNOWN(0x2A)
0000060f: LOG2
00000610: SWAP12
00000611: PUSH15 0x7a019351180a32b693d064736f6c63
00000621: NUMBER
00000622: STOP
00000623: SMOD
00000624: MUL
00000625: STOP
00000626: CALLER

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: 0xe33e5e4b81f6ec977847abe8c0fb51cc6ae5ea56d181ebc85a0d450d083103f1
call_targets: 0x8d0d4cd16a93fa1e3e55ff6d112b084109846e3a
target_varies: no
classification: constant_target
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 2,
    "trace_id": "0xe33e5e4b81f6ec977847abe8c0fb51cc6ae5ea56d181ebc85a0d450d083103f1",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x8d0d4cd16a93fa1e3e55ff6d112b084109846e3a"
    ],
    "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": "0x3659cfe6",
            "selector": "0x3659cfe6",
            "calldata_variants": [
                "0x3659cfe6",
                "0x3659cfe60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4f1ef286",
            "selector": "0x4f1ef286",
            "calldata_variants": [
                "0x4f1ef286",
                "0x4f1ef2860000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5c60da1b",
            "selector": "0x5c60da1b",
            "calldata_variants": [
                "0x5c60da1b",
                "0x5c60da1b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8f283970",
            "selector": "0x8f283970",
            "calldata_variants": [
                "0x8f283970",
                "0x8f2839700000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf851a440",
            "selector": "0xf851a440",
            "calldata_variants": [
                "0xf851a440",
                "0xf851a4400000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 567,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 1095,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 2,
    "untrusted_delegatecall_count": 2
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 2
}