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

Analysis Run

019b3844-9b5f-7346-90f4-ed400d1bd263

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
14423 artifact.fetch complete 1 / 3 3 months ago
14424 tool.cast_disasm complete 1 / 3 3 months ago
57609 analysis.bundle complete 1 / 3 1 week ago
57610 capability.graph complete 1 / 3 1 week ago
57611 detector.run complete 1 / 3 1 week ago
57612 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
0
Total opcodes
1296
Flags
delegatecall_present
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0082
0000000c: JUMPI
0000000d: PUSH4 0xffffffff
00000012: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000030: PUSH1 0x00
00000032: CALLDATALOAD
00000033: DIV
00000034: AND
00000035: PUSH4 0x025313a2
0000003a: DUP2
0000003b: EQ
0000003c: PUSH2 0x0104
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0x54fd4d50
00000046: EQ
00000047: PUSH2 0x0133
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0x5a8b1a9f
00000051: EQ
00000052: PUSH2 0x01bd
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0x5c60da1b
0000005c: EQ
0000005d: PUSH2 0x021b
00000060: JUMPI
00000061: DUP1
00000062: PUSH4 0x6fde8202
00000067: EQ
00000068: PUSH2 0x022e
0000006b: JUMPI
0000006c: DUP1
0000006d: PUSH4 0x958a41dd
00000072: EQ
00000073: PUSH2 0x0241
00000076: JUMPI
00000077: DUP1
00000078: PUSH4 0xf1739cae
0000007d: EQ
0000007e: PUSH2 0x02db
00000081: JUMPI
00000082: JUMPDEST
00000083: PUSH1 0x00
00000085: PUSH2 0x008c
00000088: PUSH2 0x067c
0000008b: JUMP
0000008c: JUMPDEST
0000008d: PUSH2 0x0094
00000090: PUSH2 0x02fa
00000093: JUMP
00000094: JUMPDEST
00000095: SWAP2
00000096: POP
00000097: PUSH1 0x01
00000099: PUSH1 0xa0
0000009b: PUSH1 0x02
0000009d: EXP
0000009e: SUB
0000009f: DUP3
000000a0: AND
000000a1: ISZERO
000000a2: ISZERO
000000a3: PUSH2 0x00ab
000000a6: JUMPI
000000a7: PUSH1 0x00
000000a9: DUP1
000000aa: REVERT
000000ab: JUMPDEST
000000ac: PUSH1 0x00
000000ae: CALLDATASIZE
000000af: DUP1
000000b0: DUP1
000000b1: PUSH1 0x1f
000000b3: ADD
000000b4: PUSH1 0x20
000000b6: DUP1
000000b7: SWAP2
000000b8: DIV
000000b9: MUL
000000ba: PUSH1 0x20
000000bc: ADD
000000bd: PUSH1 0x40
000000bf: MLOAD
000000c0: SWAP1
000000c1: DUP2
000000c2: ADD
000000c3: PUSH1 0x40
000000c5: MSTORE
000000c6: DUP2
000000c7: DUP2
000000c8: MSTORE
000000c9: SWAP3
000000ca: SWAP2
000000cb: SWAP1
000000cc: PUSH1 0x20
000000ce: DUP5
000000cf: ADD
000000d0: DUP4
000000d1: DUP4
000000d2: DUP1
000000d3: DUP3
000000d4: DUP5
000000d5: CALLDATACOPY
000000d6: DUP3
000000d7: ADD
000000d8: SWAP2
000000d9: POP
000000da: POP
000000db: POP
000000dc: POP
000000dd: POP
000000de: POP
000000df: SWAP1
000000e0: POP
000000e1: PUSH1 0x00
000000e3: DUP1
000000e4: DUP3
000000e5: MLOAD
000000e6: PUSH1 0x20
000000e8: DUP5
000000e9: ADD
000000ea: DUP6
000000eb: GAS
000000ec: DELEGATECALL
000000ed: RETURNDATASIZE
000000ee: PUSH1 0x40
000000f0: MLOAD
000000f1: DUP2
000000f2: PUSH1 0x00
000000f4: DUP3
000000f5: RETURNDATACOPY
000000f6: DUP3
000000f7: DUP1
000000f8: ISZERO
000000f9: PUSH2 0x0100
000000fc: JUMPI
000000fd: DUP3
000000fe: DUP3
000000ff: RETURN
00000100: JUMPDEST
00000101: DUP3
00000102: DUP3
00000103: REVERT
00000104: JUMPDEST
00000105: CALLVALUE
00000106: ISZERO
00000107: PUSH2 0x010f
0000010a: JUMPI
0000010b: PUSH1 0x00
0000010d: DUP1
0000010e: REVERT
0000010f: JUMPDEST
00000110: PUSH2 0x0117
00000113: PUSH2 0x030a
00000116: JUMP
00000117: JUMPDEST
00000118: PUSH1 0x40
0000011a: MLOAD
0000011b: PUSH1 0x01
0000011d: PUSH1 0xa0
0000011f: PUSH1 0x02
00000121: EXP
00000122: SUB
00000123: SWAP1
00000124: SWAP2
00000125: AND
00000126: DUP2
00000127: MSTORE
00000128: PUSH1 0x20
0000012a: ADD
0000012b: PUSH1 0x40
0000012d: MLOAD
0000012e: DUP1
0000012f: SWAP2
00000130: SUB
00000131: SWAP1
00000132: RETURN
00000133: JUMPDEST
00000134: CALLVALUE
00000135: ISZERO
00000136: PUSH2 0x013e
00000139: JUMPI
0000013a: PUSH1 0x00
0000013c: DUP1
0000013d: REVERT
0000013e: JUMPDEST
0000013f: PUSH2 0x0146
00000142: PUSH2 0x0319
00000145: JUMP
00000146: JUMPDEST
00000147: PUSH1 0x40
00000149: MLOAD
0000014a: PUSH1 0x20
0000014c: DUP1
0000014d: DUP3
0000014e: MSTORE
0000014f: DUP2
00000150: SWAP1
00000151: DUP2
00000152: ADD
00000153: DUP4
00000154: DUP2
00000155: DUP2
00000156: MLOAD
00000157: DUP2
00000158: MSTORE
00000159: PUSH1 0x20
0000015b: ADD
0000015c: SWAP2
0000015d: POP
0000015e: DUP1
0000015f: MLOAD
00000160: SWAP1
00000161: PUSH1 0x20
00000163: ADD
00000164: SWAP1
00000165: DUP1
00000166: DUP4
00000167: DUP4
00000168: PUSH1 0x00
0000016a: JUMPDEST
0000016b: DUP4
0000016c: DUP2
0000016d: LT
0000016e: ISZERO
0000016f: PUSH2 0x0182
00000172: JUMPI
00000173: DUP1
00000174: DUP3
00000175: ADD
00000176: MLOAD
00000177: DUP4
00000178: DUP3
00000179: ADD
0000017a: MSTORE
0000017b: PUSH1 0x20
0000017d: ADD
0000017e: PUSH2 0x016a
00000181: JUMP
00000182: JUMPDEST
00000183: POP
00000184: POP
00000185: POP
00000186: POP
00000187: SWAP1
00000188: POP
00000189: SWAP1
0000018a: DUP2
0000018b: ADD
0000018c: SWAP1
0000018d: PUSH1 0x1f
0000018f: AND
00000190: DUP1
00000191: ISZERO
00000192: PUSH2 0x01af
00000195: JUMPI
00000196: DUP1
00000197: DUP3
00000198: SUB
00000199: DUP1
0000019a: MLOAD
0000019b: PUSH1 0x01
0000019d: DUP4
0000019e: PUSH1 0x20
000001a0: SUB
000001a1: PUSH2 0x0100
000001a4: EXP
000001a5: SUB
000001a6: NOT
000001a7: AND
000001a8: DUP2
000001a9: MSTORE
000001aa: PUSH1 0x20
000001ac: ADD
000001ad: SWAP2
000001ae: POP
000001af: JUMPDEST
000001b0: POP
000001b1: SWAP3
000001b2: POP
000001b3: POP
000001b4: POP
000001b5: PUSH1 0x40
000001b7: MLOAD
000001b8: DUP1
000001b9: SWAP2
000001ba: SUB
000001bb: SWAP1
000001bc: RETURN
000001bd: JUMPDEST
000001be: CALLVALUE
000001bf: ISZERO
000001c0: PUSH2 0x01c8
000001c3: JUMPI
000001c4: PUSH1 0x00
000001c6: DUP1
000001c7: REVERT
000001c8: JUMPDEST
000001c9: PUSH2 0x0219
000001cc: PUSH1 0x04
000001ce: PUSH1 0x24
000001d0: DUP2
000001d1: CALLDATALOAD
000001d2: DUP2
000001d3: DUP2
000001d4: ADD
000001d5: SWAP1
000001d6: DUP4
000001d7: ADD
000001d8: CALLDATALOAD
000001d9: DUP1
000001da: PUSH1 0x20
000001dc: PUSH1 0x1f
000001de: DUP3
000001df: ADD
000001e0: DUP2
000001e1: SWAP1
000001e2: DIV
000001e3: DUP2
000001e4: MUL
000001e5: ADD
000001e6: PUSH1 0x40
000001e8: MLOAD
000001e9: SWAP1
000001ea: DUP2
000001eb: ADD
000001ec: PUSH1 0x40
000001ee: MSTORE
000001ef: DUP2
000001f0: DUP2
000001f1: MSTORE
000001f2: SWAP3
000001f3: SWAP2
000001f4: SWAP1
000001f5: PUSH1 0x20
000001f7: DUP5
000001f8: ADD
000001f9: DUP4
000001fa: DUP4
000001fb: DUP1
000001fc: DUP3
000001fd: DUP5
000001fe: CALLDATACOPY
000001ff: POP
00000200: SWAP5
00000201: SWAP7
00000202: POP
00000203: POP
00000204: POP
00000205: SWAP3
00000206: CALLDATALOAD
00000207: PUSH1 0x01
00000209: PUSH1 0xa0
0000020b: PUSH1 0x02
0000020d: EXP
0000020e: SUB
0000020f: AND
00000210: SWAP3
00000211: POP
00000212: PUSH2 0x03c1
00000215: SWAP2
00000216: POP
00000217: POP
00000218: JUMP
00000219: JUMPDEST
0000021a: STOP
0000021b: JUMPDEST
0000021c: CALLVALUE
0000021d: ISZERO
0000021e: PUSH2 0x0226
00000221: JUMPI
00000222: PUSH1 0x00
00000224: DUP1
00000225: REVERT
00000226: JUMPDEST
00000227: PUSH2 0x0117
0000022a: PUSH2 0x02fa
0000022d: JUMP
0000022e: JUMPDEST
0000022f: CALLVALUE
00000230: ISZERO
00000231: PUSH2 0x0239
00000234: JUMPI
00000235: PUSH1 0x00
00000237: DUP1
00000238: REVERT
00000239: JUMPDEST
0000023a: PUSH2 0x0117
0000023d: PUSH2 0x03f6
00000240: JUMP
00000241: JUMPDEST
00000242: PUSH2 0x0219
00000245: PUSH1 0x04
00000247: PUSH1 0x24
00000249: DUP2
0000024a: CALLDATALOAD
0000024b: DUP2
0000024c: DUP2
0000024d: ADD
0000024e: SWAP1
0000024f: DUP4
00000250: ADD
00000251: CALLDATALOAD
00000252: DUP1
00000253: PUSH1 0x20
00000255: PUSH1 0x1f
00000257: DUP3
00000258: ADD
00000259: DUP2
0000025a: SWAP1
0000025b: DIV
0000025c: DUP2
0000025d: MUL
0000025e: ADD
0000025f: PUSH1 0x40
00000261: MLOAD
00000262: SWAP1
00000263: DUP2
00000264: ADD
00000265: PUSH1 0x40
00000267: MSTORE
00000268: DUP2
00000269: DUP2
0000026a: MSTORE
0000026b: SWAP3
0000026c: SWAP2
0000026d: SWAP1
0000026e: PUSH1 0x20
00000270: DUP5
00000271: ADD
00000272: DUP4
00000273: DUP4
00000274: DUP1
00000275: DUP3
00000276: DUP5
00000277: CALLDATACOPY
00000278: DUP3
00000279: ADD
0000027a: SWAP2
0000027b: POP
0000027c: POP
0000027d: POP
0000027e: POP
0000027f: POP
00000280: POP
00000281: SWAP2
00000282: SWAP1
00000283: DUP1
00000284: CALLDATALOAD
00000285: PUSH1 0x01
00000287: PUSH1 0xa0
00000289: PUSH1 0x02
0000028b: EXP
0000028c: SUB
0000028d: AND
0000028e: SWAP1
0000028f: PUSH1 0x20
00000291: ADD
00000292: SWAP1
00000293: SWAP2
00000294: SWAP1
00000295: DUP1
00000296: CALLDATALOAD
00000297: SWAP1
00000298: PUSH1 0x20
0000029a: ADD
0000029b: SWAP1
0000029c: DUP3
0000029d: ADD
0000029e: DUP1
0000029f: CALLDATALOAD
000002a0: SWAP1
000002a1: PUSH1 0x20
000002a3: ADD
000002a4: SWAP1
000002a5: DUP1
000002a6: DUP1
000002a7: PUSH1 0x1f
000002a9: ADD
000002aa: PUSH1 0x20
000002ac: DUP1
000002ad: SWAP2
000002ae: DIV
000002af: MUL
000002b0: PUSH1 0x20
000002b2: ADD
000002b3: PUSH1 0x40
000002b5: MLOAD
000002b6: SWAP1
000002b7: DUP2
000002b8: ADD
000002b9: PUSH1 0x40
000002bb: MSTORE
000002bc: DUP2
000002bd: DUP2
000002be: MSTORE
000002bf: SWAP3
000002c0: SWAP2
000002c1: SWAP1
000002c2: PUSH1 0x20
000002c4: DUP5
000002c5: ADD
000002c6: DUP4
000002c7: DUP4
000002c8: DUP1
000002c9: DUP3
000002ca: DUP5
000002cb: CALLDATACOPY
000002cc: POP
000002cd: SWAP5
000002ce: SWAP7
000002cf: POP
000002d0: PUSH2 0x0405
000002d3: SWAP6
000002d4: POP
000002d5: POP
000002d6: POP
000002d7: POP
000002d8: POP
000002d9: POP
000002da: JUMP
000002db: JUMPDEST
000002dc: CALLVALUE
000002dd: ISZERO
000002de: PUSH2 0x02e6
000002e1: JUMPI
000002e2: PUSH1 0x00
000002e4: DUP1
000002e5: REVERT
000002e6: JUMPDEST
000002e7: PUSH2 0x0219
000002ea: PUSH1 0x01
000002ec: PUSH1 0xa0
000002ee: PUSH1 0x02
000002f0: EXP
000002f1: SUB
000002f2: PUSH1 0x04
000002f4: CALLDATALOAD
000002f5: AND
000002f6: PUSH2 0x04c2
000002f9: JUMP
000002fa: JUMPDEST
000002fb: PUSH1 0x02
000002fd: SLOAD
000002fe: PUSH1 0x01
00000300: PUSH1 0xa0
00000302: PUSH1 0x02
00000304: EXP
00000305: SUB
00000306: AND
00000307: JUMPDEST
00000308: SWAP1
00000309: JUMP
0000030a: JUMPDEST
0000030b: PUSH1 0x00
0000030d: PUSH2 0x0314
00000310: PUSH2 0x03f6
00000313: JUMP
00000314: JUMPDEST
00000315: SWAP1
00000316: POP
00000317: SWAP1
00000318: JUMP
00000319: JUMPDEST
0000031a: PUSH2 0x0321
0000031d: PUSH2 0x067c
00000320: JUMP
00000321: JUMPDEST
00000322: PUSH1 0x01
00000324: DUP1
00000325: SLOAD
00000326: PUSH1 0x01
00000328: DUP2
00000329: PUSH1 0x01
0000032b: AND
0000032c: ISZERO
0000032d: PUSH2 0x0100
00000330: MUL
00000331: SUB
00000332: AND
00000333: PUSH1 0x02
00000335: SWAP1
00000336: DIV
00000337: DUP1
00000338: PUSH1 0x1f
0000033a: ADD
0000033b: PUSH1 0x20
0000033d: DUP1
0000033e: SWAP2
0000033f: DIV
00000340: MUL
00000341: PUSH1 0x20
00000343: ADD
00000344: PUSH1 0x40
00000346: MLOAD
00000347: SWAP1
00000348: DUP2
00000349: ADD
0000034a: PUSH1 0x40
0000034c: MSTORE
0000034d: DUP1
0000034e: SWAP3
0000034f: SWAP2
00000350: SWAP1
00000351: DUP2
00000352: DUP2
00000353: MSTORE
00000354: PUSH1 0x20
00000356: ADD
00000357: DUP3
00000358: DUP1
00000359: SLOAD
0000035a: PUSH1 0x01
0000035c: DUP2
0000035d: PUSH1 0x01
0000035f: AND
00000360: ISZERO
00000361: PUSH2 0x0100
00000364: MUL
00000365: SUB
00000366: AND
00000367: PUSH1 0x02
00000369: SWAP1
0000036a: DIV
0000036b: DUP1
0000036c: ISZERO
0000036d: PUSH2 0x03b7
00000370: JUMPI
00000371: DUP1
00000372: PUSH1 0x1f
00000374: LT
00000375: PUSH2 0x038c
00000378: JUMPI
00000379: PUSH2 0x0100
0000037c: DUP1
0000037d: DUP4
0000037e: SLOAD
0000037f: DIV
00000380: MUL
00000381: DUP4
00000382: MSTORE
00000383: SWAP2
00000384: PUSH1 0x20
00000386: ADD
00000387: SWAP2
00000388: PUSH2 0x03b7
0000038b: JUMP
0000038c: JUMPDEST
0000038d: DUP3
0000038e: ADD
0000038f: SWAP2
00000390: SWAP1
00000391: PUSH1 0x00
00000393: MSTORE
00000394: PUSH1 0x20
00000396: PUSH1 0x00
00000398: KECCAK256
00000399: SWAP1
0000039a: JUMPDEST
0000039b: DUP2
0000039c: SLOAD
0000039d: DUP2
0000039e: MSTORE
0000039f: SWAP1
000003a0: PUSH1 0x01
000003a2: ADD
000003a3: SWAP1
000003a4: PUSH1 0x20
000003a6: ADD
000003a7: DUP1
000003a8: DUP4
000003a9: GT
000003aa: PUSH2 0x039a
000003ad: JUMPI
000003ae: DUP3
000003af: SWAP1
000003b0: SUB
000003b1: PUSH1 0x1f
000003b3: AND
000003b4: DUP3
000003b5: ADD
000003b6: SWAP2
000003b7: JUMPDEST
000003b8: POP
000003b9: POP
000003ba: POP
000003bb: POP
000003bc: POP
000003bd: SWAP1
000003be: POP
000003bf: SWAP1
000003c0: JUMP
000003c1: JUMPDEST
000003c2: PUSH2 0x03c9
000003c5: PUSH2 0x030a
000003c8: JUMP
000003c9: JUMPDEST
000003ca: PUSH1 0x01
000003cc: PUSH1 0xa0
000003ce: PUSH1 0x02
000003d0: EXP
000003d1: SUB
000003d2: AND
000003d3: CALLER
000003d4: PUSH1 0x01
000003d6: PUSH1 0xa0
000003d8: PUSH1 0x02
000003da: EXP
000003db: SUB
000003dc: AND
000003dd: EQ
000003de: ISZERO
000003df: ISZERO
000003e0: PUSH2 0x03e8
000003e3: JUMPI
000003e4: PUSH1 0x00
000003e6: DUP1
000003e7: REVERT
000003e8: JUMPDEST
000003e9: PUSH2 0x03f2
000003ec: DUP3
000003ed: DUP3
000003ee: PUSH2 0x0557
000003f1: JUMP
000003f2: JUMPDEST
000003f3: POP
000003f4: POP
000003f5: JUMP
000003f6: JUMPDEST
000003f7: PUSH1 0x00
000003f9: SLOAD
000003fa: PUSH1 0x01
000003fc: PUSH1 0xa0
000003fe: PUSH1 0x02
00000400: EXP
00000401: SUB
00000402: AND
00000403: SWAP1
00000404: JUMP
00000405: JUMPDEST
00000406: PUSH2 0x040d
00000409: PUSH2 0x030a
0000040c: JUMP
0000040d: JUMPDEST
0000040e: PUSH1 0x01
00000410: PUSH1 0xa0
00000412: PUSH1 0x02
00000414: EXP
00000415: SUB
00000416: AND
00000417: CALLER
00000418: PUSH1 0x01
0000041a: PUSH1 0xa0
0000041c: PUSH1 0x02
0000041e: EXP
0000041f: SUB
00000420: AND
00000421: EQ
00000422: ISZERO
00000423: ISZERO
00000424: PUSH2 0x042c
00000427: JUMPI
00000428: PUSH1 0x00
0000042a: DUP1
0000042b: REVERT
0000042c: JUMPDEST
0000042d: PUSH2 0x0436
00000430: DUP4
00000431: DUP4
00000432: PUSH2 0x03c1
00000435: JUMP
00000436: JUMPDEST
00000437: ADDRESS
00000438: PUSH1 0x01
0000043a: PUSH1 0xa0
0000043c: PUSH1 0x02
0000043e: EXP
0000043f: SUB
00000440: AND
00000441: CALLVALUE
00000442: DUP3
00000443: PUSH1 0x40
00000445: MLOAD
00000446: DUP1
00000447: DUP3
00000448: DUP1
00000449: MLOAD
0000044a: SWAP1
0000044b: PUSH1 0x20
0000044d: ADD
0000044e: SWAP1
0000044f: DUP1
00000450: DUP4
00000451: DUP4
00000452: PUSH1 0x00
00000454: JUMPDEST
00000455: DUP4
00000456: DUP2
00000457: LT
00000458: ISZERO
00000459: PUSH2 0x046c
0000045c: JUMPI
0000045d: DUP1
0000045e: DUP3
0000045f: ADD
00000460: MLOAD
00000461: DUP4
00000462: DUP3
00000463: ADD
00000464: MSTORE
00000465: PUSH1 0x20
00000467: ADD
00000468: PUSH2 0x0454
0000046b: JUMP
0000046c: JUMPDEST
0000046d: POP
0000046e: POP
0000046f: POP
00000470: POP
00000471: SWAP1
00000472: POP
00000473: SWAP1
00000474: DUP2
00000475: ADD
00000476: SWAP1
00000477: PUSH1 0x1f
00000479: AND
0000047a: DUP1
0000047b: ISZERO
0000047c: PUSH2 0x0499
0000047f: JUMPI
00000480: DUP1
00000481: DUP3
00000482: SUB
00000483: DUP1
00000484: MLOAD
00000485: PUSH1 0x01
00000487: DUP4
00000488: PUSH1 0x20
0000048a: SUB
0000048b: PUSH2 0x0100
0000048e: EXP
0000048f: SUB
00000490: NOT
00000491: AND
00000492: DUP2
00000493: MSTORE
00000494: PUSH1 0x20
00000496: ADD
00000497: SWAP2
00000498: POP
00000499: JUMPDEST
0000049a: POP
0000049b: SWAP2
0000049c: POP
0000049d: POP
0000049e: PUSH1 0x00
000004a0: PUSH1 0x40
000004a2: MLOAD
000004a3: DUP1
000004a4: DUP4
000004a5: SUB
000004a6: DUP2
000004a7: DUP6
000004a8: DUP8
000004a9: PUSH2 0x8796
000004ac: GAS
000004ad: SUB
000004ae: CALL
000004af: SWAP3
000004b0: POP
000004b1: POP
000004b2: POP
000004b3: ISZERO
000004b4: ISZERO
000004b5: PUSH2 0x04bd
000004b8: JUMPI
000004b9: PUSH1 0x00
000004bb: DUP1
000004bc: REVERT
000004bd: JUMPDEST
000004be: POP
000004bf: POP
000004c0: POP
000004c1: JUMP
000004c2: JUMPDEST
000004c3: PUSH2 0x04ca
000004c6: PUSH2 0x030a
000004c9: JUMP
000004ca: JUMPDEST
000004cb: PUSH1 0x01
000004cd: PUSH1 0xa0
000004cf: PUSH1 0x02
000004d1: EXP
000004d2: SUB
000004d3: AND
000004d4: CALLER
000004d5: PUSH1 0x01
000004d7: PUSH1 0xa0
000004d9: PUSH1 0x02
000004db: EXP
000004dc: SUB
000004dd: AND
000004de: EQ
000004df: ISZERO
000004e0: ISZERO
000004e1: PUSH2 0x04e9
000004e4: JUMPI
000004e5: PUSH1 0x00
000004e7: DUP1
000004e8: REVERT
000004e9: JUMPDEST
000004ea: PUSH1 0x01
000004ec: PUSH1 0xa0
000004ee: PUSH1 0x02
000004f0: EXP
000004f1: SUB
000004f2: DUP2
000004f3: AND
000004f4: ISZERO
000004f5: ISZERO
000004f6: PUSH2 0x04fe
000004f9: JUMPI
000004fa: PUSH1 0x00
000004fc: DUP1
000004fd: REVERT
000004fe: JUMPDEST
000004ff: PUSH32 0x5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd9
00000520: PUSH2 0x0527
00000523: PUSH2 0x030a
00000526: JUMP
00000527: JUMPDEST
00000528: DUP3
00000529: PUSH1 0x40
0000052b: MLOAD
0000052c: PUSH1 0x01
0000052e: PUSH1 0xa0
00000530: PUSH1 0x02
00000532: EXP
00000533: SUB
00000534: SWAP3
00000535: DUP4
00000536: AND
00000537: DUP2
00000538: MSTORE
00000539: SWAP2
0000053a: AND
0000053b: PUSH1 0x20
0000053d: DUP3
0000053e: ADD
0000053f: MSTORE
00000540: PUSH1 0x40
00000542: SWAP1
00000543: DUP2
00000544: ADD
00000545: SWAP1
00000546: MLOAD
00000547: DUP1
00000548: SWAP2
00000549: SUB
0000054a: SWAP1
0000054b: LOG1
0000054c: PUSH2 0x0554
0000054f: DUP2
00000550: PUSH2 0x064d
00000553: JUMP
00000554: JUMPDEST
00000555: POP
00000556: JUMP
00000557: JUMPDEST
00000558: PUSH1 0x02
0000055a: SLOAD
0000055b: PUSH1 0x01
0000055d: PUSH1 0xa0
0000055f: PUSH1 0x02
00000561: EXP
00000562: SUB
00000563: DUP3
00000564: DUP2
00000565: AND
00000566: SWAP2
00000567: AND
00000568: EQ
00000569: ISZERO
0000056a: PUSH2 0x0572
0000056d: JUMPI
0000056e: PUSH1 0x00
00000570: DUP1
00000571: REVERT
00000572: JUMPDEST
00000573: PUSH1 0x01
00000575: DUP3
00000576: DUP1
00000577: MLOAD
00000578: PUSH2 0x0585
0000057b: SWAP3
0000057c: SWAP2
0000057d: PUSH1 0x20
0000057f: ADD
00000580: SWAP1
00000581: PUSH2 0x068e
00000584: JUMP
00000585: JUMPDEST
00000586: POP
00000587: PUSH1 0x02
00000589: DUP1
0000058a: SLOAD
0000058b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005a0: NOT
000005a1: AND
000005a2: PUSH1 0x01
000005a4: PUSH1 0xa0
000005a6: PUSH1 0x02
000005a8: EXP
000005a9: SUB
000005aa: DUP4
000005ab: AND
000005ac: SWAP1
000005ad: DUP2
000005ae: OR
000005af: SWAP1
000005b0: SWAP2
000005b1: SSTORE
000005b2: PUSH32 0x8e05e0e35ff592971ca8b477d4285a33a61ded208d644042667b78693a472f5e
000005d3: DUP4
000005d4: PUSH1 0x40
000005d6: MLOAD
000005d7: PUSH1 0x20
000005d9: DUP1
000005da: DUP3
000005db: MSTORE
000005dc: DUP2
000005dd: SWAP1
000005de: DUP2
000005df: ADD
000005e0: DUP4
000005e1: DUP2
000005e2: DUP2
000005e3: MLOAD
000005e4: DUP2
000005e5: MSTORE
000005e6: PUSH1 0x20
000005e8: ADD
000005e9: SWAP2
000005ea: POP
000005eb: DUP1
000005ec: MLOAD
000005ed: SWAP1
000005ee: PUSH1 0x20
000005f0: ADD
000005f1: SWAP1
000005f2: DUP1
000005f3: DUP4
000005f4: DUP4
000005f5: PUSH1 0x00
000005f7: JUMPDEST
000005f8: DUP4
000005f9: DUP2
000005fa: LT
000005fb: ISZERO
000005fc: PUSH2 0x060f
000005ff: JUMPI
00000600: DUP1
00000601: DUP3
00000602: ADD
00000603: MLOAD
00000604: DUP4
00000605: DUP3
00000606: ADD
00000607: MSTORE
00000608: PUSH1 0x20
0000060a: ADD
0000060b: PUSH2 0x05f7
0000060e: JUMP
0000060f: JUMPDEST
00000610: POP
00000611: POP
00000612: POP
00000613: POP
00000614: SWAP1
00000615: POP
00000616: SWAP1
00000617: DUP2
00000618: ADD
00000619: SWAP1
0000061a: PUSH1 0x1f
0000061c: AND
0000061d: DUP1
0000061e: ISZERO
0000061f: PUSH2 0x063c
00000622: JUMPI
00000623: DUP1
00000624: DUP3
00000625: SUB
00000626: DUP1
00000627: MLOAD
00000628: PUSH1 0x01
0000062a: DUP4
0000062b: PUSH1 0x20
0000062d: SUB
0000062e: PUSH2 0x0100
00000631: EXP
00000632: SUB
00000633: NOT
00000634: AND
00000635: DUP2
00000636: MSTORE
00000637: PUSH1 0x20
00000639: ADD
0000063a: SWAP2
0000063b: POP
0000063c: JUMPDEST
0000063d: POP
0000063e: SWAP3
0000063f: POP
00000640: POP
00000641: POP
00000642: PUSH1 0x40
00000644: MLOAD
00000645: DUP1
00000646: SWAP2
00000647: SUB
00000648: SWAP1
00000649: LOG2
0000064a: POP
0000064b: POP
0000064c: JUMP
0000064d: JUMPDEST
0000064e: PUSH1 0x00
00000650: DUP1
00000651: SLOAD
00000652: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000667: NOT
00000668: AND
00000669: PUSH1 0x01
0000066b: PUSH1 0xa0
0000066d: PUSH1 0x02
0000066f: EXP
00000670: SUB
00000671: SWAP3
00000672: SWAP1
00000673: SWAP3
00000674: AND
00000675: SWAP2
00000676: SWAP1
00000677: SWAP2
00000678: OR
00000679: SWAP1
0000067a: SSTORE
0000067b: JUMP
0000067c: JUMPDEST
0000067d: PUSH1 0x20
0000067f: PUSH1 0x40
00000681: MLOAD
00000682: SWAP1
00000683: DUP2
00000684: ADD
00000685: PUSH1 0x40
00000687: MSTORE
00000688: PUSH1 0x00
0000068a: DUP2
0000068b: MSTORE
0000068c: SWAP1
0000068d: JUMP
0000068e: JUMPDEST
0000068f: DUP3
00000690: DUP1
00000691: SLOAD
00000692: PUSH1 0x01
00000694: DUP2
00000695: PUSH1 0x01
00000697: AND
00000698: ISZERO
00000699: PUSH2 0x0100
0000069c: MUL
0000069d: SUB
0000069e: AND
0000069f: PUSH1 0x02
000006a1: SWAP1
000006a2: DIV
000006a3: SWAP1
000006a4: PUSH1 0x00
000006a6: MSTORE
000006a7: PUSH1 0x20
000006a9: PUSH1 0x00
000006ab: KECCAK256
000006ac: SWAP1
000006ad: PUSH1 0x1f
000006af: ADD
000006b0: PUSH1 0x20
000006b2: SWAP1
000006b3: DIV
000006b4: DUP2
000006b5: ADD
000006b6: SWAP3
000006b7: DUP3
000006b8: PUSH1 0x1f
000006ba: LT
000006bb: PUSH2 0x06cf
000006be: JUMPI
000006bf: DUP1
000006c0: MLOAD
000006c1: PUSH1 0xff
000006c3: NOT
000006c4: AND
000006c5: DUP4
000006c6: DUP1
000006c7: ADD
000006c8: OR
000006c9: DUP6
000006ca: SSTORE
000006cb: PUSH2 0x06fc
000006ce: JUMP
000006cf: JUMPDEST
000006d0: DUP3
000006d1: DUP1
000006d2: ADD
000006d3: PUSH1 0x01
000006d5: ADD
000006d6: DUP6
000006d7: SSTORE
000006d8: DUP3
000006d9: ISZERO
000006da: PUSH2 0x06fc
000006dd: JUMPI
000006de: SWAP2
000006df: DUP3
000006e0: ADD
000006e1: JUMPDEST
000006e2: DUP3
000006e3: DUP2
000006e4: GT
000006e5: ISZERO
000006e6: PUSH2 0x06fc
000006e9: JUMPI
000006ea: DUP3
000006eb: MLOAD
000006ec: DUP3
000006ed: SSTORE
000006ee: SWAP2
000006ef: PUSH1 0x20
000006f1: ADD
000006f2: SWAP2
000006f3: SWAP1
000006f4: PUSH1 0x01
000006f6: ADD
000006f7: SWAP1
000006f8: PUSH2 0x06e1
000006fb: JUMP
000006fc: JUMPDEST
000006fd: POP
000006fe: PUSH2 0x0708
00000701: SWAP3
00000702: SWAP2
00000703: POP
00000704: PUSH2 0x070c
00000707: JUMP
00000708: JUMPDEST
00000709: POP
0000070a: SWAP1
0000070b: JUMP
0000070c: JUMPDEST
0000070d: PUSH2 0x0307
00000710: SWAP2
00000711: SWAP1
00000712: JUMPDEST
00000713: DUP1
00000714: DUP3
00000715: GT
00000716: ISZERO
00000717: PUSH2 0x0708
0000071a: JUMPI
0000071b: PUSH1 0x00
0000071d: DUP2
0000071e: SSTORE
0000071f: PUSH1 0x01
00000721: ADD
00000722: PUSH2 0x0712
00000725: JUMP
00000726: STOP
00000727: LOG1
00000728: PUSH6 0x627a7a723058
0000072f: KECCAK256
00000730: SGT
00000731: PUSH27 0x3085b09dc3e992c1404630e7921ebb5509757d6e46f8ac6bdcbe39
0000074d: PUSH0
0000074e: UNKNOWN(0x24)
0000074f: PUSH21
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: 0x3dd475ff2dced0a82d50ddaf62eb8d4e9722d2d1996a0d8e5d37af9f360bee70
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 84,
    "trace_id": "0x3dd475ff2dced0a82d50ddaf62eb8d4e9722d2d1996a0d8e5d37af9f360bee70",
    "confirmed": false,
    "trace_mode": "callTracer",
    "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": "0x025313a2",
            "selector": "0x025313a2",
            "calldata_variants": [
                "0x025313a2",
                "0x025313a20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x54fd4d50",
            "selector": "0x54fd4d50",
            "calldata_variants": [
                "0x54fd4d50",
                "0x54fd4d500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5a8b1a9f",
            "selector": "0x5a8b1a9f",
            "calldata_variants": [
                "0x5a8b1a9f",
                "0x5a8b1a9f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5c60da1b",
            "selector": "0x5c60da1b",
            "calldata_variants": [
                "0x5c60da1b",
                "0x5c60da1b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6fde8202",
            "selector": "0x6fde8202",
            "calldata_variants": [
                "0x6fde8202",
                "0x6fde82020000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x958a41dd",
            "selector": "0x958a41dd",
            "calldata_variants": [
                "0x958a41dd",
                "0x958a41dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf1739cae",
            "selector": "0xf1739cae",
            "calldata_variants": [
                "0xf1739cae",
                "0xf1739cae0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 236,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 1,
    "untrusted_delegatecall_count": 1
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x720e7c4c9add2727bb24758ab6f547069b2addb4154658c0096ecc895ca9a9a3
call_targets: 0x74e9f8d38741196d6f8c0807d8f4f056a02d8193
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x720e7c4c9add2727bb24758ab6f547069b2addb4154658c0096ecc895ca9a9a3",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x74e9f8d38741196d6f8c0807d8f4f056a02d8193"
    ],
    "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": "0x025313a2",
            "selector": "0x025313a2",
            "calldata_variants": [
                "0x025313a2",
                "0x025313a20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x54fd4d50",
            "selector": "0x54fd4d50",
            "calldata_variants": [
                "0x54fd4d50",
                "0x54fd4d500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5a8b1a9f",
            "selector": "0x5a8b1a9f",
            "calldata_variants": [
                "0x5a8b1a9f",
                "0x5a8b1a9f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5c60da1b",
            "selector": "0x5c60da1b",
            "calldata_variants": [
                "0x5c60da1b",
                "0x5c60da1b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6fde8202",
            "selector": "0x6fde8202",
            "calldata_variants": [
                "0x6fde8202",
                "0x6fde82020000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x958a41dd",
            "selector": "0x958a41dd",
            "calldata_variants": [
                "0x958a41dd",
                "0x958a41dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf1739cae",
            "selector": "0xf1739cae",
            "calldata_variants": [
                "0xf1739cae",
                "0xf1739cae0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1198,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 1,
    "guards_detected": [],
    "untrusted_call_count": 1
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x720e7c4c9add2727bb24758ab6f547069b2addb4154658c0096ecc895ca9a9a3
call_targets: 0x74e9f8d38741196d6f8c0807d8f4f056a02d8193
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x720e7c4c9add2727bb24758ab6f547069b2addb4154658c0096ecc895ca9a9a3",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x74e9f8d38741196d6f8c0807d8f4f056a02d8193"
    ],
    "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": "0x025313a2",
            "selector": "0x025313a2",
            "calldata_variants": [
                "0x025313a2",
                "0x025313a20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x54fd4d50",
            "selector": "0x54fd4d50",
            "calldata_variants": [
                "0x54fd4d50",
                "0x54fd4d500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5a8b1a9f",
            "selector": "0x5a8b1a9f",
            "calldata_variants": [
                "0x5a8b1a9f",
                "0x5a8b1a9f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5c60da1b",
            "selector": "0x5c60da1b",
            "calldata_variants": [
                "0x5c60da1b",
                "0x5c60da1b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6fde8202",
            "selector": "0x6fde8202",
            "calldata_variants": [
                "0x6fde8202",
                "0x6fde82020000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x958a41dd",
            "selector": "0x958a41dd",
            "calldata_variants": [
                "0x958a41dd",
                "0x958a41dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf1739cae",
            "selector": "0xf1739cae",
            "calldata_variants": [
                "0xf1739cae",
                "0xf1739cae0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1198,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 1,
    "guards_detected": []
}