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

Analysis Run

019b3844-a889-701b-8e38-5ed77387d12a

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
16727 artifact.fetch complete 1 / 3 4 months ago
16728 tool.cast_disasm complete 1 / 3 4 months ago
59882 analysis.bundle complete 1 / 3 2 weeks ago
59883 capability.graph complete 1 / 3 2 weeks ago
59884 detector.run complete 1 / 3 2 weeks ago
59885 validation.fork complete 1 / 3 2 weeks 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)
1
EXT*/BALANCE
2
Total opcodes
931
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 0x00b0
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0x5c60da1b
0000002f: EQ
00000030: PUSH2 0x0149
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0x8f283970
0000003a: EQ
0000003b: PUSH2 0x018a
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xf851a440
00000045: EQ
00000046: PUSH2 0x01db
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 0x021c
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 0x00ae
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: DUP2
00000084: ADD
00000085: SWAP1
00000086: DUP1
00000087: DUP1
00000088: CALLDATALOAD
00000089: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000009e: AND
0000009f: SWAP1
000000a0: PUSH1 0x20
000000a2: ADD
000000a3: SWAP1
000000a4: SWAP3
000000a5: SWAP2
000000a6: SWAP1
000000a7: POP
000000a8: POP
000000a9: POP
000000aa: PUSH2 0x0236
000000ad: JUMP
000000ae: JUMPDEST
000000af: STOP
000000b0: JUMPDEST
000000b1: PUSH2 0x0147
000000b4: PUSH1 0x04
000000b6: DUP1
000000b7: CALLDATASIZE
000000b8: SUB
000000b9: PUSH1 0x40
000000bb: DUP2
000000bc: LT
000000bd: ISZERO
000000be: PUSH2 0x00c6
000000c1: JUMPI
000000c2: PUSH1 0x00
000000c4: DUP1
000000c5: REVERT
000000c6: JUMPDEST
000000c7: DUP2
000000c8: ADD
000000c9: SWAP1
000000ca: DUP1
000000cb: DUP1
000000cc: CALLDATALOAD
000000cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000000e2: AND
000000e3: SWAP1
000000e4: PUSH1 0x20
000000e6: ADD
000000e7: SWAP1
000000e8: SWAP3
000000e9: SWAP2
000000ea: SWAP1
000000eb: DUP1
000000ec: CALLDATALOAD
000000ed: SWAP1
000000ee: PUSH1 0x20
000000f0: ADD
000000f1: SWAP1
000000f2: PUSH5 0x0100000000
000000f8: DUP2
000000f9: GT
000000fa: ISZERO
000000fb: PUSH2 0x0103
000000fe: JUMPI
000000ff: PUSH1 0x00
00000101: DUP1
00000102: REVERT
00000103: JUMPDEST
00000104: DUP3
00000105: ADD
00000106: DUP4
00000107: PUSH1 0x20
00000109: DUP3
0000010a: ADD
0000010b: GT
0000010c: ISZERO
0000010d: PUSH2 0x0115
00000110: JUMPI
00000111: PUSH1 0x00
00000113: DUP1
00000114: REVERT
00000115: JUMPDEST
00000116: DUP1
00000117: CALLDATALOAD
00000118: SWAP1
00000119: PUSH1 0x20
0000011b: ADD
0000011c: SWAP2
0000011d: DUP5
0000011e: PUSH1 0x01
00000120: DUP4
00000121: MUL
00000122: DUP5
00000123: ADD
00000124: GT
00000125: PUSH5 0x0100000000
0000012b: DUP4
0000012c: GT
0000012d: OR
0000012e: ISZERO
0000012f: PUSH2 0x0137
00000132: JUMPI
00000133: PUSH1 0x00
00000135: DUP1
00000136: REVERT
00000137: JUMPDEST
00000138: SWAP1
00000139: SWAP2
0000013a: SWAP3
0000013b: SWAP4
0000013c: SWAP2
0000013d: SWAP3
0000013e: SWAP4
0000013f: SWAP1
00000140: POP
00000141: POP
00000142: POP
00000143: PUSH2 0x028b
00000146: JUMP
00000147: JUMPDEST
00000148: STOP
00000149: JUMPDEST
0000014a: CALLVALUE
0000014b: DUP1
0000014c: ISZERO
0000014d: PUSH2 0x0155
00000150: JUMPI
00000151: PUSH1 0x00
00000153: DUP1
00000154: REVERT
00000155: JUMPDEST
00000156: POP
00000157: PUSH2 0x015e
0000015a: PUSH2 0x0361
0000015d: JUMP
0000015e: JUMPDEST
0000015f: PUSH1 0x40
00000161: MLOAD
00000162: DUP1
00000163: DUP3
00000164: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000179: AND
0000017a: DUP2
0000017b: MSTORE
0000017c: PUSH1 0x20
0000017e: ADD
0000017f: SWAP2
00000180: POP
00000181: POP
00000182: PUSH1 0x40
00000184: MLOAD
00000185: DUP1
00000186: SWAP2
00000187: SUB
00000188: SWAP1
00000189: RETURN
0000018a: JUMPDEST
0000018b: CALLVALUE
0000018c: DUP1
0000018d: ISZERO
0000018e: PUSH2 0x0196
00000191: JUMPI
00000192: PUSH1 0x00
00000194: DUP1
00000195: REVERT
00000196: JUMPDEST
00000197: POP
00000198: PUSH2 0x01d9
0000019b: PUSH1 0x04
0000019d: DUP1
0000019e: CALLDATASIZE
0000019f: SUB
000001a0: PUSH1 0x20
000001a2: DUP2
000001a3: LT
000001a4: ISZERO
000001a5: PUSH2 0x01ad
000001a8: JUMPI
000001a9: PUSH1 0x00
000001ab: DUP1
000001ac: REVERT
000001ad: JUMPDEST
000001ae: DUP2
000001af: ADD
000001b0: SWAP1
000001b1: DUP1
000001b2: DUP1
000001b3: CALLDATALOAD
000001b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001c9: AND
000001ca: SWAP1
000001cb: PUSH1 0x20
000001cd: ADD
000001ce: SWAP1
000001cf: SWAP3
000001d0: SWAP2
000001d1: SWAP1
000001d2: POP
000001d3: POP
000001d4: POP
000001d5: PUSH2 0x03b9
000001d8: JUMP
000001d9: JUMPDEST
000001da: STOP
000001db: JUMPDEST
000001dc: CALLVALUE
000001dd: DUP1
000001de: ISZERO
000001df: PUSH2 0x01e7
000001e2: JUMPI
000001e3: PUSH1 0x00
000001e5: DUP1
000001e6: REVERT
000001e7: JUMPDEST
000001e8: POP
000001e9: PUSH2 0x01f0
000001ec: PUSH2 0x0506
000001ef: JUMP
000001f0: JUMPDEST
000001f1: PUSH1 0x40
000001f3: MLOAD
000001f4: DUP1
000001f5: DUP3
000001f6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000020b: AND
0000020c: DUP2
0000020d: MSTORE
0000020e: PUSH1 0x20
00000210: ADD
00000211: SWAP2
00000212: POP
00000213: POP
00000214: PUSH1 0x40
00000216: MLOAD
00000217: DUP1
00000218: SWAP2
00000219: SUB
0000021a: SWAP1
0000021b: RETURN
0000021c: JUMPDEST
0000021d: PUSH2 0x0224
00000220: PUSH2 0x05a9
00000223: JUMP
00000224: JUMPDEST
00000225: PUSH2 0x0234
00000228: PUSH2 0x022f
0000022b: PUSH2 0x063e
0000022e: JUMP
0000022f: JUMPDEST
00000230: PUSH2 0x066f
00000233: JUMP
00000234: JUMPDEST
00000235: JUMP
00000236: JUMPDEST
00000237: PUSH2 0x023e
0000023a: PUSH2 0x0695
0000023d: JUMP
0000023e: JUMPDEST
0000023f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000254: AND
00000255: CALLER
00000256: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000026b: AND
0000026c: EQ
0000026d: ISZERO
0000026e: PUSH2 0x027f
00000271: JUMPI
00000272: PUSH2 0x027a
00000275: DUP2
00000276: PUSH2 0x06c6
00000279: JUMP
0000027a: JUMPDEST
0000027b: PUSH2 0x0288
0000027e: JUMP
0000027f: JUMPDEST
00000280: PUSH2 0x0287
00000283: PUSH2 0x021c
00000286: JUMP
00000287: JUMPDEST
00000288: JUMPDEST
00000289: POP
0000028a: JUMP
0000028b: JUMPDEST
0000028c: PUSH2 0x0293
0000028f: PUSH2 0x0695
00000292: JUMP
00000293: JUMPDEST
00000294: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002a9: AND
000002aa: CALLER
000002ab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002c0: AND
000002c1: EQ
000002c2: ISZERO
000002c3: PUSH2 0x0353
000002c6: JUMPI
000002c7: PUSH2 0x02cf
000002ca: DUP4
000002cb: PUSH2 0x06c6
000002ce: JUMP
000002cf: JUMPDEST
000002d0: PUSH1 0x00
000002d2: DUP4
000002d3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002e8: AND
000002e9: DUP4
000002ea: DUP4
000002eb: PUSH1 0x40
000002ed: MLOAD
000002ee: DUP1
000002ef: DUP4
000002f0: DUP4
000002f1: DUP1
000002f2: DUP3
000002f3: DUP5
000002f4: CALLDATACOPY
000002f5: DUP1
000002f6: DUP4
000002f7: ADD
000002f8: SWAP3
000002f9: POP
000002fa: POP
000002fb: POP
000002fc: SWAP3
000002fd: POP
000002fe: POP
000002ff: POP
00000300: PUSH1 0x00
00000302: PUSH1 0x40
00000304: MLOAD
00000305: DUP1
00000306: DUP4
00000307: SUB
00000308: DUP2
00000309: DUP6
0000030a: GAS
0000030b: DELEGATECALL
0000030c: SWAP2
0000030d: POP
0000030e: POP
0000030f: RETURNDATASIZE
00000310: DUP1
00000311: PUSH1 0x00
00000313: DUP2
00000314: EQ
00000315: PUSH2 0x033a
00000318: JUMPI
00000319: PUSH1 0x40
0000031b: MLOAD
0000031c: SWAP2
0000031d: POP
0000031e: PUSH1 0x1f
00000320: NOT
00000321: PUSH1 0x3f
00000323: RETURNDATASIZE
00000324: ADD
00000325: AND
00000326: DUP3
00000327: ADD
00000328: PUSH1 0x40
0000032a: MSTORE
0000032b: RETURNDATASIZE
0000032c: DUP3
0000032d: MSTORE
0000032e: RETURNDATASIZE
0000032f: PUSH1 0x00
00000331: PUSH1 0x20
00000333: DUP5
00000334: ADD
00000335: RETURNDATACOPY
00000336: PUSH2 0x033f
00000339: JUMP
0000033a: JUMPDEST
0000033b: PUSH1 0x60
0000033d: SWAP2
0000033e: POP
0000033f: JUMPDEST
00000340: POP
00000341: POP
00000342: SWAP1
00000343: POP
00000344: DUP1
00000345: PUSH2 0x034d
00000348: JUMPI
00000349: PUSH1 0x00
0000034b: DUP1
0000034c: REVERT
0000034d: JUMPDEST
0000034e: POP
0000034f: PUSH2 0x035c
00000352: JUMP
00000353: JUMPDEST
00000354: PUSH2 0x035b
00000357: PUSH2 0x021c
0000035a: JUMP
0000035b: JUMPDEST
0000035c: JUMPDEST
0000035d: POP
0000035e: POP
0000035f: POP
00000360: JUMP
00000361: JUMPDEST
00000362: PUSH1 0x00
00000364: PUSH2 0x036b
00000367: PUSH2 0x0695
0000036a: JUMP
0000036b: JUMPDEST
0000036c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000381: AND
00000382: CALLER
00000383: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000398: AND
00000399: EQ
0000039a: ISZERO
0000039b: PUSH2 0x03ad
0000039e: JUMPI
0000039f: PUSH2 0x03a6
000003a2: PUSH2 0x063e
000003a5: JUMP
000003a6: JUMPDEST
000003a7: SWAP1
000003a8: POP
000003a9: PUSH2 0x03b6
000003ac: JUMP
000003ad: JUMPDEST
000003ae: PUSH2 0x03b5
000003b1: PUSH2 0x021c
000003b4: JUMP
000003b5: JUMPDEST
000003b6: JUMPDEST
000003b7: SWAP1
000003b8: JUMP
000003b9: JUMPDEST
000003ba: PUSH2 0x03c1
000003bd: PUSH2 0x0695
000003c0: JUMP
000003c1: JUMPDEST
000003c2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003d7: AND
000003d8: CALLER
000003d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003ee: AND
000003ef: EQ
000003f0: ISZERO
000003f1: PUSH2 0x04fa
000003f4: JUMPI
000003f5: PUSH1 0x00
000003f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000040c: AND
0000040d: DUP2
0000040e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000423: AND
00000424: EQ
00000425: ISZERO
00000426: PUSH2 0x047a
00000429: JUMPI
0000042a: PUSH1 0x40
0000042c: MLOAD
0000042d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000044e: DUP2
0000044f: MSTORE
00000450: PUSH1 0x04
00000452: ADD
00000453: DUP1
00000454: DUP1
00000455: PUSH1 0x20
00000457: ADD
00000458: DUP3
00000459: DUP2
0000045a: SUB
0000045b: DUP3
0000045c: MSTORE
0000045d: PUSH1 0x36
0000045f: DUP2
00000460: MSTORE
00000461: PUSH1 0x20
00000463: ADD
00000464: DUP1
00000465: PUSH2 0x07d4
00000468: PUSH1 0x36
0000046a: SWAP2
0000046b: CODECOPY
0000046c: PUSH1 0x40
0000046e: ADD
0000046f: SWAP2
00000470: POP
00000471: POP
00000472: PUSH1 0x40
00000474: MLOAD
00000475: DUP1
00000476: SWAP2
00000477: SUB
00000478: SWAP1
00000479: REVERT
0000047a: JUMPDEST
0000047b: PUSH32 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f
0000049c: PUSH2 0x04a3
0000049f: PUSH2 0x0695
000004a2: JUMP
000004a3: JUMPDEST
000004a4: DUP3
000004a5: PUSH1 0x40
000004a7: MLOAD
000004a8: DUP1
000004a9: DUP4
000004aa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004bf: AND
000004c0: DUP2
000004c1: MSTORE
000004c2: PUSH1 0x20
000004c4: ADD
000004c5: DUP3
000004c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004db: AND
000004dc: DUP2
000004dd: MSTORE
000004de: PUSH1 0x20
000004e0: ADD
000004e1: SWAP3
000004e2: POP
000004e3: POP
000004e4: POP
000004e5: PUSH1 0x40
000004e7: MLOAD
000004e8: DUP1
000004e9: SWAP2
000004ea: SUB
000004eb: SWAP1
000004ec: LOG1
000004ed: PUSH2 0x04f5
000004f0: DUP2
000004f1: PUSH2 0x0715
000004f4: JUMP
000004f5: JUMPDEST
000004f6: PUSH2 0x0503
000004f9: JUMP
000004fa: JUMPDEST
000004fb: PUSH2 0x0502
000004fe: PUSH2 0x021c
00000501: JUMP
00000502: JUMPDEST
00000503: JUMPDEST
00000504: POP
00000505: JUMP
00000506: JUMPDEST
00000507: PUSH1 0x00
00000509: PUSH2 0x0510
0000050c: PUSH2 0x0695
0000050f: JUMP
00000510: JUMPDEST
00000511: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000526: AND
00000527: CALLER
00000528: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000053d: AND
0000053e: EQ
0000053f: ISZERO
00000540: PUSH2 0x0552
00000543: JUMPI
00000544: PUSH2 0x054b
00000547: PUSH2 0x0695
0000054a: JUMP
0000054b: JUMPDEST
0000054c: SWAP1
0000054d: POP
0000054e: PUSH2 0x055b
00000551: JUMP
00000552: JUMPDEST
00000553: PUSH2 0x055a
00000556: PUSH2 0x021c
00000559: JUMP
0000055a: JUMPDEST
0000055b: JUMPDEST
0000055c: SWAP1
0000055d: JUMP
0000055e: JUMPDEST
0000055f: PUSH1 0x00
00000561: DUP1
00000562: PUSH1 0x00
00000564: PUSH32 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470
00000585: PUSH1 0x00
00000587: SHL
00000588: SWAP1
00000589: POP
0000058a: DUP4
0000058b: EXTCODEHASH
0000058c: SWAP2
0000058d: POP
0000058e: DUP1
0000058f: DUP3
00000590: EQ
00000591: ISZERO
00000592: DUP1
00000593: ISZERO
00000594: PUSH2 0x05a0
00000597: JUMPI
00000598: POP
00000599: PUSH1 0x00
0000059b: DUP1
0000059c: SHL
0000059d: DUP3
0000059e: EQ
0000059f: ISZERO
000005a0: JUMPDEST
000005a1: SWAP3
000005a2: POP
000005a3: POP
000005a4: POP
000005a5: SWAP2
000005a6: SWAP1
000005a7: POP
000005a8: JUMP
000005a9: JUMPDEST
000005aa: PUSH2 0x05b1
000005ad: PUSH2 0x0695
000005b0: JUMP
000005b1: JUMPDEST
000005b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005c7: AND
000005c8: CALLER
000005c9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005de: AND
000005df: EQ
000005e0: PUSH2 0x0634
000005e3: JUMPI
000005e4: PUSH1 0x40
000005e6: MLOAD
000005e7: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000608: DUP2
00000609: MSTORE
0000060a: PUSH1 0x04
0000060c: ADD
0000060d: DUP1
0000060e: DUP1
0000060f: PUSH1 0x20
00000611: ADD
00000612: DUP3
00000613: DUP2
00000614: SUB
00000615: DUP3
00000616: MSTORE
00000617: PUSH1 0x36
00000619: DUP2
0000061a: MSTORE
0000061b: PUSH1 0x20
0000061d: ADD
0000061e: DUP1
0000061f: PUSH2 0x0845
00000622: PUSH1 0x36
00000624: SWAP2
00000625: CODECOPY
00000626: PUSH1 0x40
00000628: ADD
00000629: SWAP2
0000062a: POP
0000062b: POP
0000062c: PUSH1 0x40
0000062e: MLOAD
0000062f: DUP1
00000630: SWAP2
00000631: SUB
00000632: SWAP1
00000633: REVERT
00000634: JUMPDEST
00000635: PUSH2 0x063c
00000638: PUSH2 0x0744
0000063b: JUMP
0000063c: JUMPDEST
0000063d: JUMP
0000063e: JUMPDEST
0000063f: PUSH1 0x00
00000641: DUP1
00000642: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00000663: PUSH1 0x00
00000665: SHL
00000666: SWAP1
00000667: POP
00000668: DUP1
00000669: SLOAD
0000066a: SWAP2
0000066b: POP
0000066c: POP
0000066d: SWAP1
0000066e: JUMP
0000066f: JUMPDEST
00000670: CALLDATASIZE
00000671: PUSH1 0x00
00000673: DUP1
00000674: CALLDATACOPY
00000675: PUSH1 0x00
00000677: DUP1
00000678: CALLDATASIZE
00000679: PUSH1 0x00
0000067b: DUP5
0000067c: GAS
0000067d: DELEGATECALL
0000067e: RETURNDATASIZE
0000067f: PUSH1 0x00
00000681: DUP1
00000682: RETURNDATACOPY
00000683: DUP1
00000684: PUSH1 0x00
00000686: DUP2
00000687: EQ
00000688: PUSH2 0x0690
0000068b: JUMPI
0000068c: RETURNDATASIZE
0000068d: PUSH1 0x00
0000068f: RETURN
00000690: JUMPDEST
00000691: RETURNDATASIZE
00000692: PUSH1 0x00
00000694: REVERT
00000695: JUMPDEST
00000696: PUSH1 0x00
00000698: DUP1
00000699: PUSH32 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103
000006ba: PUSH1 0x00
000006bc: SHL
000006bd: SWAP1
000006be: POP
000006bf: DUP1
000006c0: SLOAD
000006c1: SWAP2
000006c2: POP
000006c3: POP
000006c4: SWAP1
000006c5: JUMP
000006c6: JUMPDEST
000006c7: PUSH2 0x06cf
000006ca: DUP2
000006cb: PUSH2 0x0746
000006ce: JUMP
000006cf: JUMPDEST
000006d0: DUP1
000006d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006e6: AND
000006e7: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b
00000708: PUSH1 0x40
0000070a: MLOAD
0000070b: PUSH1 0x40
0000070d: MLOAD
0000070e: DUP1
0000070f: SWAP2
00000710: SUB
00000711: SWAP1
00000712: LOG2
00000713: POP
00000714: JUMP
00000715: JUMPDEST
00000716: PUSH1 0x00
00000718: PUSH32 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103
00000739: PUSH1 0x00
0000073b: SHL
0000073c: SWAP1
0000073d: POP
0000073e: DUP2
0000073f: DUP2
00000740: SSTORE
00000741: POP
00000742: POP
00000743: JUMP
00000744: JUMPDEST
00000745: JUMP
00000746: JUMPDEST
00000747: PUSH2 0x074f
0000074a: DUP2
0000074b: PUSH2 0x055e
0000074e: JUMP
0000074f: JUMPDEST
00000750: PUSH2 0x07a4
00000753: JUMPI
00000754: PUSH1 0x40
00000756: MLOAD
00000757: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000778: DUP2
00000779: MSTORE
0000077a: PUSH1 0x04
0000077c: ADD
0000077d: DUP1
0000077e: DUP1
0000077f: PUSH1 0x20
00000781: ADD
00000782: DUP3
00000783: DUP2
00000784: SUB
00000785: DUP3
00000786: MSTORE
00000787: PUSH1 0x3b
00000789: DUP2
0000078a: MSTORE
0000078b: PUSH1 0x20
0000078d: ADD
0000078e: DUP1
0000078f: PUSH2 0x080a
00000792: PUSH1 0x3b
00000794: SWAP2
00000795: CODECOPY
00000796: PUSH1 0x40
00000798: ADD
00000799: SWAP2
0000079a: POP
0000079b: POP
0000079c: PUSH1 0x40
0000079e: MLOAD
0000079f: DUP1
000007a0: SWAP2
000007a1: SUB
000007a2: SWAP1
000007a3: REVERT
000007a4: JUMPDEST
000007a5: PUSH1 0x00
000007a7: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
000007c8: PUSH1 0x00
000007ca: SHL
000007cb: SWAP1
000007cc: POP
000007cd: DUP2
000007ce: DUP2
000007cf: SSTORE
000007d0: POP
000007d1: POP
000007d2: JUMP
000007d3: INVALID
000007d4: NUMBER
000007d5: PUSH2 0x6e6e
000007d8: PUSH16 0x74206368616e6765207468652061646d
000007e9: PUSH10 0x6e206f6620612070726f
000007f4: PUSH25 0x7920746f20746865207a65726f206164647265737343616e6e
0000080e: PUSH16 0x742073657420612070726f787920696d
0000081f: PUSH17 0x6c656d656e746174696f6e20746f206120
00000831: PUSH15 0x6f6e2d636f6e747261637420616464
00000841: PUSH19 0x65737343616e6e6f742063616c6c2066616c6c
00000855: PUSH3 0x61636b
00000859: KECCAK256
0000085a: PUSH7 0x756e6374696f6e
00000862: KECCAK256
00000863: PUSH15 0x6f742066726f6d207468652070726f
00000873: PUSH25 0x792061646d696ea2646970667358221220b1bc314b53e66d2a
0000088d: EQ
0000088e: DUP16
0000088f: DUP15
00000890: SWAP4
00000891: EXTCODESIZE
00000892: CALL
00000893: UNKNOWN(0xEB)
00000894: ADD
00000895: NUMBER
00000896: CODECOPY
00000897: UNKNOWN(0xAE)
00000898: DUP3
00000899: UNKNOWN(0xBF)
0000089a: GT
0000089b: PUSH23
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
high upgradeability detector Untrusted DELEGATECALL target reachable 55 no no
view
trace_id: 0x79e453967d06db4749076dec40e3988862938bd6dec08a0a2242d38371b0c075
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 60,
    "trace_id": "0x79e453967d06db4749076dec40e3988862938bd6dec08a0a2242d38371b0c075",
    "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": "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": 779,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 1661,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [
        {
            "pc": 597,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 682,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 898,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 984,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 1319,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 1480,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "delegatecall_count": 2,
    "untrusted_delegatecall_count": 2
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0xd128178ccdd3d983ce9b87e4ed2fd2efdb1c2c86558577765dfb06cbbb0c3e7b
call_targets: 0xabc6895a47137fcfb6c4dfe974a31e33866dd38b
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xd128178ccdd3d983ce9b87e4ed2fd2efdb1c2c86558577765dfb06cbbb0c3e7b",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xabc6895a47137fcfb6c4dfe974a31e33866dd38b"
    ],
    "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": 2194,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "constant",
            "target_expression_category": "constant"
        }
    ],
    "eth_value_calls": 1,
    "guards_detected": [
        {
            "pc": 597,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 682,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 898,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 984,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 1319,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 1480,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}
low other detector External CALL present 40 no no
view
trace_id: 0xd128178ccdd3d983ce9b87e4ed2fd2efdb1c2c86558577765dfb06cbbb0c3e7b
call_targets: 0xabc6895a47137fcfb6c4dfe974a31e33866dd38b
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xd128178ccdd3d983ce9b87e4ed2fd2efdb1c2c86558577765dfb06cbbb0c3e7b",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xabc6895a47137fcfb6c4dfe974a31e33866dd38b"
    ],
    "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
{
    "call_count": 1
}