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

Analysis Run

019b3844-bad7-72c6-a407-3738efb75202

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
20093 artifact.fetch complete 1 / 3 3 months ago
20094 tool.cast_disasm complete 1 / 3 3 months ago
63382 analysis.bundle complete 1 / 3 1 week ago
63383 capability.graph complete 1 / 3 1 week ago
63384 detector.run complete 1 / 3 1 week ago
63385 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)
0
EXT*/BALANCE
2
Total opcodes
666
Flags
delegatecall_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH2 0x000c
00000008: PUSH2 0x000e
0000000b: JUMP
0000000c: JUMPDEST
0000000d: STOP
0000000e: JUMPDEST
0000000f: PUSH32 0x000000000000000000000000fd9688b109c06ab8de02ca6f395e811d845905b2
00000030: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000045: AND
00000046: CALLER
00000047: SUB
00000048: PUSH2 0x00d1
0000004b: JUMPI
0000004c: PUSH0
0000004d: CALLDATALOAD
0000004e: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
0000006f: AND
00000070: PUSH32 0x4f1ef28600000000000000000000000000000000000000000000000000000000
00000091: EQ
00000092: PUSH2 0x00c7
00000095: JUMPI
00000096: PUSH1 0x40
00000098: MLOAD
00000099: PUSH32 0xd2b576ec00000000000000000000000000000000000000000000000000000000
000000ba: DUP2
000000bb: MSTORE
000000bc: PUSH1 0x04
000000be: ADD
000000bf: PUSH1 0x40
000000c1: MLOAD
000000c2: DUP1
000000c3: SWAP2
000000c4: SUB
000000c5: SWAP1
000000c6: REVERT
000000c7: JUMPDEST
000000c8: PUSH2 0x00cf
000000cb: PUSH2 0x00d9
000000ce: JUMP
000000cf: JUMPDEST
000000d0: JUMP
000000d1: JUMPDEST
000000d2: PUSH2 0x00cf
000000d5: PUSH2 0x0107
000000d8: JUMP
000000d9: JUMPDEST
000000da: PUSH0
000000db: DUP1
000000dc: PUSH2 0x00e8
000000df: CALLDATASIZE
000000e0: PUSH1 0x04
000000e2: DUP2
000000e3: DUP5
000000e4: PUSH2 0x043e
000000e7: JUMP
000000e8: JUMPDEST
000000e9: DUP2
000000ea: ADD
000000eb: SWAP1
000000ec: PUSH2 0x00f5
000000ef: SWAP2
000000f0: SWAP1
000000f1: PUSH2 0x0492
000000f4: JUMP
000000f5: JUMPDEST
000000f6: SWAP2
000000f7: POP
000000f8: SWAP2
000000f9: POP
000000fa: PUSH2 0x0103
000000fd: DUP3
000000fe: DUP3
000000ff: PUSH2 0x0117
00000102: JUMP
00000103: JUMPDEST
00000104: POP
00000105: POP
00000106: JUMP
00000107: JUMPDEST
00000108: PUSH2 0x00cf
0000010b: PUSH2 0x0112
0000010e: PUSH2 0x017e
00000111: JUMP
00000112: JUMPDEST
00000113: PUSH2 0x01c2
00000116: JUMP
00000117: JUMPDEST
00000118: PUSH2 0x0120
0000011b: DUP3
0000011c: PUSH2 0x01e0
0000011f: JUMP
00000120: JUMPDEST
00000121: PUSH1 0x40
00000123: MLOAD
00000124: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000139: DUP4
0000013a: AND
0000013b: SWAP1
0000013c: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b
0000015d: SWAP1
0000015e: PUSH0
0000015f: SWAP1
00000160: LOG2
00000161: DUP1
00000162: MLOAD
00000163: ISZERO
00000164: PUSH2 0x0176
00000167: JUMPI
00000168: PUSH2 0x0171
0000016b: DUP3
0000016c: DUP3
0000016d: PUSH2 0x02b3
00000170: JUMP
00000171: JUMPDEST
00000172: POP
00000173: POP
00000174: POP
00000175: JUMP
00000176: JUMPDEST
00000177: PUSH2 0x0103
0000017a: PUSH2 0x0332
0000017d: JUMP
0000017e: JUMPDEST
0000017f: PUSH0
00000180: PUSH2 0x01bd
00000183: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
000001a4: SLOAD
000001a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001ba: AND
000001bb: SWAP1
000001bc: JUMP
000001bd: JUMPDEST
000001be: SWAP1
000001bf: POP
000001c0: SWAP1
000001c1: JUMP
000001c2: JUMPDEST
000001c3: CALLDATASIZE
000001c4: PUSH0
000001c5: DUP1
000001c6: CALLDATACOPY
000001c7: PUSH0
000001c8: DUP1
000001c9: CALLDATASIZE
000001ca: PUSH0
000001cb: DUP5
000001cc: GAS
000001cd: DELEGATECALL
000001ce: RETURNDATASIZE
000001cf: PUSH0
000001d0: DUP1
000001d1: RETURNDATACOPY
000001d2: DUP1
000001d3: DUP1
000001d4: ISZERO
000001d5: PUSH2 0x01dc
000001d8: JUMPI
000001d9: RETURNDATASIZE
000001da: PUSH0
000001db: RETURN
000001dc: JUMPDEST
000001dd: RETURNDATASIZE
000001de: PUSH0
000001df: REVERT
000001e0: JUMPDEST
000001e1: DUP1
000001e2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001f7: AND
000001f8: EXTCODESIZE
000001f9: PUSH0
000001fa: SUB
000001fb: PUSH2 0x024d
000001fe: JUMPI
000001ff: PUSH1 0x40
00000201: MLOAD
00000202: PUSH32 0x4c9c8ce300000000000000000000000000000000000000000000000000000000
00000223: DUP2
00000224: MSTORE
00000225: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000023a: DUP3
0000023b: AND
0000023c: PUSH1 0x04
0000023e: DUP3
0000023f: ADD
00000240: MSTORE
00000241: PUSH1 0x24
00000243: ADD
00000244: JUMPDEST
00000245: PUSH1 0x40
00000247: MLOAD
00000248: DUP1
00000249: SWAP2
0000024a: SUB
0000024b: SWAP1
0000024c: REVERT
0000024d: JUMPDEST
0000024e: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
0000026f: DUP1
00000270: SLOAD
00000271: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00000292: AND
00000293: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002a8: SWAP3
000002a9: SWAP1
000002aa: SWAP3
000002ab: AND
000002ac: SWAP2
000002ad: SWAP1
000002ae: SWAP2
000002af: OR
000002b0: SWAP1
000002b1: SSTORE
000002b2: JUMP
000002b3: JUMPDEST
000002b4: PUSH1 0x60
000002b6: PUSH0
000002b7: DUP1
000002b8: DUP5
000002b9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002ce: AND
000002cf: DUP5
000002d0: PUSH1 0x40
000002d2: MLOAD
000002d3: PUSH2 0x02dc
000002d6: SWAP2
000002d7: SWAP1
000002d8: PUSH2 0x0586
000002db: JUMP
000002dc: JUMPDEST
000002dd: PUSH0
000002de: PUSH1 0x40
000002e0: MLOAD
000002e1: DUP1
000002e2: DUP4
000002e3: SUB
000002e4: DUP2
000002e5: DUP6
000002e6: GAS
000002e7: DELEGATECALL
000002e8: SWAP2
000002e9: POP
000002ea: POP
000002eb: RETURNDATASIZE
000002ec: DUP1
000002ed: PUSH0
000002ee: DUP2
000002ef: EQ
000002f0: PUSH2 0x0314
000002f3: JUMPI
000002f4: PUSH1 0x40
000002f6: MLOAD
000002f7: SWAP2
000002f8: POP
000002f9: PUSH1 0x1f
000002fb: NOT
000002fc: PUSH1 0x3f
000002fe: RETURNDATASIZE
000002ff: ADD
00000300: AND
00000301: DUP3
00000302: ADD
00000303: PUSH1 0x40
00000305: MSTORE
00000306: RETURNDATASIZE
00000307: DUP3
00000308: MSTORE
00000309: RETURNDATASIZE
0000030a: PUSH0
0000030b: PUSH1 0x20
0000030d: DUP5
0000030e: ADD
0000030f: RETURNDATACOPY
00000310: PUSH2 0x0319
00000313: JUMP
00000314: JUMPDEST
00000315: PUSH1 0x60
00000317: SWAP2
00000318: POP
00000319: JUMPDEST
0000031a: POP
0000031b: SWAP2
0000031c: POP
0000031d: SWAP2
0000031e: POP
0000031f: PUSH2 0x0329
00000322: DUP6
00000323: DUP4
00000324: DUP4
00000325: PUSH2 0x036a
00000328: JUMP
00000329: JUMPDEST
0000032a: SWAP6
0000032b: SWAP5
0000032c: POP
0000032d: POP
0000032e: POP
0000032f: POP
00000330: POP
00000331: JUMP
00000332: JUMPDEST
00000333: CALLVALUE
00000334: ISZERO
00000335: PUSH2 0x00cf
00000338: JUMPI
00000339: PUSH1 0x40
0000033b: MLOAD
0000033c: PUSH32 0xb398979f00000000000000000000000000000000000000000000000000000000
0000035d: DUP2
0000035e: MSTORE
0000035f: PUSH1 0x04
00000361: ADD
00000362: PUSH1 0x40
00000364: MLOAD
00000365: DUP1
00000366: SWAP2
00000367: SUB
00000368: SWAP1
00000369: REVERT
0000036a: JUMPDEST
0000036b: PUSH1 0x60
0000036d: DUP3
0000036e: PUSH2 0x037f
00000371: JUMPI
00000372: PUSH2 0x037a
00000375: DUP3
00000376: PUSH2 0x03fc
00000379: JUMP
0000037a: JUMPDEST
0000037b: PUSH2 0x03f5
0000037e: JUMP
0000037f: JUMPDEST
00000380: DUP2
00000381: MLOAD
00000382: ISZERO
00000383: DUP1
00000384: ISZERO
00000385: PUSH2 0x03a3
00000388: JUMPI
00000389: POP
0000038a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000039f: DUP5
000003a0: AND
000003a1: EXTCODESIZE
000003a2: ISZERO
000003a3: JUMPDEST
000003a4: ISZERO
000003a5: PUSH2 0x03f2
000003a8: JUMPI
000003a9: PUSH1 0x40
000003ab: MLOAD
000003ac: PUSH32 0x9996b31500000000000000000000000000000000000000000000000000000000
000003cd: DUP2
000003ce: MSTORE
000003cf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003e4: DUP6
000003e5: AND
000003e6: PUSH1 0x04
000003e8: DUP3
000003e9: ADD
000003ea: MSTORE
000003eb: PUSH1 0x24
000003ed: ADD
000003ee: PUSH2 0x0244
000003f1: JUMP
000003f2: JUMPDEST
000003f3: POP
000003f4: DUP1
000003f5: JUMPDEST
000003f6: SWAP4
000003f7: SWAP3
000003f8: POP
000003f9: POP
000003fa: POP
000003fb: JUMP
000003fc: JUMPDEST
000003fd: DUP1
000003fe: MLOAD
000003ff: ISZERO
00000400: PUSH2 0x040c
00000403: JUMPI
00000404: DUP1
00000405: MLOAD
00000406: DUP1
00000407: DUP3
00000408: PUSH1 0x20
0000040a: ADD
0000040b: REVERT
0000040c: JUMPDEST
0000040d: PUSH1 0x40
0000040f: MLOAD
00000410: PUSH32 0xd6bda27500000000000000000000000000000000000000000000000000000000
00000431: DUP2
00000432: MSTORE
00000433: PUSH1 0x04
00000435: ADD
00000436: PUSH1 0x40
00000438: MLOAD
00000439: DUP1
0000043a: SWAP2
0000043b: SUB
0000043c: SWAP1
0000043d: REVERT
0000043e: JUMPDEST
0000043f: PUSH0
00000440: DUP1
00000441: DUP6
00000442: DUP6
00000443: GT
00000444: ISZERO
00000445: PUSH2 0x044c
00000448: JUMPI
00000449: PUSH0
0000044a: DUP1
0000044b: REVERT
0000044c: JUMPDEST
0000044d: DUP4
0000044e: DUP7
0000044f: GT
00000450: ISZERO
00000451: PUSH2 0x0458
00000454: JUMPI
00000455: PUSH0
00000456: DUP1
00000457: REVERT
00000458: JUMPDEST
00000459: POP
0000045a: POP
0000045b: DUP3
0000045c: ADD
0000045d: SWAP4
0000045e: SWAP2
0000045f: SWAP1
00000460: SWAP3
00000461: SUB
00000462: SWAP2
00000463: POP
00000464: JUMP
00000465: JUMPDEST
00000466: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00000487: PUSH0
00000488: MSTORE
00000489: PUSH1 0x41
0000048b: PUSH1 0x04
0000048d: MSTORE
0000048e: PUSH1 0x24
00000490: PUSH0
00000491: REVERT
00000492: JUMPDEST
00000493: PUSH0
00000494: DUP1
00000495: PUSH1 0x40
00000497: DUP4
00000498: DUP6
00000499: SUB
0000049a: SLT
0000049b: ISZERO
0000049c: PUSH2 0x04a3
0000049f: JUMPI
000004a0: PUSH0
000004a1: DUP1
000004a2: REVERT
000004a3: JUMPDEST
000004a4: DUP3
000004a5: CALLDATALOAD
000004a6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004bb: DUP2
000004bc: AND
000004bd: DUP2
000004be: EQ
000004bf: PUSH2 0x04c6
000004c2: JUMPI
000004c3: PUSH0
000004c4: DUP1
000004c5: REVERT
000004c6: JUMPDEST
000004c7: SWAP2
000004c8: POP
000004c9: PUSH1 0x20
000004cb: DUP4
000004cc: ADD
000004cd: CALLDATALOAD
000004ce: PUSH8 0xffffffffffffffff
000004d7: DUP1
000004d8: DUP3
000004d9: GT
000004da: ISZERO
000004db: PUSH2 0x04e2
000004de: JUMPI
000004df: PUSH0
000004e0: DUP1
000004e1: REVERT
000004e2: JUMPDEST
000004e3: DUP2
000004e4: DUP6
000004e5: ADD
000004e6: SWAP2
000004e7: POP
000004e8: DUP6
000004e9: PUSH1 0x1f
000004eb: DUP4
000004ec: ADD
000004ed: SLT
000004ee: PUSH2 0x04f5
000004f1: JUMPI
000004f2: PUSH0
000004f3: DUP1
000004f4: REVERT
000004f5: JUMPDEST
000004f6: DUP2
000004f7: CALLDATALOAD
000004f8: DUP2
000004f9: DUP2
000004fa: GT
000004fb: ISZERO
000004fc: PUSH2 0x0507
000004ff: JUMPI
00000500: PUSH2 0x0507
00000503: PUSH2 0x0465
00000506: JUMP
00000507: JUMPDEST
00000508: PUSH1 0x40
0000050a: MLOAD
0000050b: PUSH1 0x1f
0000050d: DUP3
0000050e: ADD
0000050f: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00000530: SWAP1
00000531: DUP2
00000532: AND
00000533: PUSH1 0x3f
00000535: ADD
00000536: AND
00000537: DUP2
00000538: ADD
00000539: SWAP1
0000053a: DUP4
0000053b: DUP3
0000053c: GT
0000053d: DUP2
0000053e: DUP4
0000053f: LT
00000540: OR
00000541: ISZERO
00000542: PUSH2 0x054d
00000545: JUMPI
00000546: PUSH2 0x054d
00000549: PUSH2 0x0465
0000054c: JUMP
0000054d: JUMPDEST
0000054e: DUP2
0000054f: PUSH1 0x40
00000551: MSTORE
00000552: DUP3
00000553: DUP2
00000554: MSTORE
00000555: DUP9
00000556: PUSH1 0x20
00000558: DUP5
00000559: DUP8
0000055a: ADD
0000055b: ADD
0000055c: GT
0000055d: ISZERO
0000055e: PUSH2 0x0565
00000561: JUMPI
00000562: PUSH0
00000563: DUP1
00000564: REVERT
00000565: JUMPDEST
00000566: DUP3
00000567: PUSH1 0x20
00000569: DUP7
0000056a: ADD
0000056b: PUSH1 0x20
0000056d: DUP4
0000056e: ADD
0000056f: CALLDATACOPY
00000570: PUSH0
00000571: PUSH1 0x20
00000573: DUP5
00000574: DUP4
00000575: ADD
00000576: ADD
00000577: MSTORE
00000578: DUP1
00000579: SWAP6
0000057a: POP
0000057b: POP
0000057c: POP
0000057d: POP
0000057e: POP
0000057f: POP
00000580: SWAP3
00000581: POP
00000582: SWAP3
00000583: SWAP1
00000584: POP
00000585: JUMP
00000586: JUMPDEST
00000587: PUSH0
00000588: DUP3
00000589: MLOAD
0000058a: PUSH0
0000058b: JUMPDEST
0000058c: DUP2
0000058d: DUP2
0000058e: LT
0000058f: ISZERO
00000590: PUSH2 0x05a5
00000593: JUMPI
00000594: PUSH1 0x20
00000596: DUP2
00000597: DUP7
00000598: ADD
00000599: DUP2
0000059a: ADD
0000059b: MLOAD
0000059c: DUP6
0000059d: DUP4
0000059e: ADD
0000059f: MSTORE
000005a0: ADD
000005a1: PUSH2 0x058b
000005a4: JUMP
000005a5: JUMPDEST
000005a6: POP
000005a7: PUSH0
000005a8: SWAP3
000005a9: ADD
000005aa: SWAP2
000005ab: DUP3
000005ac: MSTORE
000005ad: POP
000005ae: SWAP2
000005af: SWAP1
000005b0: POP
000005b1: JUMP
000005b2: INVALID
000005b3: LOG2
000005b4: PUSH5 0x6970667358
000005ba: UNKNOWN(0x22)
000005bb: SLT
000005bc: KECCAK256
000005bd: MSTORE
000005be: SWAP11
000005bf: SWAP11
000005c0: DUP14
000005c1: DUP15
000005c2: UNKNOWN(0xAC)
000005c3: PUSH18 0x32d05588a2abbe7ad1eb517a8a80734e4263
000005d6: SSTORE
000005d7: SELFBALANCE
000005d8: RETURNDATACOPY
000005d9: DUP6
000005da: UNKNOWN(0x22)
000005db: UNKNOWN(0xC3)
000005dc: UNKNOWN(0xB4)
000005dd: PUSH5 0x736f6c6343
000005e3: STOP
000005e4: ADDMOD
000005e5: XOR
000005e6: STOP
000005e7: CALLER
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: 0x9f7607277608c91715f45babdd3af7e052780f35f85603fc60f3d5adf4ff6b8a
call_targets: 0x4f8b564e25337f6a3e66f12553221f6c05a13085
target_varies: no
classification: constant_target
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x9f7607277608c91715f45babdd3af7e052780f35f85603fc60f3d5adf4ff6b8a",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x4f8b564e25337f6a3e66f12553221f6c05a13085"
    ],
    "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": "0x",
            "selector": "fallback",
            "calldata_variants": [
                "0x"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 461,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 743,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 2,
    "untrusted_delegatecall_count": 2
}