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

Analysis Run

019b3836-4b6d-72da-b1a2-87d7f630995e

complete
Chain ID
1
Address
Block Number
Created
Fri, Dec 19, 2025 8:04 PM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
0
Validated
0
Source
Bytecode only
Review Backing
Not yet
Best current signal
Untrusted 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
6899 artifact.fetch complete 1 / 3 3 months ago
6900 tool.cast_disasm complete 1 / 3 3 months ago
50896 analysis.bundle complete 1 / 3 1 week ago
50897 capability.graph complete 1 / 3 1 week ago
50898 detector.run complete 1 / 3 1 week ago
50899 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
2
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
9
EXT*/BALANCE
1
Total opcodes
1283
Flags
delegatecall_present
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x00f0
0000000a: JUMPI
0000000b: PUSH1 0xe0
0000000d: PUSH1 0x02
0000000f: EXP
00000010: PUSH1 0x00
00000012: CALLDATALOAD
00000013: DIV
00000014: PUSH4 0x21ee999c
00000019: DUP2
0000001a: EQ
0000001b: PUSH2 0x012e
0000001e: JUMPI
0000001f: DUP1
00000020: PUSH4 0x3372033c
00000025: EQ
00000026: PUSH2 0x014f
00000029: JUMPI
0000002a: DUP1
0000002b: PUSH4 0x3500f91e
00000030: EQ
00000031: PUSH2 0x0170
00000034: JUMPI
00000035: DUP1
00000036: PUSH4 0x355e937d
0000003b: EQ
0000003c: PUSH2 0x0181
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0x371fa854
00000046: EQ
00000047: PUSH2 0x0193
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0x592cdadd
00000051: EQ
00000052: PUSH2 0x019c
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0x632a9a52
0000005c: EQ
0000005d: PUSH2 0x01a5
00000060: JUMPI
00000061: DUP1
00000062: PUSH4 0x8c062e4e
00000067: EQ
00000068: PUSH2 0x01c4
0000006b: JUMPI
0000006c: DUP1
0000006d: PUSH4 0x8da5cb5b
00000072: EQ
00000073: PUSH2 0x01d6
00000076: JUMPI
00000077: DUP1
00000078: PUSH4 0x92801230
0000007d: EQ
0000007e: PUSH2 0x01e8
00000081: JUMPI
00000082: DUP1
00000083: PUSH4 0x99b24e0a
00000088: EQ
00000089: PUSH2 0x01fa
0000008c: JUMPI
0000008d: DUP1
0000008e: PUSH4 0x9e3b34bf
00000093: EQ
00000094: PUSH2 0x020c
00000097: JUMPI
00000098: DUP1
00000099: PUSH4 0xa04a0908
0000009e: EQ
0000009f: PUSH2 0x0215
000000a2: JUMPI
000000a3: DUP1
000000a4: PUSH4 0xb6b98c5d
000000a9: EQ
000000aa: PUSH2 0x0279
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0xbe9a6555
000000b4: EQ
000000b5: PUSH2 0x02db
000000b8: JUMPI
000000b9: DUP1
000000ba: PUSH4 0xc240e65a
000000bf: EQ
000000c0: PUSH2 0x02fa
000000c3: JUMPI
000000c4: DUP1
000000c5: PUSH4 0xcea941fc
000000ca: EQ
000000cb: PUSH2 0x031b
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0xe90956cf
000000d5: EQ
000000d6: PUSH2 0x0327
000000d9: JUMPI
000000da: DUP1
000000db: PUSH4 0xee0e7a7d
000000e0: EQ
000000e1: PUSH2 0x0348
000000e4: JUMPI
000000e5: DUP1
000000e6: PUSH4 0xfb91de56
000000eb: EQ
000000ec: PUSH2 0x035c
000000ef: JUMPI
000000f0: JUMPDEST
000000f1: PUSH2 0x037d
000000f4: PUSH1 0x07
000000f6: SLOAD
000000f7: PUSH1 0x00
000000f9: SWAP1
000000fa: PUSH1 0x01
000000fc: PUSH1 0xa0
000000fe: PUSH1 0x02
00000100: EXP
00000101: SUB
00000102: AND
00000103: DUP2
00000104: EQ
00000105: PUSH2 0x037f
00000108: JUMPI
00000109: PUSH1 0x07
0000010b: SLOAD
0000010c: PUSH1 0x01
0000010e: PUSH1 0xa0
00000110: PUSH1 0x02
00000112: EXP
00000113: SUB
00000114: AND
00000115: PUSH1 0x60
00000117: PUSH1 0x20
00000119: DUP2
0000011a: DUP5
0000011b: DUP2
0000011c: DUP6
0000011d: PUSH1 0x32
0000011f: GAS
00000120: SUB
00000121: DELEGATECALL
00000122: ISZERO
00000123: PUSH2 0x0002
00000126: JUMPI
00000127: POP
00000128: PUSH2 0x051c
0000012b: SWAP1
0000012c: POP
0000012d: JUMP
0000012e: JUMPDEST
0000012f: PUSH2 0x037d
00000132: PUSH1 0x04
00000134: CALLDATALOAD
00000135: PUSH1 0x00
00000137: SLOAD
00000138: CALLER
00000139: PUSH1 0x01
0000013b: PUSH1 0xa0
0000013d: PUSH1 0x02
0000013f: EXP
00000140: SUB
00000141: SWAP1
00000142: DUP2
00000143: AND
00000144: SWAP2
00000145: AND
00000146: EQ
00000147: PUSH2 0x053c
0000014a: JUMPI
0000014b: PUSH2 0x0002
0000014e: JUMP
0000014f: JUMPDEST
00000150: PUSH2 0x037d
00000153: PUSH1 0x04
00000155: CALLDATALOAD
00000156: PUSH1 0x00
00000158: SLOAD
00000159: CALLER
0000015a: PUSH1 0x01
0000015c: PUSH1 0xa0
0000015e: PUSH1 0x02
00000160: EXP
00000161: SUB
00000162: SWAP1
00000163: DUP2
00000164: AND
00000165: SWAP2
00000166: AND
00000167: EQ
00000168: PUSH2 0x0567
0000016b: JUMPI
0000016c: PUSH2 0x0002
0000016f: JUMP
00000170: JUMPDEST
00000171: PUSH2 0x051f
00000174: PUSH1 0x05
00000176: SLOAD
00000177: PUSH2 0x0100
0000017a: SWAP1
0000017b: DIV
0000017c: PUSH1 0xff
0000017e: AND
0000017f: DUP2
00000180: JUMP
00000181: JUMPDEST
00000182: PUSH2 0x0529
00000185: PUSH1 0x08
00000187: SLOAD
00000188: PUSH1 0x01
0000018a: PUSH1 0xa0
0000018c: PUSH1 0x02
0000018e: EXP
0000018f: SUB
00000190: AND
00000191: DUP2
00000192: JUMP
00000193: JUMPDEST
00000194: PUSH2 0x051f
00000197: PUSH1 0x01
00000199: SLOAD
0000019a: DUP2
0000019b: JUMP
0000019c: JUMPDEST
0000019d: PUSH2 0x051f
000001a0: PUSH1 0x06
000001a2: SLOAD
000001a3: DUP2
000001a4: JUMP
000001a5: JUMPDEST
000001a6: PUSH2 0x037d
000001a9: PUSH1 0x00
000001ab: DUP1
000001ac: SLOAD
000001ad: CALLER
000001ae: PUSH1 0x01
000001b0: PUSH1 0xa0
000001b2: PUSH1 0x02
000001b4: EXP
000001b5: SUB
000001b6: SWAP1
000001b7: DUP2
000001b8: AND
000001b9: SWAP2
000001ba: AND
000001bb: EQ
000001bc: PUSH2 0x0697
000001bf: JUMPI
000001c0: PUSH2 0x0002
000001c3: JUMP
000001c4: JUMPDEST
000001c5: PUSH2 0x0529
000001c8: PUSH1 0x03
000001ca: SLOAD
000001cb: PUSH1 0x01
000001cd: PUSH1 0xa0
000001cf: PUSH1 0x02
000001d1: EXP
000001d2: SUB
000001d3: AND
000001d4: DUP2
000001d5: JUMP
000001d6: JUMPDEST
000001d7: PUSH2 0x0529
000001da: PUSH1 0x00
000001dc: SLOAD
000001dd: PUSH1 0x01
000001df: PUSH1 0xa0
000001e1: PUSH1 0x02
000001e3: EXP
000001e4: SUB
000001e5: AND
000001e6: DUP2
000001e7: JUMP
000001e8: JUMPDEST
000001e9: PUSH2 0x0529
000001ec: PUSH1 0x07
000001ee: SLOAD
000001ef: PUSH1 0x01
000001f1: PUSH1 0xa0
000001f3: PUSH1 0x02
000001f5: EXP
000001f6: SUB
000001f7: AND
000001f8: DUP2
000001f9: JUMP
000001fa: JUMPDEST
000001fb: PUSH2 0x0529
000001fe: PUSH1 0x02
00000200: SLOAD
00000201: PUSH1 0x01
00000203: PUSH1 0xa0
00000205: PUSH1 0x02
00000207: EXP
00000208: SUB
00000209: AND
0000020a: DUP2
0000020b: JUMP
0000020c: JUMPDEST
0000020d: PUSH2 0x051f
00000210: PUSH1 0x04
00000212: SLOAD
00000213: DUP2
00000214: JUMP
00000215: JUMPDEST
00000216: PUSH1 0x80
00000218: PUSH1 0x20
0000021a: PUSH1 0x24
0000021c: DUP1
0000021d: CALLDATALOAD
0000021e: PUSH1 0x04
00000220: DUP2
00000221: DUP2
00000222: ADD
00000223: CALLDATALOAD
00000224: PUSH1 0x1f
00000226: DUP2
00000227: ADD
00000228: DUP6
00000229: SWAP1
0000022a: DIV
0000022b: SWAP1
0000022c: SWAP5
0000022d: MUL
0000022e: DUP6
0000022f: ADD
00000230: PUSH1 0x40
00000232: MSTORE
00000233: PUSH1 0x60
00000235: DUP5
00000236: DUP2
00000237: MSTORE
00000238: PUSH2 0x037d
0000023b: SWAP6
0000023c: DUP3
0000023d: CALLDATALOAD
0000023e: SWAP6
0000023f: SWAP3
00000240: SWAP5
00000241: PUSH1 0x44
00000243: SWAP5
00000244: SWAP3
00000245: SWAP4
00000246: SWAP3
00000247: ADD
00000248: SWAP2
00000249: SWAP1
0000024a: DUP2
0000024b: SWAP1
0000024c: DUP4
0000024d: DUP3
0000024e: DUP1
0000024f: DUP3
00000250: DUP5
00000251: CALLDATACOPY
00000252: POP
00000253: SWAP5
00000254: SWAP7
00000255: POP
00000256: POP
00000257: SWAP4
00000258: CALLDATALOAD
00000259: SWAP4
0000025a: POP
0000025b: POP
0000025c: POP
0000025d: POP
0000025e: PUSH1 0x00
00000260: SLOAD
00000261: PUSH1 0x01
00000263: PUSH1 0xa0
00000265: PUSH1 0x02
00000267: EXP
00000268: SUB
00000269: SWAP1
0000026a: DUP2
0000026b: AND
0000026c: CALLER
0000026d: SWAP1
0000026e: SWAP2
0000026f: AND
00000270: EQ
00000271: PUSH2 0x0620
00000274: JUMPI
00000275: PUSH2 0x0002
00000278: JUMP
00000279: JUMPDEST
0000027a: PUSH1 0x80
0000027c: PUSH1 0x20
0000027e: PUSH1 0x24
00000280: DUP1
00000281: CALLDATALOAD
00000282: PUSH1 0x04
00000284: DUP2
00000285: DUP2
00000286: ADD
00000287: CALLDATALOAD
00000288: PUSH1 0x1f
0000028a: DUP2
0000028b: ADD
0000028c: DUP6
0000028d: SWAP1
0000028e: DIV
0000028f: SWAP1
00000290: SWAP5
00000291: MUL
00000292: DUP6
00000293: ADD
00000294: PUSH1 0x40
00000296: MSTORE
00000297: PUSH1 0x60
00000299: DUP5
0000029a: DUP2
0000029b: MSTORE
0000029c: PUSH2 0x037d
0000029f: SWAP6
000002a0: DUP3
000002a1: CALLDATALOAD
000002a2: SWAP6
000002a3: SWAP3
000002a4: SWAP5
000002a5: PUSH1 0x44
000002a7: SWAP5
000002a8: SWAP3
000002a9: SWAP4
000002aa: SWAP3
000002ab: ADD
000002ac: SWAP2
000002ad: SWAP1
000002ae: DUP2
000002af: SWAP1
000002b0: DUP4
000002b1: DUP3
000002b2: DUP1
000002b3: DUP3
000002b4: DUP5
000002b5: CALLDATACOPY
000002b6: POP
000002b7: SWAP5
000002b8: SWAP7
000002b9: POP
000002ba: POP
000002bb: POP
000002bc: POP
000002bd: POP
000002be: POP
000002bf: POP
000002c0: PUSH1 0x00
000002c2: SLOAD
000002c3: PUSH1 0x01
000002c5: PUSH1 0xa0
000002c7: PUSH1 0x02
000002c9: EXP
000002ca: SUB
000002cb: SWAP1
000002cc: DUP2
000002cd: AND
000002ce: CALLER
000002cf: SWAP1
000002d0: SWAP2
000002d1: AND
000002d2: EQ
000002d3: PUSH2 0x05ab
000002d6: JUMPI
000002d7: PUSH2 0x0002
000002da: JUMP
000002db: JUMPDEST
000002dc: PUSH2 0x037d
000002df: PUSH1 0x00
000002e1: DUP1
000002e2: SLOAD
000002e3: CALLER
000002e4: PUSH1 0x01
000002e6: PUSH1 0xa0
000002e8: PUSH1 0x02
000002ea: EXP
000002eb: SUB
000002ec: SWAP1
000002ed: DUP2
000002ee: AND
000002ef: SWAP2
000002f0: AND
000002f1: EQ
000002f2: PUSH2 0x0711
000002f5: JUMPI
000002f6: PUSH2 0x0002
000002f9: JUMP
000002fa: JUMPDEST
000002fb: PUSH2 0x037d
000002fe: PUSH1 0x04
00000300: CALLDATALOAD
00000301: PUSH1 0x00
00000303: SLOAD
00000304: CALLER
00000305: PUSH1 0x01
00000307: PUSH1 0xa0
00000309: PUSH1 0x02
0000030b: EXP
0000030c: SUB
0000030d: SWAP1
0000030e: DUP2
0000030f: AND
00000310: SWAP2
00000311: AND
00000312: EQ
00000313: PUSH2 0x0581
00000316: JUMPI
00000317: PUSH2 0x0002
0000031a: JUMP
0000031b: JUMPDEST
0000031c: PUSH2 0x051f
0000031f: PUSH1 0x05
00000321: SLOAD
00000322: PUSH1 0xff
00000324: AND
00000325: DUP2
00000326: JUMP
00000327: JUMPDEST
00000328: PUSH2 0x037d
0000032b: PUSH1 0x04
0000032d: CALLDATALOAD
0000032e: PUSH1 0x00
00000330: SLOAD
00000331: CALLER
00000332: PUSH1 0x01
00000334: PUSH1 0xa0
00000336: PUSH1 0x02
00000338: EXP
00000339: SUB
0000033a: SWAP1
0000033b: DUP2
0000033c: AND
0000033d: SWAP2
0000033e: AND
0000033f: EQ
00000340: PUSH2 0x0596
00000343: JUMPI
00000344: PUSH2 0x0002
00000347: JUMP
00000348: JUMPDEST
00000349: PUSH2 0x051f
0000034c: PUSH1 0x00
0000034e: SLOAD
0000034f: PUSH1 0xff
00000351: PUSH1 0xa0
00000353: PUSH1 0x02
00000355: EXP
00000356: SWAP1
00000357: SWAP2
00000358: DIV
00000359: AND
0000035a: DUP2
0000035b: JUMP
0000035c: JUMPDEST
0000035d: PUSH2 0x037d
00000360: PUSH1 0x04
00000362: CALLDATALOAD
00000363: PUSH1 0x00
00000365: SLOAD
00000366: CALLER
00000367: PUSH1 0x01
00000369: PUSH1 0xa0
0000036b: PUSH1 0x02
0000036d: EXP
0000036e: SUB
0000036f: SWAP1
00000370: DUP2
00000371: AND
00000372: SWAP2
00000373: AND
00000374: EQ
00000375: PUSH2 0x057c
00000378: JUMPI
00000379: PUSH2 0x0002
0000037c: JUMP
0000037d: JUMPDEST
0000037e: STOP
0000037f: JUMPDEST
00000380: PUSH1 0x03
00000382: SLOAD
00000383: SWAP1
00000384: SLOAD
00000385: PUSH1 0x01
00000387: PUSH1 0xa0
00000389: PUSH1 0x02
0000038b: EXP
0000038c: SUB
0000038d: SWAP2
0000038e: SWAP1
0000038f: SWAP2
00000390: AND
00000391: SWAP1
00000392: PUSH1 0xa0
00000394: PUSH1 0x02
00000396: EXP
00000397: SWAP1
00000398: DIV
00000399: PUSH1 0xff
0000039b: AND
0000039c: DUP1
0000039d: ISZERO
0000039e: PUSH2 0x03a9
000003a1: JUMPI
000003a2: POP
000003a3: PUSH3 0x030d40
000003a7: GAS
000003a8: GT
000003a9: JUMPDEST
000003aa: DUP1
000003ab: ISZERO
000003ac: PUSH2 0x0403
000003af: JUMPI
000003b0: POP
000003b1: PUSH1 0xe0
000003b3: PUSH1 0x02
000003b5: EXP
000003b6: PUSH4 0x70a08231
000003bb: MUL
000003bc: PUSH1 0x60
000003be: SWAP1
000003bf: DUP2
000003c0: MSTORE
000003c1: ADDRESS
000003c2: PUSH1 0x01
000003c4: PUSH1 0xa0
000003c6: PUSH1 0x02
000003c8: EXP
000003c9: SUB
000003ca: AND
000003cb: PUSH1 0x64
000003cd: MSTORE
000003ce: DUP2
000003cf: SWAP1
000003d0: PUSH4 0x70a08231
000003d5: SWAP1
000003d6: PUSH1 0x84
000003d8: SWAP1
000003d9: PUSH1 0x20
000003db: SWAP1
000003dc: PUSH1 0x24
000003de: DUP2
000003df: PUSH1 0x00
000003e1: DUP8
000003e2: PUSH2 0x61da
000003e5: GAS
000003e6: SUB
000003e7: CALL
000003e8: ISZERO
000003e9: PUSH2 0x0002
000003ec: JUMPI
000003ed: POP
000003ee: POP
000003ef: PUSH1 0x40
000003f1: MLOAD
000003f2: MLOAD
000003f3: PUSH1 0x03
000003f5: SLOAD
000003f6: PUSH1 0x01
000003f8: PUSH1 0xa0
000003fa: PUSH1 0x02
000003fc: EXP
000003fd: SUB
000003fe: AND
000003ff: BALANCE
00000400: GT
00000401: SWAP1
00000402: POP
00000403: JUMPDEST
00000404: ISZERO
00000405: PUSH2 0x0466
00000408: JUMPI
00000409: PUSH1 0x40
0000040b: DUP1
0000040c: MLOAD
0000040d: PUSH1 0x01
0000040f: SLOAD
00000410: PUSH1 0x02
00000412: SLOAD
00000413: PUSH1 0xe2
00000415: PUSH1 0x02
00000417: EXP
00000418: PUSH4 0x20998771
0000041d: MUL
0000041e: DUP4
0000041f: MSTORE
00000420: PUSH1 0x04
00000422: DUP4
00000423: ADD
00000424: SWAP2
00000425: SWAP1
00000426: SWAP2
00000427: MSTORE
00000428: PUSH1 0x01
0000042a: PUSH1 0xa0
0000042c: PUSH1 0x02
0000042e: EXP
0000042f: SUB
00000430: AND
00000431: PUSH1 0x24
00000433: DUP3
00000434: ADD
00000435: MSTORE
00000436: SWAP1
00000437: MLOAD
00000438: DUP3
00000439: SWAP2
0000043a: PUSH4 0x82661dc4
0000043f: SWAP2
00000440: PUSH1 0x44
00000442: DUP1
00000443: DUP4
00000444: ADD
00000445: SWAP3
00000446: PUSH1 0x20
00000448: SWAP3
00000449: SWAP2
0000044a: SWAP1
0000044b: DUP3
0000044c: SWAP1
0000044d: SUB
0000044e: ADD
0000044f: DUP2
00000450: PUSH1 0x00
00000452: DUP8
00000453: PUSH2 0x61da
00000456: GAS
00000457: SUB
00000458: CALL
00000459: ISZERO
0000045a: PUSH2 0x0002
0000045d: JUMPI
0000045e: POP
0000045f: PUSH2 0x051c
00000462: SWAP2
00000463: POP
00000464: POP
00000465: JUMP
00000466: JUMPDEST
00000467: PUSH1 0x40
00000469: DUP1
0000046a: MLOAD
0000046b: PUSH1 0x08
0000046d: SLOAD
0000046e: PUSH1 0xe0
00000470: PUSH1 0x02
00000472: EXP
00000473: PUSH4 0x70a08231
00000478: MUL
00000479: DUP3
0000047a: MSTORE
0000047b: ADDRESS
0000047c: PUSH1 0x01
0000047e: PUSH1 0xa0
00000480: PUSH1 0x02
00000482: EXP
00000483: SUB
00000484: SWAP1
00000485: DUP2
00000486: AND
00000487: PUSH1 0x04
00000489: DUP5
0000048a: ADD
0000048b: MSTORE
0000048c: SWAP3
0000048d: MLOAD
0000048e: DUP5
0000048f: SWAP4
00000490: PUSH4 0xa9059cbb
00000495: SWAP4
00000496: SWAP3
00000497: AND
00000498: SWAP2
00000499: DUP5
0000049a: SWAP2
0000049b: PUSH4 0x70a08231
000004a0: SWAP2
000004a1: PUSH1 0x24
000004a3: DUP2
000004a4: DUP2
000004a5: ADD
000004a6: SWAP3
000004a7: PUSH1 0x20
000004a9: SWAP3
000004aa: SWAP1
000004ab: SWAP2
000004ac: SWAP1
000004ad: DUP3
000004ae: SWAP1
000004af: SUB
000004b0: ADD
000004b1: DUP2
000004b2: PUSH1 0x00
000004b4: DUP8
000004b5: PUSH2 0x61da
000004b8: GAS
000004b9: SUB
000004ba: CALL
000004bb: ISZERO
000004bc: PUSH2 0x0002
000004bf: JUMPI
000004c0: POP
000004c1: POP
000004c2: PUSH1 0x40
000004c4: DUP1
000004c5: MLOAD
000004c6: DUP1
000004c7: MLOAD
000004c8: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
000004e9: DUP3
000004ea: MSTORE
000004eb: PUSH1 0x04
000004ed: DUP3
000004ee: ADD
000004ef: SWAP5
000004f0: SWAP1
000004f1: SWAP5
000004f2: MSTORE
000004f3: PUSH1 0x24
000004f5: DUP2
000004f6: ADD
000004f7: SWAP4
000004f8: SWAP1
000004f9: SWAP4
000004fa: MSTORE
000004fb: MLOAD
000004fc: PUSH1 0x44
000004fe: DUP4
000004ff: DUP2
00000500: ADD
00000501: SWAP4
00000502: PUSH1 0x20
00000504: SWAP4
00000505: POP
00000506: DUP3
00000507: SWAP1
00000508: SUB
00000509: ADD
0000050a: DUP2
0000050b: PUSH1 0x00
0000050d: DUP8
0000050e: PUSH2 0x61da
00000511: GAS
00000512: SUB
00000513: CALL
00000514: ISZERO
00000515: PUSH2 0x0002
00000518: JUMPI
00000519: POP
0000051a: POP
0000051b: POP
0000051c: JUMPDEST
0000051d: POP
0000051e: JUMP
0000051f: JUMPDEST
00000520: PUSH1 0x60
00000522: SWAP1
00000523: DUP2
00000524: MSTORE
00000525: PUSH1 0x20
00000527: SWAP1
00000528: RETURN
00000529: JUMPDEST
0000052a: PUSH1 0x01
0000052c: PUSH1 0xa0
0000052e: PUSH1 0x02
00000530: EXP
00000531: SUB
00000532: AND
00000533: PUSH1 0x60
00000535: SWAP1
00000536: DUP2
00000537: MSTORE
00000538: PUSH1 0x20
0000053a: SWAP1
0000053b: RETURN
0000053c: JUMPDEST
0000053d: PUSH1 0x00
0000053f: DUP1
00000540: SLOAD
00000541: PUSH1 0xa0
00000543: PUSH1 0x02
00000545: EXP
00000546: DUP4
00000547: MUL
00000548: PUSH21 0xff0000000000000000000000000000000000000000
0000055e: NOT
0000055f: SWAP1
00000560: SWAP2
00000561: AND
00000562: OR
00000563: SWAP1
00000564: SSTORE
00000565: POP
00000566: JUMP
00000567: JUMPDEST
00000568: PUSH1 0x08
0000056a: DUP1
0000056b: SLOAD
0000056c: PUSH1 0x01
0000056e: PUSH1 0xa0
00000570: PUSH1 0x02
00000572: EXP
00000573: SUB
00000574: NOT
00000575: AND
00000576: DUP3
00000577: OR
00000578: SWAP1
00000579: SSTORE
0000057a: POP
0000057b: JUMP
0000057c: JUMPDEST
0000057d: PUSH1 0x01
0000057f: SSTORE
00000580: JUMP
00000581: JUMPDEST
00000582: PUSH1 0x07
00000584: DUP1
00000585: SLOAD
00000586: PUSH1 0x01
00000588: PUSH1 0xa0
0000058a: PUSH1 0x02
0000058c: EXP
0000058d: SUB
0000058e: NOT
0000058f: AND
00000590: DUP3
00000591: OR
00000592: SWAP1
00000593: SSTORE
00000594: POP
00000595: JUMP
00000596: JUMPDEST
00000597: PUSH1 0x02
00000599: DUP1
0000059a: SLOAD
0000059b: PUSH1 0x01
0000059d: PUSH1 0xa0
0000059f: PUSH1 0x02
000005a1: EXP
000005a2: SUB
000005a3: NOT
000005a4: AND
000005a5: DUP3
000005a6: OR
000005a7: SWAP1
000005a8: SSTORE
000005a9: POP
000005aa: JUMP
000005ab: JUMPDEST
000005ac: PUSH1 0x40
000005ae: MLOAD
000005af: DUP2
000005b0: MLOAD
000005b1: PUSH1 0x01
000005b3: PUSH1 0xa0
000005b5: PUSH1 0x02
000005b7: EXP
000005b8: SUB
000005b9: DUP5
000005ba: AND
000005bb: SWAP2
000005bc: DUP4
000005bd: SWAP2
000005be: DUP2
000005bf: SWAP1
000005c0: PUSH1 0x80
000005c2: SWAP1
000005c3: DUP1
000005c4: DUP4
000005c5: DUP2
000005c6: DUP5
000005c7: PUSH1 0x00
000005c9: PUSH1 0x04
000005cb: PUSH1 0x0f
000005cd: PUSH1 0x20
000005cf: PUSH1 0x1f
000005d1: DUP7
000005d2: ADD
000005d3: DIV
000005d4: MUL
000005d5: PUSH1 0x03
000005d7: ADD
000005d8: CALL
000005d9: POP
000005da: SWAP1
000005db: POP
000005dc: SWAP1
000005dd: DUP2
000005de: ADD
000005df: SWAP1
000005e0: PUSH1 0x1f
000005e2: AND
000005e3: DUP1
000005e4: ISZERO
000005e5: PUSH2 0x0602
000005e8: JUMPI
000005e9: DUP1
000005ea: DUP3
000005eb: SUB
000005ec: DUP1
000005ed: MLOAD
000005ee: PUSH1 0x01
000005f0: DUP4
000005f1: PUSH1 0x20
000005f3: SUB
000005f4: PUSH2 0x0100
000005f7: EXP
000005f8: SUB
000005f9: NOT
000005fa: AND
000005fb: DUP2
000005fc: MSTORE
000005fd: PUSH1 0x20
000005ff: ADD
00000600: SWAP2
00000601: POP
00000602: JUMPDEST
00000603: POP
00000604: SWAP2
00000605: POP
00000606: POP
00000607: PUSH1 0x20
00000609: PUSH1 0x40
0000060b: MLOAD
0000060c: DUP1
0000060d: DUP4
0000060e: SUB
0000060f: DUP2
00000610: DUP6
00000611: PUSH1 0x32
00000613: GAS
00000614: SUB
00000615: DELEGATECALL
00000616: ISZERO
00000617: PUSH2 0x0002
0000061a: JUMPI
0000061b: POP
0000061c: POP
0000061d: POP
0000061e: POP
0000061f: JUMP
00000620: JUMPDEST
00000621: DUP3
00000622: PUSH1 0x01
00000624: PUSH1 0xa0
00000626: PUSH1 0x02
00000628: EXP
00000629: SUB
0000062a: AND
0000062b: DUP2
0000062c: DUP4
0000062d: PUSH1 0x40
0000062f: MLOAD
00000630: DUP1
00000631: DUP3
00000632: DUP1
00000633: MLOAD
00000634: SWAP1
00000635: PUSH1 0x20
00000637: ADD
00000638: SWAP1
00000639: DUP1
0000063a: DUP4
0000063b: DUP4
0000063c: DUP3
0000063d: SWAP1
0000063e: PUSH1 0x00
00000640: PUSH1 0x04
00000642: PUSH1 0x20
00000644: DUP5
00000645: PUSH1 0x1f
00000647: ADD
00000648: DIV
00000649: PUSH1 0x0f
0000064b: MUL
0000064c: PUSH1 0x03
0000064e: ADD
0000064f: CALL
00000650: POP
00000651: SWAP1
00000652: POP
00000653: SWAP1
00000654: DUP2
00000655: ADD
00000656: SWAP1
00000657: PUSH1 0x1f
00000659: AND
0000065a: DUP1
0000065b: ISZERO
0000065c: PUSH2 0x0679
0000065f: JUMPI
00000660: DUP1
00000661: DUP3
00000662: SUB
00000663: DUP1
00000664: MLOAD
00000665: PUSH1 0x01
00000667: DUP4
00000668: PUSH1 0x20
0000066a: SUB
0000066b: PUSH2 0x0100
0000066e: EXP
0000066f: SUB
00000670: NOT
00000671: AND
00000672: DUP2
00000673: MSTORE
00000674: PUSH1 0x20
00000676: ADD
00000677: SWAP2
00000678: POP
00000679: JUMPDEST
0000067a: POP
0000067b: SWAP2
0000067c: POP
0000067d: POP
0000067e: PUSH1 0x00
00000680: PUSH1 0x40
00000682: MLOAD
00000683: DUP1
00000684: DUP4
00000685: SUB
00000686: DUP2
00000687: DUP6
00000688: DUP8
00000689: PUSH2 0x8502
0000068c: GAS
0000068d: SUB
0000068e: CALL
0000068f: POP
00000690: POP
00000691: POP
00000692: POP
00000693: POP
00000694: POP
00000695: POP
00000696: JUMP
00000697: JUMPDEST
00000698: PUSH1 0x05
0000069a: DUP1
0000069b: SLOAD
0000069c: PUSH2 0xff00
0000069f: NOT
000006a0: AND
000006a1: PUSH2 0x0100
000006a4: OR
000006a5: SWAP1
000006a6: SSTORE
000006a7: PUSH1 0x03
000006a9: SLOAD
000006aa: PUSH1 0x01
000006ac: DUP1
000006ad: SLOAD
000006ae: PUSH32 0xc9d27afe00000000000000000000000000000000000000000000000000000000
000006cf: PUSH1 0x60
000006d1: SWAP1
000006d2: DUP2
000006d3: MSTORE
000006d4: PUSH1 0x64
000006d6: SWAP2
000006d7: SWAP1
000006d8: SWAP2
000006d9: MSTORE
000006da: PUSH1 0x84
000006dc: SWAP2
000006dd: SWAP1
000006de: SWAP2
000006df: MSTORE
000006e0: PUSH1 0x01
000006e2: PUSH1 0xa0
000006e4: PUSH1 0x02
000006e6: EXP
000006e7: SUB
000006e8: SWAP2
000006e9: SWAP1
000006ea: SWAP2
000006eb: AND
000006ec: SWAP2
000006ed: DUP3
000006ee: SWAP2
000006ef: PUSH4 0xc9d27afe
000006f4: SWAP2
000006f5: PUSH1 0xa4
000006f7: SWAP2
000006f8: PUSH1 0x20
000006fa: SWAP2
000006fb: PUSH1 0x44
000006fd: SWAP1
000006fe: DUP3
000006ff: SWAP1
00000700: DUP8
00000701: PUSH2 0x61da
00000704: GAS
00000705: SUB
00000706: CALL
00000707: ISZERO
00000708: PUSH2 0x0002
0000070b: JUMPI
0000070c: POP
0000070d: POP
0000070e: POP
0000070f: POP
00000710: JUMP
00000711: JUMPDEST
00000712: PUSH1 0x05
00000714: DUP1
00000715: SLOAD
00000716: PUSH1 0xff
00000718: NOT
00000719: AND
0000071a: PUSH1 0x01
0000071c: SWAP1
0000071d: DUP2
0000071e: OR
0000071f: SWAP1
00000720: SWAP2
00000721: SSTORE
00000722: PUSH1 0x03
00000724: SLOAD
00000725: SWAP1
00000726: SLOAD
00000727: PUSH1 0x02
00000729: SLOAD
0000072a: PUSH1 0xe2
0000072c: PUSH1 0x02
0000072e: EXP
0000072f: PUSH4 0x20998771
00000734: MUL
00000735: PUSH1 0x60
00000737: SWAP1
00000738: DUP2
00000739: MSTORE
0000073a: PUSH1 0x64
0000073c: SWAP3
0000073d: SWAP1
0000073e: SWAP3
0000073f: MSTORE
00000740: PUSH1 0x01
00000742: PUSH1 0xa0
00000744: PUSH1 0x02
00000746: EXP
00000747: SUB
00000748: SWAP1
00000749: DUP2
0000074a: AND
0000074b: PUSH1 0x84
0000074d: MSTORE
0000074e: SWAP2
0000074f: SWAP1
00000750: SWAP2
00000751: AND
00000752: SWAP2
00000753: DUP3
00000754: SWAP2
00000755: PUSH4 0x82661dc4
0000075a: SWAP2
0000075b: PUSH1 0xa4
0000075d: SWAP2
0000075e: PUSH1 0x20
00000760: SWAP2
00000761: PUSH1 0x44
00000763: SWAP1
00000764: DUP3
00000765: SWAP1
00000766: DUP8
00000767: PUSH2 0x61da
0000076a: GAS
0000076b: SUB
0000076c: CALL
0000076d: ISZERO
0000076e: PUSH2 0x0002
00000771: JUMPI
00000772: POP
00000773: POP
00000774: POP
00000775: POP
00000776: JUMP
View stderr
Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment.

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability detector Untrusted DELEGATECALL target reachable 70 no no
view
trace_id: 0x364a584263431ae35975348bd3588723f1f3bab34af2fd4df42c21ac473e63ad
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x364a584263431ae35975348bd3588723f1f3bab34af2fd4df42c21ac473e63ad",
    "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": "0x21ee999c",
            "selector": "0x21ee999c",
            "calldata_variants": [
                "0x21ee999c",
                "0x21ee999c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3372033c",
            "selector": "0x3372033c",
            "calldata_variants": [
                "0x3372033c",
                "0x3372033c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3500f91e",
            "selector": "0x3500f91e",
            "calldata_variants": [
                "0x3500f91e",
                "0x3500f91e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x355e937d",
            "selector": "0x355e937d",
            "calldata_variants": [
                "0x355e937d",
                "0x355e937d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x371fa854",
            "selector": "0x371fa854",
            "calldata_variants": [
                "0x371fa854",
                "0x371fa8540000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x592cdadd",
            "selector": "0x592cdadd",
            "calldata_variants": [
                "0x592cdadd",
                "0x592cdadd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x632a9a52",
            "selector": "0x632a9a52",
            "calldata_variants": [
                "0x632a9a52",
                "0x632a9a520000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8c062e4e",
            "selector": "0x8c062e4e",
            "calldata_variants": [
                "0x8c062e4e",
                "0x8c062e4e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 289,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 1557,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 2,
    "untrusted_delegatecall_count": 2
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x0e5880ca13d2b1ceea9e609f57649175493c99b94065bcad3e84548e3856d5bf
call_targets: 0x2ba9d006c1d72e67a70b5526fc6b4b0c0fd6d334
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x0e5880ca13d2b1ceea9e609f57649175493c99b94065bcad3e84548e3856d5bf",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x2ba9d006c1d72e67a70b5526fc6b4b0c0fd6d334"
    ],
    "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": "0x21ee999c",
            "selector": "0x21ee999c",
            "calldata_variants": [
                "0x21ee999c",
                "0x21ee999c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3372033c",
            "selector": "0x3372033c",
            "calldata_variants": [
                "0x3372033c",
                "0x3372033c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3500f91e",
            "selector": "0x3500f91e",
            "calldata_variants": [
                "0x3500f91e",
                "0x3500f91e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x355e937d",
            "selector": "0x355e937d",
            "calldata_variants": [
                "0x355e937d",
                "0x355e937d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x371fa854",
            "selector": "0x371fa854",
            "calldata_variants": [
                "0x371fa854",
                "0x371fa8540000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x592cdadd",
            "selector": "0x592cdadd",
            "calldata_variants": [
                "0x592cdadd",
                "0x592cdadd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x632a9a52",
            "selector": "0x632a9a52",
            "calldata_variants": [
                "0x632a9a52",
                "0x632a9a520000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8c062e4e",
            "selector": "0x8c062e4e",
            "calldata_variants": [
                "0x8c062e4e",
                "0x8c062e4e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 999,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "constant",
            "target_expression_category": "computed"
        },
        {
            "pc": 1112,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1210,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 9,
    "guards_detected": [],
    "untrusted_call_count": 9
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x0e5880ca13d2b1ceea9e609f57649175493c99b94065bcad3e84548e3856d5bf
call_targets: 0x2ba9d006c1d72e67a70b5526fc6b4b0c0fd6d334
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x0e5880ca13d2b1ceea9e609f57649175493c99b94065bcad3e84548e3856d5bf",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x2ba9d006c1d72e67a70b5526fc6b4b0c0fd6d334"
    ],
    "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": "0x21ee999c",
            "selector": "0x21ee999c",
            "calldata_variants": [
                "0x21ee999c",
                "0x21ee999c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3372033c",
            "selector": "0x3372033c",
            "calldata_variants": [
                "0x3372033c",
                "0x3372033c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3500f91e",
            "selector": "0x3500f91e",
            "calldata_variants": [
                "0x3500f91e",
                "0x3500f91e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x355e937d",
            "selector": "0x355e937d",
            "calldata_variants": [
                "0x355e937d",
                "0x355e937d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x371fa854",
            "selector": "0x371fa854",
            "calldata_variants": [
                "0x371fa854",
                "0x371fa8540000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x592cdadd",
            "selector": "0x592cdadd",
            "calldata_variants": [
                "0x592cdadd",
                "0x592cdadd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x632a9a52",
            "selector": "0x632a9a52",
            "calldata_variants": [
                "0x632a9a52",
                "0x632a9a520000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8c062e4e",
            "selector": "0x8c062e4e",
            "calldata_variants": [
                "0x8c062e4e",
                "0x8c062e4e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 999,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "constant",
            "target_expression_category": "computed"
        },
        {
            "pc": 1112,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1210,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 9,
    "guards_detected": []
}