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

Analysis Run

019b3844-8d32-7282-ab58-05652c28fad4

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
12091 artifact.fetch complete 1 / 3 3 months ago
12092 tool.cast_disasm complete 1 / 3 3 months ago
55756 analysis.bundle complete 1 / 3 1 week ago
55757 capability.graph complete 1 / 3 1 week ago
55758 detector.run complete 1 / 3 1 week ago
55759 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)
0
EXT*/BALANCE
0
Total opcodes
947
Flags
delegatecall_present
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x00fb
0000000c: JUMPI
0000000d: PUSH4 0xffffffff
00000012: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000030: PUSH1 0x00
00000032: CALLDATALOAD
00000033: DIV
00000034: AND
00000035: PUSH4 0x19774d43
0000003a: DUP2
0000003b: EQ
0000003c: PUSH2 0x0167
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0x1bff4786
00000046: EQ
00000047: PUSH2 0x019b
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0x3cf52ffb
00000051: EQ
00000052: PUSH2 0x01c6
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0x508493bc
0000005c: EQ
0000005d: PUSH2 0x01d9
00000060: JUMPI
00000061: DUP1
00000062: PUSH4 0x55ce76e6
00000067: EQ
00000068: PUSH2 0x01fe
0000006b: JUMPI
0000006c: DUP1
0000006d: PUSH4 0x5bd948b1
00000072: EQ
00000073: PUSH2 0x0211
00000076: JUMPI
00000077: DUP1
00000078: PUSH4 0x5d4d061e
0000007d: EQ
0000007e: PUSH2 0x0238
00000081: JUMPI
00000082: DUP1
00000083: PUSH4 0x65e17c9d
00000088: EQ
00000089: PUSH2 0x0267
0000008c: JUMPI
0000008d: DUP1
0000008e: PUSH4 0x8e1e2add
00000093: EQ
00000094: PUSH2 0x027a
00000097: JUMPI
00000098: DUP1
00000099: PUSH4 0xaaf10f42
0000009e: EQ
0000009f: PUSH2 0x028d
000000a2: JUMPI
000000a3: DUP1
000000a4: PUSH4 0xbb057c5e
000000a9: EQ
000000aa: PUSH2 0x02a0
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0xbb5f4629
000000b4: EQ
000000b5: PUSH2 0x02b3
000000b8: JUMPI
000000b9: DUP1
000000ba: PUSH4 0xc281309e
000000bf: EQ
000000c0: PUSH2 0x02d5
000000c3: JUMPI
000000c4: DUP1
000000c5: PUSH4 0xc915fc93
000000ca: EQ
000000cb: PUSH2 0x02e8
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0xd55ec697
000000d5: EQ
000000d6: PUSH2 0x0309
000000d9: JUMPI
000000da: DUP1
000000db: PUSH4 0xd67a10e3
000000e0: EQ
000000e1: PUSH2 0x031c
000000e4: JUMPI
000000e5: DUP1
000000e6: PUSH4 0xf851a440
000000eb: EQ
000000ec: PUSH2 0x032f
000000ef: JUMPI
000000f0: DUP1
000000f1: PUSH4 0xfe26f16f
000000f6: EQ
000000f7: PUSH2 0x0342
000000fa: JUMPI
000000fb: JUMPDEST
000000fc: PUSH2 0x0103
000000ff: PUSH2 0x05cd
00000102: JUMP
00000103: JUMPDEST
00000104: PUSH1 0x00
00000106: DUP1
00000107: CALLDATASIZE
00000108: DUP1
00000109: DUP1
0000010a: PUSH1 0x1f
0000010c: ADD
0000010d: PUSH1 0x20
0000010f: DUP1
00000110: SWAP2
00000111: DIV
00000112: MUL
00000113: PUSH1 0x20
00000115: ADD
00000116: PUSH1 0x40
00000118: MLOAD
00000119: SWAP1
0000011a: DUP2
0000011b: ADD
0000011c: PUSH1 0x40
0000011e: MSTORE
0000011f: DUP2
00000120: DUP2
00000121: MSTORE
00000122: SWAP3
00000123: SWAP2
00000124: SWAP1
00000125: PUSH1 0x20
00000127: DUP5
00000128: ADD
00000129: DUP4
0000012a: DUP4
0000012b: DUP1
0000012c: DUP3
0000012d: DUP5
0000012e: CALLDATACOPY
0000012f: DUP3
00000130: ADD
00000131: SWAP2
00000132: POP
00000133: POP
00000134: POP
00000135: POP
00000136: POP
00000137: POP
00000138: SWAP2
00000139: POP
0000013a: PUSH2 0x0141
0000013d: PUSH2 0x0355
00000140: JUMP
00000141: JUMPDEST
00000142: SWAP1
00000143: POP
00000144: PUSH1 0x00
00000146: DUP1
00000147: DUP4
00000148: MLOAD
00000149: PUSH1 0x20
0000014b: DUP6
0000014c: ADD
0000014d: DUP5
0000014e: GAS
0000014f: DELEGATECALL
00000150: RETURNDATASIZE
00000151: PUSH1 0x40
00000153: MLOAD
00000154: DUP2
00000155: PUSH1 0x00
00000157: DUP3
00000158: RETURNDATACOPY
00000159: DUP3
0000015a: DUP1
0000015b: ISZERO
0000015c: PUSH2 0x0163
0000015f: JUMPI
00000160: DUP3
00000161: DUP3
00000162: RETURN
00000163: JUMPDEST
00000164: DUP3
00000165: DUP3
00000166: REVERT
00000167: JUMPDEST
00000168: CALLVALUE
00000169: ISZERO
0000016a: PUSH2 0x0172
0000016d: JUMPI
0000016e: PUSH1 0x00
00000170: DUP1
00000171: REVERT
00000172: JUMPDEST
00000173: PUSH2 0x0189
00000176: PUSH1 0x01
00000178: PUSH1 0xa0
0000017a: PUSH1 0x02
0000017c: EXP
0000017d: SUB
0000017e: PUSH1 0x04
00000180: CALLDATALOAD
00000181: AND
00000182: PUSH1 0x24
00000184: CALLDATALOAD
00000185: PUSH2 0x0364
00000188: JUMP
00000189: JUMPDEST
0000018a: PUSH1 0x40
0000018c: MLOAD
0000018d: SWAP1
0000018e: DUP2
0000018f: MSTORE
00000190: PUSH1 0x20
00000192: ADD
00000193: PUSH1 0x40
00000195: MLOAD
00000196: DUP1
00000197: SWAP2
00000198: SUB
00000199: SWAP1
0000019a: RETURN
0000019b: JUMPDEST
0000019c: CALLVALUE
0000019d: ISZERO
0000019e: PUSH2 0x01a6
000001a1: JUMPI
000001a2: PUSH1 0x00
000001a4: DUP1
000001a5: REVERT
000001a6: JUMPDEST
000001a7: PUSH2 0x01ae
000001aa: PUSH2 0x0381
000001ad: JUMP
000001ae: JUMPDEST
000001af: PUSH1 0x40
000001b1: MLOAD
000001b2: SWAP2
000001b3: DUP3
000001b4: MSTORE
000001b5: PUSH1 0x20
000001b7: DUP3
000001b8: ADD
000001b9: MSTORE
000001ba: PUSH1 0x40
000001bc: SWAP1
000001bd: DUP2
000001be: ADD
000001bf: SWAP1
000001c0: MLOAD
000001c1: DUP1
000001c2: SWAP2
000001c3: SUB
000001c4: SWAP1
000001c5: RETURN
000001c6: JUMPDEST
000001c7: CALLVALUE
000001c8: ISZERO
000001c9: PUSH2 0x01d1
000001cc: JUMPI
000001cd: PUSH1 0x00
000001cf: DUP1
000001d0: REVERT
000001d1: JUMPDEST
000001d2: PUSH2 0x0189
000001d5: PUSH2 0x038a
000001d8: JUMP
000001d9: JUMPDEST
000001da: CALLVALUE
000001db: ISZERO
000001dc: PUSH2 0x01e4
000001df: JUMPI
000001e0: PUSH1 0x00
000001e2: DUP1
000001e3: REVERT
000001e4: JUMPDEST
000001e5: PUSH2 0x0189
000001e8: PUSH1 0x01
000001ea: PUSH1 0xa0
000001ec: PUSH1 0x02
000001ee: EXP
000001ef: SUB
000001f0: PUSH1 0x04
000001f2: CALLDATALOAD
000001f3: DUP2
000001f4: AND
000001f5: SWAP1
000001f6: PUSH1 0x24
000001f8: CALLDATALOAD
000001f9: AND
000001fa: PUSH2 0x0390
000001fd: JUMP
000001fe: JUMPDEST
000001ff: CALLVALUE
00000200: ISZERO
00000201: PUSH2 0x0209
00000204: JUMPI
00000205: PUSH1 0x00
00000207: DUP1
00000208: REVERT
00000209: JUMPDEST
0000020a: PUSH2 0x0189
0000020d: PUSH2 0x03ad
00000210: JUMP
00000211: JUMPDEST
00000212: CALLVALUE
00000213: ISZERO
00000214: PUSH2 0x021c
00000217: JUMPI
00000218: PUSH1 0x00
0000021a: DUP1
0000021b: REVERT
0000021c: JUMPDEST
0000021d: PUSH2 0x0224
00000220: PUSH2 0x03b3
00000223: JUMP
00000224: JUMPDEST
00000225: PUSH1 0x40
00000227: MLOAD
00000228: SWAP1
00000229: ISZERO
0000022a: ISZERO
0000022b: DUP2
0000022c: MSTORE
0000022d: PUSH1 0x20
0000022f: ADD
00000230: PUSH1 0x40
00000232: MLOAD
00000233: DUP1
00000234: SWAP2
00000235: SUB
00000236: SWAP1
00000237: RETURN
00000238: JUMPDEST
00000239: CALLVALUE
0000023a: ISZERO
0000023b: PUSH2 0x0243
0000023e: JUMPI
0000023f: PUSH1 0x00
00000241: DUP1
00000242: REVERT
00000243: JUMPDEST
00000244: PUSH2 0x024b
00000247: PUSH2 0x03d4
0000024a: JUMP
0000024b: JUMPDEST
0000024c: PUSH1 0x40
0000024e: MLOAD
0000024f: PUSH1 0x01
00000251: PUSH1 0xa0
00000253: PUSH1 0x02
00000255: EXP
00000256: SUB
00000257: SWAP1
00000258: SWAP2
00000259: AND
0000025a: DUP2
0000025b: MSTORE
0000025c: PUSH1 0x20
0000025e: ADD
0000025f: PUSH1 0x40
00000261: MLOAD
00000262: DUP1
00000263: SWAP2
00000264: SUB
00000265: SWAP1
00000266: RETURN
00000267: JUMPDEST
00000268: CALLVALUE
00000269: ISZERO
0000026a: PUSH2 0x0272
0000026d: JUMPI
0000026e: PUSH1 0x00
00000270: DUP1
00000271: REVERT
00000272: JUMPDEST
00000273: PUSH2 0x024b
00000276: PUSH2 0x03e3
00000279: JUMP
0000027a: JUMPDEST
0000027b: CALLVALUE
0000027c: ISZERO
0000027d: PUSH2 0x0285
00000280: JUMPI
00000281: PUSH1 0x00
00000283: DUP1
00000284: REVERT
00000285: JUMPDEST
00000286: PUSH2 0x0189
00000289: PUSH2 0x03f2
0000028c: JUMP
0000028d: JUMPDEST
0000028e: CALLVALUE
0000028f: ISZERO
00000290: PUSH2 0x0298
00000293: JUMPI
00000294: PUSH1 0x00
00000296: DUP1
00000297: REVERT
00000298: JUMPDEST
00000299: PUSH2 0x024b
0000029c: PUSH2 0x0355
0000029f: JUMP
000002a0: JUMPDEST
000002a1: CALLVALUE
000002a2: ISZERO
000002a3: PUSH2 0x02ab
000002a6: JUMPI
000002a7: PUSH1 0x00
000002a9: DUP1
000002aa: REVERT
000002ab: JUMPDEST
000002ac: PUSH2 0x024b
000002af: PUSH2 0x03f8
000002b2: JUMP
000002b3: JUMPDEST
000002b4: CALLVALUE
000002b5: ISZERO
000002b6: PUSH2 0x02be
000002b9: JUMPI
000002ba: PUSH1 0x00
000002bc: DUP1
000002bd: REVERT
000002be: JUMPDEST
000002bf: PUSH2 0x0224
000002c2: PUSH1 0x01
000002c4: PUSH1 0xa0
000002c6: PUSH1 0x02
000002c8: EXP
000002c9: SUB
000002ca: PUSH1 0x04
000002cc: CALLDATALOAD
000002cd: AND
000002ce: PUSH1 0x24
000002d0: CALLDATALOAD
000002d1: PUSH2 0x0407
000002d4: JUMP
000002d5: JUMPDEST
000002d6: CALLVALUE
000002d7: ISZERO
000002d8: PUSH2 0x02e0
000002db: JUMPI
000002dc: PUSH1 0x00
000002de: DUP1
000002df: REVERT
000002e0: JUMPDEST
000002e1: PUSH2 0x0189
000002e4: PUSH2 0x0427
000002e7: JUMP
000002e8: JUMPDEST
000002e9: CALLVALUE
000002ea: ISZERO
000002eb: PUSH2 0x02f3
000002ee: JUMPI
000002ef: PUSH1 0x00
000002f1: DUP1
000002f2: REVERT
000002f3: JUMPDEST
000002f4: PUSH2 0x0307
000002f7: PUSH1 0x01
000002f9: PUSH1 0xa0
000002fb: PUSH1 0x02
000002fd: EXP
000002fe: SUB
000002ff: PUSH1 0x04
00000301: CALLDATALOAD
00000302: AND
00000303: PUSH2 0x042d
00000306: JUMP
00000307: JUMPDEST
00000308: STOP
00000309: JUMPDEST
0000030a: CALLVALUE
0000030b: ISZERO
0000030c: PUSH2 0x0314
0000030f: JUMPI
00000310: PUSH1 0x00
00000312: DUP1
00000313: REVERT
00000314: JUMPDEST
00000315: PUSH2 0x0307
00000318: PUSH2 0x04fa
0000031b: JUMP
0000031c: JUMPDEST
0000031d: CALLVALUE
0000031e: ISZERO
0000031f: PUSH2 0x0327
00000322: JUMPI
00000323: PUSH1 0x00
00000325: DUP1
00000326: REVERT
00000327: JUMPDEST
00000328: PUSH2 0x024b
0000032b: PUSH2 0x05a9
0000032e: JUMP
0000032f: JUMPDEST
00000330: CALLVALUE
00000331: ISZERO
00000332: PUSH2 0x033a
00000335: JUMPI
00000336: PUSH1 0x00
00000338: DUP1
00000339: REVERT
0000033a: JUMPDEST
0000033b: PUSH2 0x024b
0000033e: PUSH2 0x05b8
00000341: JUMP
00000342: JUMPDEST
00000343: CALLVALUE
00000344: ISZERO
00000345: PUSH2 0x034d
00000348: JUMPI
00000349: PUSH1 0x00
0000034b: DUP1
0000034c: REVERT
0000034d: JUMPDEST
0000034e: PUSH2 0x0189
00000351: PUSH2 0x05c7
00000354: JUMP
00000355: JUMPDEST
00000356: PUSH1 0x0f
00000358: SLOAD
00000359: PUSH1 0x01
0000035b: PUSH1 0xa0
0000035d: PUSH1 0x02
0000035f: EXP
00000360: SUB
00000361: AND
00000362: SWAP1
00000363: JUMP
00000364: JUMPDEST
00000365: PUSH1 0x0e
00000367: PUSH1 0x20
00000369: SWAP1
0000036a: DUP2
0000036b: MSTORE
0000036c: PUSH1 0x00
0000036e: SWAP3
0000036f: DUP4
00000370: MSTORE
00000371: PUSH1 0x40
00000373: DUP1
00000374: DUP5
00000375: KECCAK256
00000376: SWAP1
00000377: SWAP2
00000378: MSTORE
00000379: SWAP1
0000037a: DUP3
0000037b: MSTORE
0000037c: SWAP1
0000037d: KECCAK256
0000037e: SLOAD
0000037f: DUP2
00000380: JUMP
00000381: JUMPDEST
00000382: PUSH1 0x03
00000384: SLOAD
00000385: PUSH1 0x04
00000387: SLOAD
00000388: DUP3
00000389: JUMP
0000038a: JUMPDEST
0000038b: PUSH1 0x11
0000038d: SLOAD
0000038e: DUP2
0000038f: JUMP
00000390: JUMPDEST
00000391: PUSH1 0x0c
00000393: PUSH1 0x20
00000395: SWAP1
00000396: DUP2
00000397: MSTORE
00000398: PUSH1 0x00
0000039a: SWAP3
0000039b: DUP4
0000039c: MSTORE
0000039d: PUSH1 0x40
0000039f: DUP1
000003a0: DUP5
000003a1: KECCAK256
000003a2: SWAP1
000003a3: SWAP2
000003a4: MSTORE
000003a5: SWAP1
000003a6: DUP3
000003a7: MSTORE
000003a8: SWAP1
000003a9: KECCAK256
000003aa: SLOAD
000003ab: DUP2
000003ac: JUMP
000003ad: JUMPDEST
000003ae: PUSH1 0x06
000003b0: SLOAD
000003b1: DUP2
000003b2: JUMP
000003b3: JUMPDEST
000003b4: PUSH1 0x07
000003b6: SLOAD
000003b7: PUSH21 0x010000000000000000000000000000000000000000
000003cd: SWAP1
000003ce: DIV
000003cf: PUSH1 0xff
000003d1: AND
000003d2: DUP2
000003d3: JUMP
000003d4: JUMPDEST
000003d5: PUSH1 0x00
000003d7: SLOAD
000003d8: PUSH1 0x01
000003da: PUSH1 0xa0
000003dc: PUSH1 0x02
000003de: EXP
000003df: SUB
000003e0: AND
000003e1: DUP2
000003e2: JUMP
000003e3: JUMPDEST
000003e4: PUSH1 0x02
000003e6: SLOAD
000003e7: PUSH1 0x01
000003e9: PUSH1 0xa0
000003eb: PUSH1 0x02
000003ed: EXP
000003ee: SUB
000003ef: AND
000003f0: DUP2
000003f1: JUMP
000003f2: JUMPDEST
000003f3: PUSH1 0x08
000003f5: SLOAD
000003f6: DUP2
000003f7: JUMP
000003f8: JUMPDEST
000003f9: PUSH1 0x10
000003fb: SLOAD
000003fc: PUSH1 0x01
000003fe: PUSH1 0xa0
00000400: PUSH1 0x02
00000402: EXP
00000403: SUB
00000404: AND
00000405: DUP2
00000406: JUMP
00000407: JUMPDEST
00000408: PUSH1 0x0d
0000040a: PUSH1 0x20
0000040c: SWAP1
0000040d: DUP2
0000040e: MSTORE
0000040f: PUSH1 0x00
00000411: SWAP3
00000412: DUP4
00000413: MSTORE
00000414: PUSH1 0x40
00000416: DUP1
00000417: DUP5
00000418: KECCAK256
00000419: SWAP1
0000041a: SWAP2
0000041b: MSTORE
0000041c: SWAP1
0000041d: DUP3
0000041e: MSTORE
0000041f: SWAP1
00000420: KECCAK256
00000421: SLOAD
00000422: PUSH1 0xff
00000424: AND
00000425: DUP2
00000426: JUMP
00000427: JUMPDEST
00000428: PUSH1 0x05
0000042a: SLOAD
0000042b: DUP2
0000042c: JUMP
0000042d: JUMPDEST
0000042e: PUSH1 0x01
00000430: SLOAD
00000431: CALLER
00000432: PUSH1 0x01
00000434: PUSH1 0xa0
00000436: PUSH1 0x02
00000438: EXP
00000439: SUB
0000043a: SWAP1
0000043b: DUP2
0000043c: AND
0000043d: SWAP2
0000043e: AND
0000043f: EQ
00000440: PUSH2 0x0448
00000443: JUMPI
00000444: PUSH1 0x00
00000446: DUP1
00000447: REVERT
00000448: JUMPDEST
00000449: PUSH1 0x0f
0000044b: SLOAD
0000044c: PUSH1 0x01
0000044e: PUSH1 0xa0
00000450: PUSH1 0x02
00000452: EXP
00000453: SUB
00000454: DUP3
00000455: DUP2
00000456: AND
00000457: SWAP2
00000458: AND
00000459: EQ
0000045a: ISZERO
0000045b: PUSH2 0x0463
0000045e: JUMPI
0000045f: PUSH1 0x00
00000461: DUP1
00000462: REVERT
00000463: JUMPDEST
00000464: PUSH1 0x01
00000466: PUSH1 0xa0
00000468: PUSH1 0x02
0000046a: EXP
0000046b: SUB
0000046c: DUP2
0000046d: AND
0000046e: ISZERO
0000046f: ISZERO
00000470: PUSH2 0x0478
00000473: JUMPI
00000474: PUSH1 0x00
00000476: DUP1
00000477: REVERT
00000478: JUMPDEST
00000479: PUSH1 0x10
0000047b: DUP1
0000047c: SLOAD
0000047d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000492: NOT
00000493: AND
00000494: PUSH1 0x01
00000496: PUSH1 0xa0
00000498: PUSH1 0x02
0000049a: EXP
0000049b: SUB
0000049c: DUP4
0000049d: DUP2
0000049e: AND
0000049f: SWAP2
000004a0: SWAP1
000004a1: SWAP2
000004a2: OR
000004a3: SWAP2
000004a4: DUP3
000004a5: SWAP1
000004a6: SSTORE
000004a7: TIMESTAMP
000004a8: PUSH3 0x127500
000004ac: DUP2
000004ad: ADD
000004ae: PUSH1 0x11
000004b0: SSTORE
000004b1: PUSH32 0xec67bbd1e1c0c74039cb44e4ee8278b388155a131c81387e07f800c16f776e83
000004d2: SWAP3
000004d3: SWAP1
000004d4: SWAP2
000004d5: AND
000004d6: SWAP1
000004d7: PUSH1 0x40
000004d9: MLOAD
000004da: PUSH1 0x01
000004dc: PUSH1 0xa0
000004de: PUSH1 0x02
000004e0: EXP
000004e1: SUB
000004e2: SWAP1
000004e3: SWAP3
000004e4: AND
000004e5: DUP3
000004e6: MSTORE
000004e7: PUSH1 0x20
000004e9: DUP3
000004ea: ADD
000004eb: MSTORE
000004ec: PUSH1 0x40
000004ee: SWAP1
000004ef: DUP2
000004f0: ADD
000004f1: SWAP1
000004f2: MLOAD
000004f3: DUP1
000004f4: SWAP2
000004f5: SUB
000004f6: SWAP1
000004f7: LOG1
000004f8: POP
000004f9: JUMP
000004fa: JUMPDEST
000004fb: PUSH1 0x01
000004fd: SLOAD
000004fe: CALLER
000004ff: PUSH1 0x01
00000501: PUSH1 0xa0
00000503: PUSH1 0x02
00000505: EXP
00000506: SUB
00000507: SWAP1
00000508: DUP2
00000509: AND
0000050a: SWAP2
0000050b: AND
0000050c: EQ
0000050d: PUSH2 0x0515
00000510: JUMPI
00000511: PUSH1 0x00
00000513: DUP1
00000514: REVERT
00000515: JUMPDEST
00000516: PUSH1 0x10
00000518: SLOAD
00000519: PUSH1 0x01
0000051b: PUSH1 0xa0
0000051d: PUSH1 0x02
0000051f: EXP
00000520: SUB
00000521: AND
00000522: ISZERO
00000523: ISZERO
00000524: PUSH2 0x052c
00000527: JUMPI
00000528: PUSH1 0x00
0000052a: DUP1
0000052b: REVERT
0000052c: JUMPDEST
0000052d: PUSH1 0x11
0000052f: SLOAD
00000530: TIMESTAMP
00000531: SWAP1
00000532: LT
00000533: PUSH2 0x053b
00000536: JUMPI
00000537: PUSH1 0x00
00000539: DUP1
0000053a: REVERT
0000053b: JUMPDEST
0000053c: PUSH1 0x10
0000053e: SLOAD
0000053f: PUSH1 0x0f
00000541: DUP1
00000542: SLOAD
00000543: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000558: NOT
00000559: AND
0000055a: PUSH1 0x01
0000055c: PUSH1 0xa0
0000055e: PUSH1 0x02
00000560: EXP
00000561: SUB
00000562: SWAP3
00000563: DUP4
00000564: AND
00000565: OR
00000566: SWAP1
00000567: DUP2
00000568: SWAP1
00000569: SSTORE
0000056a: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b
0000058b: SWAP2
0000058c: AND
0000058d: PUSH1 0x40
0000058f: MLOAD
00000590: PUSH1 0x01
00000592: PUSH1 0xa0
00000594: PUSH1 0x02
00000596: EXP
00000597: SUB
00000598: SWAP1
00000599: SWAP2
0000059a: AND
0000059b: DUP2
0000059c: MSTORE
0000059d: PUSH1 0x20
0000059f: ADD
000005a0: PUSH1 0x40
000005a2: MLOAD
000005a3: DUP1
000005a4: SWAP2
000005a5: SUB
000005a6: SWAP1
000005a7: LOG1
000005a8: JUMP
000005a9: JUMPDEST
000005aa: PUSH1 0x07
000005ac: SLOAD
000005ad: PUSH1 0x01
000005af: PUSH1 0xa0
000005b1: PUSH1 0x02
000005b3: EXP
000005b4: SUB
000005b5: AND
000005b6: DUP2
000005b7: JUMP
000005b8: JUMPDEST
000005b9: PUSH1 0x01
000005bb: SLOAD
000005bc: PUSH1 0x01
000005be: PUSH1 0xa0
000005c0: PUSH1 0x02
000005c2: EXP
000005c3: SUB
000005c4: AND
000005c5: DUP2
000005c6: JUMP
000005c7: JUMPDEST
000005c8: PUSH1 0x09
000005ca: SLOAD
000005cb: DUP2
000005cc: JUMP
000005cd: JUMPDEST
000005ce: PUSH1 0x20
000005d0: PUSH1 0x40
000005d2: MLOAD
000005d3: SWAP1
000005d4: DUP2
000005d5: ADD
000005d6: PUSH1 0x40
000005d8: MSTORE
000005d9: PUSH1 0x00
000005db: DUP2
000005dc: MSTORE
000005dd: SWAP1
000005de: JUMP
000005df: STOP
000005e0: LOG1
000005e1: PUSH6 0x627a7a723058
000005e8: KECCAK256
000005e9: PUSH21 0x8c3fd36452cba2982dabc925ed50191b752dc57a24
000005ff: SWAP3
00000600: UNKNOWN(0xBD)
00000601: UNKNOWN(0xED)
00000602: UNKNOWN(0x2E)
00000603: PUSH9
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: 0x9221ae8935df33202ab7d179de636b2f8fd965ab5af3aec8592384875f7842a9
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x9221ae8935df33202ab7d179de636b2f8fd965ab5af3aec8592384875f7842a9",
    "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": "0x19774d43",
            "selector": "0x19774d43",
            "calldata_variants": [
                "0x19774d43",
                "0x19774d430000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1bff4786",
            "selector": "0x1bff4786",
            "calldata_variants": [
                "0x1bff4786",
                "0x1bff47860000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3cf52ffb",
            "selector": "0x3cf52ffb",
            "calldata_variants": [
                "0x3cf52ffb",
                "0x3cf52ffb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x508493bc",
            "selector": "0x508493bc",
            "calldata_variants": [
                "0x508493bc",
                "0x508493bc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x55ce76e6",
            "selector": "0x55ce76e6",
            "calldata_variants": [
                "0x55ce76e6",
                "0x55ce76e60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5bd948b1",
            "selector": "0x5bd948b1",
            "calldata_variants": [
                "0x5bd948b1",
                "0x5bd948b10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5d4d061e",
            "selector": "0x5d4d061e",
            "calldata_variants": [
                "0x5d4d061e",
                "0x5d4d061e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x65e17c9d",
            "selector": "0x65e17c9d",
            "calldata_variants": [
                "0x65e17c9d",
                "0x65e17c9d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 335,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 1,
    "untrusted_delegatecall_count": 1
}