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

Analysis Run

019b477e-dc79-7234-a044-b9d13e2f1da6

complete
Chain ID
1
Address
Block Number
Created
Mon, Dec 22, 2025 7:17 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 CALL target/value 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
29803 artifact.fetch complete 1 / 3 4 months ago
29804 tool.cast_disasm complete 1 / 3 4 months ago
72720 analysis.bundle complete 1 / 3 3 weeks ago
72721 capability.graph complete 1 / 3 3 weeks ago
72722 detector.run complete 1 / 3 3 weeks ago
72723 validation.fork complete 1 / 3 3 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
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
1
EXT*/BALANCE
0
Total opcodes
499
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0042
0000000c: JUMPI
0000000d: PUSH0
0000000e: CALLDATALOAD
0000000f: PUSH1 0xe0
00000011: SHR
00000012: DUP1
00000013: PUSH4 0x12065fe0
00000018: EQ
00000019: PUSH2 0x004d
0000001c: JUMPI
0000001d: DUP1
0000001e: PUSH4 0x251c1aa3
00000023: EQ
00000024: PUSH2 0x0077
00000027: JUMPI
00000028: DUP1
00000029: PUSH4 0x3ccfd60b
0000002e: EQ
0000002f: PUSH2 0x00a1
00000032: JUMPI
00000033: DUP1
00000034: PUSH4 0x8da5cb5b
00000039: EQ
0000003a: PUSH2 0x00b7
0000003d: JUMPI
0000003e: PUSH2 0x0049
00000041: JUMP
00000042: JUMPDEST
00000043: CALLDATASIZE
00000044: PUSH2 0x0049
00000047: JUMPI
00000048: STOP
00000049: JUMPDEST
0000004a: PUSH0
0000004b: PUSH0
0000004c: REVERT
0000004d: JUMPDEST
0000004e: CALLVALUE
0000004f: DUP1
00000050: ISZERO
00000051: PUSH2 0x0058
00000054: JUMPI
00000055: PUSH0
00000056: PUSH0
00000057: REVERT
00000058: JUMPDEST
00000059: POP
0000005a: PUSH2 0x0061
0000005d: PUSH2 0x00e1
00000060: JUMP
00000061: JUMPDEST
00000062: PUSH1 0x40
00000064: MLOAD
00000065: PUSH2 0x006e
00000068: SWAP2
00000069: SWAP1
0000006a: PUSH2 0x0243
0000006d: JUMP
0000006e: JUMPDEST
0000006f: PUSH1 0x40
00000071: MLOAD
00000072: DUP1
00000073: SWAP2
00000074: SUB
00000075: SWAP1
00000076: RETURN
00000077: JUMPDEST
00000078: CALLVALUE
00000079: DUP1
0000007a: ISZERO
0000007b: PUSH2 0x0082
0000007e: JUMPI
0000007f: PUSH0
00000080: PUSH0
00000081: REVERT
00000082: JUMPDEST
00000083: POP
00000084: PUSH2 0x008b
00000087: PUSH2 0x00e8
0000008a: JUMP
0000008b: JUMPDEST
0000008c: PUSH1 0x40
0000008e: MLOAD
0000008f: PUSH2 0x0098
00000092: SWAP2
00000093: SWAP1
00000094: PUSH2 0x0243
00000097: JUMP
00000098: JUMPDEST
00000099: PUSH1 0x40
0000009b: MLOAD
0000009c: DUP1
0000009d: SWAP2
0000009e: SUB
0000009f: SWAP1
000000a0: RETURN
000000a1: JUMPDEST
000000a2: CALLVALUE
000000a3: DUP1
000000a4: ISZERO
000000a5: PUSH2 0x00ac
000000a8: JUMPI
000000a9: PUSH0
000000aa: PUSH0
000000ab: REVERT
000000ac: JUMPDEST
000000ad: POP
000000ae: PUSH2 0x00b5
000000b1: PUSH2 0x00f0
000000b4: JUMP
000000b5: JUMPDEST
000000b6: STOP
000000b7: JUMPDEST
000000b8: CALLVALUE
000000b9: DUP1
000000ba: ISZERO
000000bb: PUSH2 0x00c2
000000be: JUMPI
000000bf: PUSH0
000000c0: PUSH0
000000c1: REVERT
000000c2: JUMPDEST
000000c3: POP
000000c4: PUSH2 0x00cb
000000c7: PUSH2 0x0213
000000ca: JUMP
000000cb: JUMPDEST
000000cc: PUSH1 0x40
000000ce: MLOAD
000000cf: PUSH2 0x00d8
000000d2: SWAP2
000000d3: SWAP1
000000d4: PUSH2 0x029b
000000d7: JUMP
000000d8: JUMPDEST
000000d9: PUSH1 0x40
000000db: MLOAD
000000dc: DUP1
000000dd: SWAP2
000000de: SUB
000000df: SWAP1
000000e0: RETURN
000000e1: JUMPDEST
000000e2: PUSH0
000000e3: SELFBALANCE
000000e4: SWAP1
000000e5: POP
000000e6: SWAP1
000000e7: JUMP
000000e8: JUMPDEST
000000e9: PUSH4 0x6a095000
000000ee: DUP2
000000ef: JUMP
000000f0: JUMPDEST
000000f1: PUSH20 0x537bcd6fc8eb996837b625e67aec7f8e2ba3657d
00000106: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000011b: AND
0000011c: CALLER
0000011d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000132: AND
00000133: EQ
00000134: PUSH2 0x0172
00000137: JUMPI
00000138: PUSH1 0x40
0000013a: MLOAD
0000013b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000015c: DUP2
0000015d: MSTORE
0000015e: PUSH1 0x04
00000160: ADD
00000161: PUSH2 0x0169
00000164: SWAP1
00000165: PUSH2 0x030e
00000168: JUMP
00000169: JUMPDEST
0000016a: PUSH1 0x40
0000016c: MLOAD
0000016d: DUP1
0000016e: SWAP2
0000016f: SUB
00000170: SWAP1
00000171: REVERT
00000172: JUMPDEST
00000173: PUSH4 0x6a095000
00000178: TIMESTAMP
00000179: LT
0000017a: ISZERO
0000017b: PUSH2 0x01b9
0000017e: JUMPI
0000017f: PUSH1 0x40
00000181: MLOAD
00000182: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000001a3: DUP2
000001a4: MSTORE
000001a5: PUSH1 0x04
000001a7: ADD
000001a8: PUSH2 0x01b0
000001ab: SWAP1
000001ac: PUSH2 0x0376
000001af: JUMP
000001b0: JUMPDEST
000001b1: PUSH1 0x40
000001b3: MLOAD
000001b4: DUP1
000001b5: SWAP2
000001b6: SUB
000001b7: SWAP1
000001b8: REVERT
000001b9: JUMPDEST
000001ba: PUSH20 0x537bcd6fc8eb996837b625e67aec7f8e2ba3657d
000001cf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001e4: AND
000001e5: PUSH2 0x08fc
000001e8: SELFBALANCE
000001e9: SWAP1
000001ea: DUP2
000001eb: ISZERO
000001ec: MUL
000001ed: SWAP1
000001ee: PUSH1 0x40
000001f0: MLOAD
000001f1: PUSH0
000001f2: PUSH1 0x40
000001f4: MLOAD
000001f5: DUP1
000001f6: DUP4
000001f7: SUB
000001f8: DUP2
000001f9: DUP6
000001fa: DUP9
000001fb: DUP9
000001fc: CALL
000001fd: SWAP4
000001fe: POP
000001ff: POP
00000200: POP
00000201: POP
00000202: ISZERO
00000203: DUP1
00000204: ISZERO
00000205: PUSH2 0x0210
00000208: JUMPI
00000209: RETURNDATASIZE
0000020a: PUSH0
0000020b: PUSH0
0000020c: RETURNDATACOPY
0000020d: RETURNDATASIZE
0000020e: PUSH0
0000020f: REVERT
00000210: JUMPDEST
00000211: POP
00000212: JUMP
00000213: JUMPDEST
00000214: PUSH20 0x537bcd6fc8eb996837b625e67aec7f8e2ba3657d
00000229: DUP2
0000022a: JUMP
0000022b: JUMPDEST
0000022c: PUSH0
0000022d: DUP2
0000022e: SWAP1
0000022f: POP
00000230: SWAP2
00000231: SWAP1
00000232: POP
00000233: JUMP
00000234: JUMPDEST
00000235: PUSH2 0x023d
00000238: DUP2
00000239: PUSH2 0x022b
0000023c: JUMP
0000023d: JUMPDEST
0000023e: DUP3
0000023f: MSTORE
00000240: POP
00000241: POP
00000242: JUMP
00000243: JUMPDEST
00000244: PUSH0
00000245: PUSH1 0x20
00000247: DUP3
00000248: ADD
00000249: SWAP1
0000024a: POP
0000024b: PUSH2 0x0256
0000024e: PUSH0
0000024f: DUP4
00000250: ADD
00000251: DUP5
00000252: PUSH2 0x0234
00000255: JUMP
00000256: JUMPDEST
00000257: SWAP3
00000258: SWAP2
00000259: POP
0000025a: POP
0000025b: JUMP
0000025c: JUMPDEST
0000025d: PUSH0
0000025e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000273: DUP3
00000274: AND
00000275: SWAP1
00000276: POP
00000277: SWAP2
00000278: SWAP1
00000279: POP
0000027a: JUMP
0000027b: JUMPDEST
0000027c: PUSH0
0000027d: PUSH2 0x0285
00000280: DUP3
00000281: PUSH2 0x025c
00000284: JUMP
00000285: JUMPDEST
00000286: SWAP1
00000287: POP
00000288: SWAP2
00000289: SWAP1
0000028a: POP
0000028b: JUMP
0000028c: JUMPDEST
0000028d: PUSH2 0x0295
00000290: DUP2
00000291: PUSH2 0x027b
00000294: JUMP
00000295: JUMPDEST
00000296: DUP3
00000297: MSTORE
00000298: POP
00000299: POP
0000029a: JUMP
0000029b: JUMPDEST
0000029c: PUSH0
0000029d: PUSH1 0x20
0000029f: DUP3
000002a0: ADD
000002a1: SWAP1
000002a2: POP
000002a3: PUSH2 0x02ae
000002a6: PUSH0
000002a7: DUP4
000002a8: ADD
000002a9: DUP5
000002aa: PUSH2 0x028c
000002ad: JUMP
000002ae: JUMPDEST
000002af: SWAP3
000002b0: SWAP2
000002b1: POP
000002b2: POP
000002b3: JUMP
000002b4: JUMPDEST
000002b5: PUSH0
000002b6: DUP3
000002b7: DUP3
000002b8: MSTORE
000002b9: PUSH1 0x20
000002bb: DUP3
000002bc: ADD
000002bd: SWAP1
000002be: POP
000002bf: SWAP3
000002c0: SWAP2
000002c1: POP
000002c2: POP
000002c3: JUMP
000002c4: JUMPDEST
000002c5: PUSH32 0x4e6f7420746865206f776e657200000000000000000000000000000000000000
000002e6: PUSH0
000002e7: DUP3
000002e8: ADD
000002e9: MSTORE
000002ea: POP
000002eb: JUMP
000002ec: JUMPDEST
000002ed: PUSH0
000002ee: PUSH2 0x02f8
000002f1: PUSH1 0x0d
000002f3: DUP4
000002f4: PUSH2 0x02b4
000002f7: JUMP
000002f8: JUMPDEST
000002f9: SWAP2
000002fa: POP
000002fb: PUSH2 0x0303
000002fe: DUP3
000002ff: PUSH2 0x02c4
00000302: JUMP
00000303: JUMPDEST
00000304: PUSH1 0x20
00000306: DUP3
00000307: ADD
00000308: SWAP1
00000309: POP
0000030a: SWAP2
0000030b: SWAP1
0000030c: POP
0000030d: JUMP
0000030e: JUMPDEST
0000030f: PUSH0
00000310: PUSH1 0x20
00000312: DUP3
00000313: ADD
00000314: SWAP1
00000315: POP
00000316: DUP2
00000317: DUP2
00000318: SUB
00000319: PUSH0
0000031a: DUP4
0000031b: ADD
0000031c: MSTORE
0000031d: PUSH2 0x0325
00000320: DUP2
00000321: PUSH2 0x02ec
00000324: JUMP
00000325: JUMPDEST
00000326: SWAP1
00000327: POP
00000328: SWAP2
00000329: SWAP1
0000032a: POP
0000032b: JUMP
0000032c: JUMPDEST
0000032d: PUSH32 0x546f6f206561726c7920746f2077697468647261770000000000000000000000
0000034e: PUSH0
0000034f: DUP3
00000350: ADD
00000351: MSTORE
00000352: POP
00000353: JUMP
00000354: JUMPDEST
00000355: PUSH0
00000356: PUSH2 0x0360
00000359: PUSH1 0x15
0000035b: DUP4
0000035c: PUSH2 0x02b4
0000035f: JUMP
00000360: JUMPDEST
00000361: SWAP2
00000362: POP
00000363: PUSH2 0x036b
00000366: DUP3
00000367: PUSH2 0x032c
0000036a: JUMP
0000036b: JUMPDEST
0000036c: PUSH1 0x20
0000036e: DUP3
0000036f: ADD
00000370: SWAP1
00000371: POP
00000372: SWAP2
00000373: SWAP1
00000374: POP
00000375: JUMP
00000376: JUMPDEST
00000377: PUSH0
00000378: PUSH1 0x20
0000037a: DUP3
0000037b: ADD
0000037c: SWAP1
0000037d: POP
0000037e: DUP2
0000037f: DUP2
00000380: SUB
00000381: PUSH0
00000382: DUP4
00000383: ADD
00000384: MSTORE
00000385: PUSH2 0x038d
00000388: DUP2
00000389: PUSH2 0x0354
0000038c: JUMP
0000038d: JUMPDEST
0000038e: SWAP1
0000038f: POP
00000390: SWAP2
00000391: SWAP1
00000392: POP
00000393: JUMP
00000394: INVALID
00000395: LOG2
00000396: PUSH5 0x6970667358
0000039c: UNKNOWN(0x22)
0000039d: SLT
0000039e: KECCAK256
0000039f: EQ
000003a0: KECCAK256
000003a1: PUSH15 0x1ba656d7339be421d878e3d8272cb4
000003b1: RETURN
000003b2: UNKNOWN(0xD6)
000003b3: PUSH31

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0xe414d4c4d3734beecc1a89e80e290e5c14306cf20835d8faec07393c5601b2a8
call_targets: 0x23abc01a7f1d2aa12e1babc71d65f60db9af1ba8
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xe414d4c4d3734beecc1a89e80e290e5c14306cf20835d8faec07393c5601b2a8",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x23abc01a7f1d2aa12e1babc71d65f60db9af1ba8"
    ],
    "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": "0x12065fe0",
            "selector": "0x12065fe0",
            "calldata_variants": [
                "0x12065fe0",
                "0x12065fe00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x251c1aa3",
            "selector": "0x251c1aa3",
            "calldata_variants": [
                "0x251c1aa3",
                "0x251c1aa30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3ccfd60b",
            "selector": "0x3ccfd60b",
            "calldata_variants": [
                "0x3ccfd60b",
                "0x3ccfd60b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 508,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 1,
    "guards_detected": [
        {
            "pc": 284,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 1
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0xe414d4c4d3734beecc1a89e80e290e5c14306cf20835d8faec07393c5601b2a8
call_targets: 0x23abc01a7f1d2aa12e1babc71d65f60db9af1ba8
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xe414d4c4d3734beecc1a89e80e290e5c14306cf20835d8faec07393c5601b2a8",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x23abc01a7f1d2aa12e1babc71d65f60db9af1ba8"
    ],
    "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": "0x12065fe0",
            "selector": "0x12065fe0",
            "calldata_variants": [
                "0x12065fe0",
                "0x12065fe00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x251c1aa3",
            "selector": "0x251c1aa3",
            "calldata_variants": [
                "0x251c1aa3",
                "0x251c1aa30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3ccfd60b",
            "selector": "0x3ccfd60b",
            "calldata_variants": [
                "0x3ccfd60b",
                "0x3ccfd60b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 508,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 1,
    "guards_detected": [
        {
            "pc": 284,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}