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

Analysis Run

019b477e-da08-739e-9772-3ed385bc5dc7

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
29401 artifact.fetch complete 1 / 3 3 months ago
29402 tool.cast_disasm complete 1 / 3 3 months ago
108205 analysis.bundle complete 1 / 3 1 week ago
108206 capability.graph complete 1 / 3 1 week ago
108207 detector.run complete 1 / 3 1 week ago
108208 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)
1
EXT*/BALANCE
0
Total opcodes
460
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 0x0038
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x2e1a7d4d
00000019: EQ
0000001a: PUSH2 0x00c9
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0x8da5cb5b
00000024: EQ
00000025: PUSH2 0x00eb
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xb62b2656
0000002f: EQ
00000030: PUSH2 0x0128
00000033: JUMPI
00000034: PUSH2 0x0092
00000037: JUMP
00000038: JUMPDEST
00000039: CALLDATASIZE
0000003a: PUSH2 0x0092
0000003d: JUMPI
0000003e: PUSH1 0x00
00000040: CALLVALUE
00000041: GT
00000042: PUSH2 0x0092
00000045: JUMPI
00000046: PUSH1 0x40
00000048: MLOAD
00000049: PUSH3 0x461bcd
0000004d: PUSH1 0xe5
0000004f: SHL
00000050: DUP2
00000051: MSTORE
00000052: PUSH1 0x20
00000054: PUSH1 0x04
00000056: DUP3
00000057: ADD
00000058: MSTORE
00000059: PUSH1 0x18
0000005b: PUSH1 0x24
0000005d: DUP3
0000005e: ADD
0000005f: MSTORE
00000060: PUSH32 0x4d7573742073656e642045544820746f206465706f7369740000000000000000
00000081: PUSH1 0x44
00000083: DUP3
00000084: ADD
00000085: MSTORE
00000086: PUSH1 0x64
00000088: ADD
00000089: JUMPDEST
0000008a: PUSH1 0x40
0000008c: MLOAD
0000008d: DUP1
0000008e: SWAP2
0000008f: SUB
00000090: SWAP1
00000091: REVERT
00000092: JUMPDEST
00000093: PUSH1 0x40
00000095: MLOAD
00000096: CALLVALUE
00000097: DUP2
00000098: MSTORE
00000099: CALLER
0000009a: SWAP1
0000009b: PUSH32 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c
000000bc: SWAP1
000000bd: PUSH1 0x20
000000bf: ADD
000000c0: PUSH1 0x40
000000c2: MLOAD
000000c3: DUP1
000000c4: SWAP2
000000c5: SUB
000000c6: SWAP1
000000c7: LOG2
000000c8: STOP
000000c9: JUMPDEST
000000ca: CALLVALUE
000000cb: DUP1
000000cc: ISZERO
000000cd: PUSH2 0x00d5
000000d0: JUMPI
000000d1: PUSH1 0x00
000000d3: DUP1
000000d4: REVERT
000000d5: JUMPDEST
000000d6: POP
000000d7: PUSH2 0x00e9
000000da: PUSH2 0x00e4
000000dd: CALLDATASIZE
000000de: PUSH1 0x04
000000e0: PUSH2 0x0336
000000e3: JUMP
000000e4: JUMPDEST
000000e5: PUSH2 0x014c
000000e8: JUMP
000000e9: JUMPDEST
000000ea: STOP
000000eb: JUMPDEST
000000ec: CALLVALUE
000000ed: DUP1
000000ee: ISZERO
000000ef: PUSH2 0x00f7
000000f2: JUMPI
000000f3: PUSH1 0x00
000000f5: DUP1
000000f6: REVERT
000000f7: JUMPDEST
000000f8: POP
000000f9: PUSH1 0x00
000000fb: SLOAD
000000fc: PUSH2 0x010b
000000ff: SWAP1
00000100: PUSH1 0x01
00000102: PUSH1 0x01
00000104: PUSH1 0xa0
00000106: SHL
00000107: SUB
00000108: AND
00000109: DUP2
0000010a: JUMP
0000010b: JUMPDEST
0000010c: PUSH1 0x40
0000010e: MLOAD
0000010f: PUSH1 0x01
00000111: PUSH1 0x01
00000113: PUSH1 0xa0
00000115: SHL
00000116: SUB
00000117: SWAP1
00000118: SWAP2
00000119: AND
0000011a: DUP2
0000011b: MSTORE
0000011c: PUSH1 0x20
0000011e: ADD
0000011f: JUMPDEST
00000120: PUSH1 0x40
00000122: MLOAD
00000123: DUP1
00000124: SWAP2
00000125: SUB
00000126: SWAP1
00000127: RETURN
00000128: JUMPDEST
00000129: CALLVALUE
0000012a: DUP1
0000012b: ISZERO
0000012c: PUSH2 0x0134
0000012f: JUMPI
00000130: PUSH1 0x00
00000132: DUP1
00000133: REVERT
00000134: JUMPDEST
00000135: POP
00000136: PUSH2 0x013e
00000139: PUSH1 0x01
0000013b: SLOAD
0000013c: DUP2
0000013d: JUMP
0000013e: JUMPDEST
0000013f: PUSH1 0x40
00000141: MLOAD
00000142: SWAP1
00000143: DUP2
00000144: MSTORE
00000145: PUSH1 0x20
00000147: ADD
00000148: PUSH2 0x011f
0000014b: JUMP
0000014c: JUMPDEST
0000014d: PUSH1 0x01
0000014f: SLOAD
00000150: TIMESTAMP
00000151: LT
00000152: ISZERO
00000153: PUSH2 0x019e
00000156: JUMPI
00000157: PUSH1 0x40
00000159: MLOAD
0000015a: PUSH3 0x461bcd
0000015e: PUSH1 0xe5
00000160: SHL
00000161: DUP2
00000162: MSTORE
00000163: PUSH1 0x20
00000165: PUSH1 0x04
00000167: DUP3
00000168: ADD
00000169: MSTORE
0000016a: PUSH1 0x1b
0000016c: PUSH1 0x24
0000016e: DUP3
0000016f: ADD
00000170: MSTORE
00000171: PUSH32 0x5769746864726177616c73206e6f7420616c6c6f776564207965740000000000
00000192: PUSH1 0x44
00000194: DUP3
00000195: ADD
00000196: MSTORE
00000197: PUSH1 0x64
00000199: ADD
0000019a: PUSH2 0x0089
0000019d: JUMP
0000019e: JUMPDEST
0000019f: PUSH1 0x00
000001a1: SLOAD
000001a2: PUSH1 0x01
000001a4: PUSH1 0x01
000001a6: PUSH1 0xa0
000001a8: SHL
000001a9: SUB
000001aa: AND
000001ab: CALLER
000001ac: EQ
000001ad: PUSH2 0x0209
000001b0: JUMPI
000001b1: PUSH1 0x40
000001b3: MLOAD
000001b4: PUSH3 0x461bcd
000001b8: PUSH1 0xe5
000001ba: SHL
000001bb: DUP2
000001bc: MSTORE
000001bd: PUSH1 0x20
000001bf: PUSH1 0x04
000001c1: DUP3
000001c2: ADD
000001c3: MSTORE
000001c4: PUSH1 0x28
000001c6: PUSH1 0x24
000001c8: DUP3
000001c9: ADD
000001ca: MSTORE
000001cb: PUSH32 0x4f6e6c79207468652064657369676e6174656420616464726573732063616e20
000001ec: PUSH1 0x44
000001ee: DUP3
000001ef: ADD
000001f0: MSTORE
000001f1: PUSH8 0x7769746864726177
000001fa: PUSH1 0xc0
000001fc: SHL
000001fd: PUSH1 0x64
000001ff: DUP3
00000200: ADD
00000201: MSTORE
00000202: PUSH1 0x84
00000204: ADD
00000205: PUSH2 0x0089
00000208: JUMP
00000209: JUMPDEST
0000020a: DUP1
0000020b: SELFBALANCE
0000020c: LT
0000020d: ISZERO
0000020e: PUSH2 0x0259
00000211: JUMPI
00000212: PUSH1 0x40
00000214: MLOAD
00000215: PUSH3 0x461bcd
00000219: PUSH1 0xe5
0000021b: SHL
0000021c: DUP2
0000021d: MSTORE
0000021e: PUSH1 0x20
00000220: PUSH1 0x04
00000222: DUP3
00000223: ADD
00000224: MSTORE
00000225: PUSH1 0x1d
00000227: PUSH1 0x24
00000229: DUP3
0000022a: ADD
0000022b: MSTORE
0000022c: PUSH32 0x496e73756666696369656e7420636f6e74726163742062616c616e6365000000
0000024d: PUSH1 0x44
0000024f: DUP3
00000250: ADD
00000251: MSTORE
00000252: PUSH1 0x64
00000254: ADD
00000255: PUSH2 0x0089
00000258: JUMP
00000259: JUMPDEST
0000025a: PUSH1 0x00
0000025c: DUP1
0000025d: SLOAD
0000025e: PUSH1 0x40
00000260: MLOAD
00000261: PUSH1 0x01
00000263: PUSH1 0x01
00000265: PUSH1 0xa0
00000267: SHL
00000268: SUB
00000269: SWAP1
0000026a: SWAP2
0000026b: AND
0000026c: SWAP1
0000026d: DUP4
0000026e: SWAP1
0000026f: DUP4
00000270: DUP2
00000271: DUP2
00000272: DUP2
00000273: DUP6
00000274: DUP8
00000275: GAS
00000276: CALL
00000277: SWAP3
00000278: POP
00000279: POP
0000027a: POP
0000027b: RETURNDATASIZE
0000027c: DUP1
0000027d: PUSH1 0x00
0000027f: DUP2
00000280: EQ
00000281: PUSH2 0x02a6
00000284: JUMPI
00000285: PUSH1 0x40
00000287: MLOAD
00000288: SWAP2
00000289: POP
0000028a: PUSH1 0x1f
0000028c: NOT
0000028d: PUSH1 0x3f
0000028f: RETURNDATASIZE
00000290: ADD
00000291: AND
00000292: DUP3
00000293: ADD
00000294: PUSH1 0x40
00000296: MSTORE
00000297: RETURNDATASIZE
00000298: DUP3
00000299: MSTORE
0000029a: RETURNDATASIZE
0000029b: PUSH1 0x00
0000029d: PUSH1 0x20
0000029f: DUP5
000002a0: ADD
000002a1: RETURNDATACOPY
000002a2: PUSH2 0x02ab
000002a5: JUMP
000002a6: JUMPDEST
000002a7: PUSH1 0x60
000002a9: SWAP2
000002aa: POP
000002ab: JUMPDEST
000002ac: POP
000002ad: POP
000002ae: SWAP1
000002af: POP
000002b0: DUP1
000002b1: PUSH2 0x02f0
000002b4: JUMPI
000002b5: PUSH1 0x40
000002b7: MLOAD
000002b8: PUSH3 0x461bcd
000002bc: PUSH1 0xe5
000002be: SHL
000002bf: DUP2
000002c0: MSTORE
000002c1: PUSH1 0x20
000002c3: PUSH1 0x04
000002c5: DUP3
000002c6: ADD
000002c7: MSTORE
000002c8: PUSH1 0x11
000002ca: PUSH1 0x24
000002cc: DUP3
000002cd: ADD
000002ce: MSTORE
000002cf: PUSH17 0x15da5d1a191c985dd85b0819985a5b1959
000002e1: PUSH1 0x7a
000002e3: SHL
000002e4: PUSH1 0x44
000002e6: DUP3
000002e7: ADD
000002e8: MSTORE
000002e9: PUSH1 0x64
000002eb: ADD
000002ec: PUSH2 0x0089
000002ef: JUMP
000002f0: JUMPDEST
000002f1: PUSH1 0x00
000002f3: SLOAD
000002f4: PUSH1 0x40
000002f6: MLOAD
000002f7: DUP4
000002f8: DUP2
000002f9: MSTORE
000002fa: PUSH1 0x01
000002fc: PUSH1 0x01
000002fe: PUSH1 0xa0
00000300: SHL
00000301: SUB
00000302: SWAP1
00000303: SWAP2
00000304: AND
00000305: SWAP1
00000306: PUSH32 0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65
00000327: SWAP1
00000328: PUSH1 0x20
0000032a: ADD
0000032b: PUSH1 0x40
0000032d: MLOAD
0000032e: DUP1
0000032f: SWAP2
00000330: SUB
00000331: SWAP1
00000332: LOG2
00000333: POP
00000334: POP
00000335: JUMP
00000336: JUMPDEST
00000337: PUSH1 0x00
00000339: PUSH1 0x20
0000033b: DUP3
0000033c: DUP5
0000033d: SUB
0000033e: SLT
0000033f: ISZERO
00000340: PUSH2 0x0348
00000343: JUMPI
00000344: PUSH1 0x00
00000346: DUP1
00000347: REVERT
00000348: JUMPDEST
00000349: POP
0000034a: CALLDATALOAD
0000034b: SWAP2
0000034c: SWAP1
0000034d: POP
0000034e: JUMP
0000034f: INVALID
00000350: LOG2
00000351: PUSH5 0x6970667358
00000357: UNKNOWN(0x22)
00000358: SLT
00000359: KECCAK256
0000035a: SDIV
0000035b: SHR
0000035c: PUSH28 0x3dc88ff57e0b95b9206ed5105ad03c38e279ef63ad7cda5e47e46ffe
00000379: PUSH2 0x6473
0000037c: PUSH16

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x295c3b6b4b222c0dd8368a015e969a2debd654f809f865b81eb359950541c05c
call_targets: 0x48478cef3e65464f59d4e821b5d91ce078f9dcc5
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x295c3b6b4b222c0dd8368a015e969a2debd654f809f865b81eb359950541c05c",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x48478cef3e65464f59d4e821b5d91ce078f9dcc5"
    ],
    "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": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb62b2656",
            "selector": "0xb62b2656",
            "calldata_variants": [
                "0xb62b2656",
                "0xb62b26560000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 630,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 1,
    "guards_detected": [],
    "untrusted_call_count": 1
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x295c3b6b4b222c0dd8368a015e969a2debd654f809f865b81eb359950541c05c
call_targets: 0x48478cef3e65464f59d4e821b5d91ce078f9dcc5
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x295c3b6b4b222c0dd8368a015e969a2debd654f809f865b81eb359950541c05c",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x48478cef3e65464f59d4e821b5d91ce078f9dcc5"
    ],
    "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": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb62b2656",
            "selector": "0xb62b2656",
            "calldata_variants": [
                "0xb62b2656",
                "0xb62b26560000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 630,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 1,
    "guards_detected": []
}