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

Analysis Run

019b477e-b43f-71a5-952a-97c338cc8aa2

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
Verified
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
22691 artifact.fetch complete 1 / 3 3 months ago
22692 tool.cast_disasm complete 1 / 3 3 months ago
89549 analysis.bundle complete 1 / 3 1 week ago
89550 capability.graph complete 1 / 3 1 week ago
89551 detector.run complete 1 / 3 1 week ago
89552 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no
Implementation:
Verified Source: yes

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)
2
EXT*/BALANCE
1
Total opcodes
466
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 0x0057
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000002e: SWAP1
0000002f: DIV
00000030: PUSH4 0xffffffff
00000035: AND
00000036: DUP1
00000037: PUSH4 0x8da5cb5b
0000003c: EQ
0000003d: PUSH2 0x00f2
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0xf2fde38b
00000047: EQ
00000048: PUSH2 0x0149
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0xf3fef3a3
00000052: EQ
00000053: PUSH2 0x018c
00000056: JUMPI
00000057: JUMPDEST
00000058: PUSH1 0x00
0000005a: CALLVALUE
0000005b: GT
0000005c: ISZERO
0000005d: ISZERO
0000005e: PUSH2 0x0066
00000061: JUMPI
00000062: PUSH1 0x00
00000064: DUP1
00000065: REVERT
00000066: JUMPDEST
00000067: PUSH1 0x00
00000069: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000007e: AND
0000007f: CALLER
00000080: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000095: AND
00000096: EQ
00000097: ISZERO
00000098: ISZERO
00000099: ISZERO
0000009a: PUSH2 0x00a2
0000009d: JUMPI
0000009e: PUSH1 0x00
000000a0: DUP1
000000a1: REVERT
000000a2: JUMPDEST
000000a3: CALLER
000000a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000000b9: AND
000000ba: PUSH32 0x69ca02dd4edd7bf0a4abb9ed3b7af3f14778db5d61921c7dc7cd545266326de2
000000db: CALLVALUE
000000dc: PUSH1 0x40
000000de: MLOAD
000000df: DUP1
000000e0: DUP3
000000e1: DUP2
000000e2: MSTORE
000000e3: PUSH1 0x20
000000e5: ADD
000000e6: SWAP2
000000e7: POP
000000e8: POP
000000e9: PUSH1 0x40
000000eb: MLOAD
000000ec: DUP1
000000ed: SWAP2
000000ee: SUB
000000ef: SWAP1
000000f0: LOG2
000000f1: STOP
000000f2: JUMPDEST
000000f3: CALLVALUE
000000f4: DUP1
000000f5: ISZERO
000000f6: PUSH2 0x00fe
000000f9: JUMPI
000000fa: PUSH1 0x00
000000fc: DUP1
000000fd: REVERT
000000fe: JUMPDEST
000000ff: POP
00000100: PUSH2 0x0107
00000103: PUSH2 0x01d9
00000106: JUMP
00000107: JUMPDEST
00000108: PUSH1 0x40
0000010a: MLOAD
0000010b: DUP1
0000010c: DUP3
0000010d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000122: AND
00000123: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000138: AND
00000139: DUP2
0000013a: MSTORE
0000013b: PUSH1 0x20
0000013d: ADD
0000013e: SWAP2
0000013f: POP
00000140: POP
00000141: PUSH1 0x40
00000143: MLOAD
00000144: DUP1
00000145: SWAP2
00000146: SUB
00000147: SWAP1
00000148: RETURN
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 0x018a
0000015a: PUSH1 0x04
0000015c: DUP1
0000015d: CALLDATASIZE
0000015e: SUB
0000015f: DUP2
00000160: ADD
00000161: SWAP1
00000162: DUP1
00000163: DUP1
00000164: CALLDATALOAD
00000165: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000017a: AND
0000017b: SWAP1
0000017c: PUSH1 0x20
0000017e: ADD
0000017f: SWAP1
00000180: SWAP3
00000181: SWAP2
00000182: SWAP1
00000183: POP
00000184: POP
00000185: POP
00000186: PUSH2 0x01fe
00000189: JUMP
0000018a: JUMPDEST
0000018b: STOP
0000018c: JUMPDEST
0000018d: CALLVALUE
0000018e: DUP1
0000018f: ISZERO
00000190: PUSH2 0x0198
00000193: JUMPI
00000194: PUSH1 0x00
00000196: DUP1
00000197: REVERT
00000198: JUMPDEST
00000199: POP
0000019a: PUSH2 0x01d7
0000019d: PUSH1 0x04
0000019f: DUP1
000001a0: CALLDATASIZE
000001a1: SUB
000001a2: DUP2
000001a3: ADD
000001a4: SWAP1
000001a5: DUP1
000001a6: DUP1
000001a7: CALLDATALOAD
000001a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001bd: AND
000001be: SWAP1
000001bf: PUSH1 0x20
000001c1: ADD
000001c2: SWAP1
000001c3: SWAP3
000001c4: SWAP2
000001c5: SWAP1
000001c6: DUP1
000001c7: CALLDATALOAD
000001c8: SWAP1
000001c9: PUSH1 0x20
000001cb: ADD
000001cc: SWAP1
000001cd: SWAP3
000001ce: SWAP2
000001cf: SWAP1
000001d0: POP
000001d1: POP
000001d2: POP
000001d3: PUSH2 0x0353
000001d6: JUMP
000001d7: JUMPDEST
000001d8: STOP
000001d9: JUMPDEST
000001da: PUSH1 0x00
000001dc: DUP1
000001dd: SWAP1
000001de: SLOAD
000001df: SWAP1
000001e0: PUSH2 0x0100
000001e3: EXP
000001e4: SWAP1
000001e5: DIV
000001e6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001fb: AND
000001fc: DUP2
000001fd: JUMP
000001fe: JUMPDEST
000001ff: PUSH1 0x00
00000201: DUP1
00000202: SWAP1
00000203: SLOAD
00000204: SWAP1
00000205: PUSH2 0x0100
00000208: EXP
00000209: SWAP1
0000020a: DIV
0000020b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000220: AND
00000221: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000236: AND
00000237: CALLER
00000238: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000024d: AND
0000024e: EQ
0000024f: ISZERO
00000250: ISZERO
00000251: PUSH2 0x0259
00000254: JUMPI
00000255: PUSH1 0x00
00000257: DUP1
00000258: REVERT
00000259: JUMPDEST
0000025a: PUSH1 0x00
0000025c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000271: AND
00000272: DUP2
00000273: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000288: AND
00000289: EQ
0000028a: ISZERO
0000028b: ISZERO
0000028c: ISZERO
0000028d: PUSH2 0x0295
00000290: JUMPI
00000291: PUSH1 0x00
00000293: DUP1
00000294: REVERT
00000295: JUMPDEST
00000296: DUP1
00000297: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002ac: AND
000002ad: PUSH1 0x00
000002af: DUP1
000002b0: SWAP1
000002b1: SLOAD
000002b2: SWAP1
000002b3: PUSH2 0x0100
000002b6: EXP
000002b7: SWAP1
000002b8: DIV
000002b9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002ce: AND
000002cf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002e4: AND
000002e5: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000306: PUSH1 0x40
00000308: MLOAD
00000309: PUSH1 0x40
0000030b: MLOAD
0000030c: DUP1
0000030d: SWAP2
0000030e: SUB
0000030f: SWAP1
00000310: LOG3
00000311: DUP1
00000312: PUSH1 0x00
00000314: DUP1
00000315: PUSH2 0x0100
00000318: EXP
00000319: DUP2
0000031a: SLOAD
0000031b: DUP2
0000031c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000331: MUL
00000332: NOT
00000333: AND
00000334: SWAP1
00000335: DUP4
00000336: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000034b: AND
0000034c: MUL
0000034d: OR
0000034e: SWAP1
0000034f: SSTORE
00000350: POP
00000351: POP
00000352: JUMP
00000353: JUMPDEST
00000354: PUSH1 0x00
00000356: DUP1
00000357: SWAP1
00000358: SLOAD
00000359: SWAP1
0000035a: PUSH2 0x0100
0000035d: EXP
0000035e: SWAP1
0000035f: DIV
00000360: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000375: AND
00000376: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000038b: AND
0000038c: CALLER
0000038d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003a2: AND
000003a3: EQ
000003a4: ISZERO
000003a5: ISZERO
000003a6: PUSH2 0x03ae
000003a9: JUMPI
000003aa: PUSH1 0x00
000003ac: DUP1
000003ad: REVERT
000003ae: JUMPDEST
000003af: PUSH1 0x00
000003b1: DUP2
000003b2: GT
000003b3: ISZERO
000003b4: ISZERO
000003b5: PUSH2 0x03bd
000003b8: JUMPI
000003b9: PUSH1 0x00
000003bb: DUP1
000003bc: REVERT
000003bd: JUMPDEST
000003be: DUP1
000003bf: ADDRESS
000003c0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003d5: AND
000003d6: BALANCE
000003d7: LT
000003d8: ISZERO
000003d9: ISZERO
000003da: ISZERO
000003db: PUSH2 0x03e3
000003de: JUMPI
000003df: PUSH1 0x00
000003e1: DUP1
000003e2: REVERT
000003e3: JUMPDEST
000003e4: PUSH1 0x00
000003e6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003fb: AND
000003fc: DUP3
000003fd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000412: AND
00000413: EQ
00000414: ISZERO
00000415: ISZERO
00000416: ISZERO
00000417: PUSH2 0x041f
0000041a: JUMPI
0000041b: PUSH1 0x00
0000041d: DUP1
0000041e: REVERT
0000041f: JUMPDEST
00000420: DUP2
00000421: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000436: AND
00000437: PUSH2 0x08fc
0000043a: DUP3
0000043b: SWAP1
0000043c: DUP2
0000043d: ISZERO
0000043e: MUL
0000043f: SWAP1
00000440: PUSH1 0x40
00000442: MLOAD
00000443: PUSH1 0x00
00000445: PUSH1 0x40
00000447: MLOAD
00000448: DUP1
00000449: DUP4
0000044a: SUB
0000044b: DUP2
0000044c: DUP6
0000044d: DUP9
0000044e: DUP9
0000044f: CALL
00000450: SWAP4
00000451: POP
00000452: POP
00000453: POP
00000454: POP
00000455: ISZERO
00000456: DUP1
00000457: ISZERO
00000458: PUSH2 0x0465
0000045b: JUMPI
0000045c: RETURNDATASIZE
0000045d: PUSH1 0x00
0000045f: DUP1
00000460: RETURNDATACOPY
00000461: RETURNDATASIZE
00000462: PUSH1 0x00
00000464: REVERT
00000465: JUMPDEST
00000466: POP
00000467: DUP2
00000468: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000047d: AND
0000047e: PUSH32 0x884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364
0000049f: DUP3
000004a0: PUSH1 0x40
000004a2: MLOAD
000004a3: DUP1
000004a4: DUP3
000004a5: DUP2
000004a6: MSTORE
000004a7: PUSH1 0x20
000004a9: ADD
000004aa: SWAP2
000004ab: POP
000004ac: POP
000004ad: PUSH1 0x40
000004af: MLOAD
000004b0: DUP1
000004b1: SWAP2
000004b2: SUB
000004b3: SWAP1
000004b4: LOG2
000004b5: POP
000004b6: POP
000004b7: JUMP
000004b8: STOP
000004b9: LOG1
000004ba: PUSH6 0x627a7a723058
000004c1: KECCAK256
000004c2: UNKNOWN(0x22)
000004c3: RETURNDATACOPY
000004c4: UNKNOWN(0xDA)
000004c5: MSTORE8
000004c6: SWAP13
000004c7: UNKNOWN(0x4C)
000004c8: STATICCALL
000004c9: JUMP
000004ca: UNKNOWN(0xB4)
000004cb: DUP13
000004cc: BYTE
000004cd: ADDRESS
000004ce: UNKNOWN(0x0F)
000004cf: SHR
000004d0: UNKNOWN(0xF6)
000004d1: RETURN
000004d2: PUSH25

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: 0x4ad55407c7e43e000ba0cf12e9c062c4ebf0764c2b6dc4b56a14d522c8018733
call_targets: 0x5da60592329d7651ff3415ef7f3d3ed91d1c2f24
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x4ad55407c7e43e000ba0cf12e9c062c4ebf0764c2b6dc4b56a14d522c8018733",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x5da60592329d7651ff3415ef7f3d3ed91d1c2f24"
    ],
    "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": "0xffffffff",
            "selector": "0xffffffff",
            "calldata_variants": [
                "0xffffffff",
                "0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3fef3a3",
            "selector": "0xf3fef3a3",
            "calldata_variants": [
                "0xf3fef3a3",
                "0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1103,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 1,
    "guards_detected": [
        {
            "pc": 127,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 567,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 908,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 1
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x4ad55407c7e43e000ba0cf12e9c062c4ebf0764c2b6dc4b56a14d522c8018733
call_targets: 0x5da60592329d7651ff3415ef7f3d3ed91d1c2f24
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x4ad55407c7e43e000ba0cf12e9c062c4ebf0764c2b6dc4b56a14d522c8018733",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x5da60592329d7651ff3415ef7f3d3ed91d1c2f24"
    ],
    "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": "0xffffffff",
            "selector": "0xffffffff",
            "calldata_variants": [
                "0xffffffff",
                "0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3fef3a3",
            "selector": "0xf3fef3a3",
            "calldata_variants": [
                "0xf3fef3a3",
                "0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1103,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 1,
    "guards_detected": [
        {
            "pc": 127,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 567,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 908,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}