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

Analysis Run

019b3836-4b63-72e8-a158-362db8e3753c

complete
Chain ID
1
Address
Block Number
Created
Fri, Dec 19, 2025 8:04 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
6893 artifact.fetch complete 1 / 3 4 months ago
6894 tool.cast_disasm complete 1 / 3 4 months ago
81703 analysis.bundle complete 1 / 3 2 weeks ago
81704 capability.graph complete 1 / 3 2 weeks ago
81705 detector.run complete 1 / 3 2 weeks ago
81706 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
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
2
EXT*/BALANCE
0
Total opcodes
310
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x0056
0000000a: JUMPI
0000000b: PUSH1 0xe0
0000000d: PUSH1 0x02
0000000f: EXP
00000010: PUSH1 0x00
00000012: CALLDATALOAD
00000013: DIV
00000014: PUSH4 0x60536172
00000019: DUP2
0000001a: EQ
0000001b: PUSH2 0x00bf
0000001e: JUMPI
0000001f: DUP1
00000020: PUSH4 0x8d060519
00000025: EQ
00000026: PUSH2 0x00f0
00000029: JUMPI
0000002a: DUP1
0000002b: PUSH4 0xa86ff960
00000030: EQ
00000031: PUSH2 0x0114
00000034: JUMPI
00000035: DUP1
00000036: PUSH4 0xe3a0a148
0000003b: EQ
0000003c: PUSH2 0x0155
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0xf1068454
00000046: EQ
00000047: PUSH2 0x018a
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0xf2a75fe4
00000051: EQ
00000052: PUSH2 0x0193
00000055: JUMPI
00000056: JUMPDEST
00000057: PUSH2 0x01cd
0000005a: CALLER
0000005b: PUSH1 0x00
0000005d: PUSH1 0x02
0000005f: SLOAD
00000060: PUSH32 0xcadbb5af00000000000000000000000000000000000000000000000000000000
00000081: PUSH1 0x60
00000083: SWAP1
00000084: DUP2
00000085: MSTORE
00000086: PUSH1 0x64
00000088: SWAP2
00000089: SWAP1
0000008a: SWAP2
0000008b: MSTORE
0000008c: PUSH1 0x01
0000008e: SWAP2
0000008f: PUSH1 0x01
00000091: PUSH1 0xa0
00000093: PUSH1 0x02
00000095: EXP
00000096: SUB
00000097: DUP5
00000098: AND
00000099: SWAP2
0000009a: PUSH4 0xcadbb5af
0000009f: SWAP2
000000a0: PUSH1 0x84
000000a2: SWAP2
000000a3: PUSH1 0x20
000000a5: SWAP2
000000a6: PUSH1 0x24
000000a8: SWAP1
000000a9: DUP3
000000aa: SWAP1
000000ab: DUP8
000000ac: PUSH2 0x61da
000000af: GAS
000000b0: SUB
000000b1: CALL
000000b2: ISZERO
000000b3: PUSH2 0x0002
000000b6: JUMPI
000000b7: POP
000000b8: PUSH2 0x01cf
000000bb: SWAP2
000000bc: POP
000000bd: POP
000000be: JUMP
000000bf: JUMPDEST
000000c0: PUSH2 0x01cd
000000c3: PUSH1 0x01
000000c5: SLOAD
000000c6: PUSH1 0x01
000000c8: PUSH1 0xa0
000000ca: PUSH1 0x02
000000cc: EXP
000000cd: SUB
000000ce: SWAP1
000000cf: DUP2
000000d0: AND
000000d1: CALLER
000000d2: SWAP2
000000d3: SWAP1
000000d4: SWAP2
000000d5: AND
000000d6: EQ
000000d7: ISZERO
000000d8: PUSH2 0x00ee
000000db: JUMPI
000000dc: PUSH1 0x00
000000de: DUP1
000000df: SLOAD
000000e0: PUSH1 0x01
000000e2: PUSH1 0xa0
000000e4: PUSH1 0x02
000000e6: EXP
000000e7: SUB
000000e8: NOT
000000e9: AND
000000ea: CALLER
000000eb: OR
000000ec: SWAP1
000000ed: SSTORE
000000ee: JUMPDEST
000000ef: JUMP
000000f0: JUMPDEST
000000f1: PUSH2 0x01cd
000000f4: PUSH1 0x04
000000f6: CALLDATALOAD
000000f7: PUSH1 0x00
000000f9: SLOAD
000000fa: PUSH1 0x01
000000fc: PUSH1 0xa0
000000fe: PUSH1 0x02
00000100: EXP
00000101: SUB
00000102: SWAP1
00000103: DUP2
00000104: AND
00000105: CALLER
00000106: SWAP2
00000107: SWAP1
00000108: SWAP2
00000109: AND
0000010a: EQ
0000010b: ISZERO
0000010c: PUSH2 0x0187
0000010f: JUMPI
00000110: PUSH1 0x02
00000112: SSTORE
00000113: JUMP
00000114: JUMPDEST
00000115: PUSH2 0x01cd
00000118: PUSH1 0x01
0000011a: SLOAD
0000011b: PUSH1 0x01
0000011d: PUSH1 0xa0
0000011f: PUSH1 0x02
00000121: EXP
00000122: SUB
00000123: SWAP1
00000124: DUP2
00000125: AND
00000126: CALLER
00000127: SWAP2
00000128: SWAP1
00000129: SWAP2
0000012a: AND
0000012b: EQ
0000012c: ISZERO
0000012d: PUSH2 0x00ee
00000130: JUMPI
00000131: PUSH1 0x00
00000133: SLOAD
00000134: PUSH1 0x01
00000136: DUP1
00000137: SLOAD
00000138: PUSH1 0x01
0000013a: PUSH1 0xa0
0000013c: PUSH1 0x02
0000013e: EXP
0000013f: SUB
00000140: NOT
00000141: AND
00000142: PUSH1 0x01
00000144: PUSH1 0xa0
00000146: PUSH1 0x02
00000148: EXP
00000149: SUB
0000014a: SWAP3
0000014b: SWAP1
0000014c: SWAP3
0000014d: AND
0000014e: SWAP2
0000014f: SWAP1
00000150: SWAP2
00000151: OR
00000152: SWAP1
00000153: SSTORE
00000154: JUMP
00000155: JUMPDEST
00000156: PUSH2 0x01cd
00000159: PUSH1 0x04
0000015b: CALLDATALOAD
0000015c: PUSH1 0x00
0000015e: SLOAD
0000015f: PUSH1 0x01
00000161: PUSH1 0xa0
00000163: PUSH1 0x02
00000165: EXP
00000166: SUB
00000167: SWAP1
00000168: DUP2
00000169: AND
0000016a: CALLER
0000016b: SWAP2
0000016c: SWAP1
0000016d: SWAP2
0000016e: AND
0000016f: EQ
00000170: ISZERO
00000171: PUSH2 0x0187
00000174: JUMPI
00000175: PUSH1 0x01
00000177: DUP1
00000178: SLOAD
00000179: PUSH1 0x01
0000017b: PUSH1 0xa0
0000017d: PUSH1 0x02
0000017f: EXP
00000180: SUB
00000181: NOT
00000182: AND
00000183: DUP3
00000184: OR
00000185: SWAP1
00000186: SSTORE
00000187: JUMPDEST
00000188: POP
00000189: JUMP
0000018a: JUMPDEST
0000018b: PUSH2 0x01d3
0000018e: PUSH1 0x02
00000190: SLOAD
00000191: DUP2
00000192: JUMP
00000193: JUMPDEST
00000194: PUSH2 0x01cd
00000197: PUSH1 0x00
00000199: SLOAD
0000019a: PUSH1 0x01
0000019c: PUSH1 0xa0
0000019e: PUSH1 0x02
000001a0: EXP
000001a1: SUB
000001a2: SWAP1
000001a3: DUP2
000001a4: AND
000001a5: CALLER
000001a6: SWAP2
000001a7: SWAP1
000001a8: SWAP2
000001a9: AND
000001aa: EQ
000001ab: ISZERO
000001ac: PUSH2 0x00ee
000001af: JUMPI
000001b0: PUSH1 0x01
000001b2: PUSH1 0xa0
000001b4: PUSH1 0x02
000001b6: EXP
000001b7: SUB
000001b8: CALLER
000001b9: AND
000001ba: PUSH1 0x00
000001bc: CALLVALUE
000001bd: PUSH1 0x60
000001bf: DUP3
000001c0: DUP2
000001c1: DUP2
000001c2: DUP2
000001c3: DUP6
000001c4: DUP9
000001c5: DUP4
000001c6: CALL
000001c7: POP
000001c8: POP
000001c9: POP
000001ca: POP
000001cb: POP
000001cc: JUMP
000001cd: JUMPDEST
000001ce: STOP
000001cf: JUMPDEST
000001d0: POP
000001d1: POP
000001d2: JUMP
000001d3: JUMPDEST
000001d4: PUSH1 0x60
000001d6: SWAP1
000001d7: DUP2
000001d8: MSTORE
000001d9: PUSH1 0x20
000001db: SWAP1
000001dc: RETURN
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 other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x60d6c43773eef258f9b7d835e42127f11f511f0e941740a39448c3800fb3b7e7
call_targets: 0xfe1a3bd33269a87c9952ff9f2d019c2f8bda9f83
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x60d6c43773eef258f9b7d835e42127f11f511f0e941740a39448c3800fb3b7e7",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xfe1a3bd33269a87c9952ff9f2d019c2f8bda9f83"
    ],
    "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": "0x60536172",
            "selector": "0x60536172",
            "calldata_variants": [
                "0x60536172",
                "0x605361720000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8d060519",
            "selector": "0x8d060519",
            "calldata_variants": [
                "0x8d060519",
                "0x8d0605190000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa86ff960",
            "selector": "0xa86ff960",
            "calldata_variants": [
                "0xa86ff960",
                "0xa86ff9600000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe3a0a148",
            "selector": "0xe3a0a148",
            "calldata_variants": [
                "0xe3a0a148",
                "0xe3a0a1480000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf1068454",
            "selector": "0xf1068454",
            "calldata_variants": [
                "0xf1068454",
                "0xf10684540000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2a75fe4",
            "selector": "0xf2a75fe4",
            "calldata_variants": [
                "0xf2a75fe4",
                "0xf2a75fe40000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 177,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "constant"
        },
        {
            "pc": 454,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 2,
    "guards_detected": [],
    "untrusted_call_count": 2
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x60d6c43773eef258f9b7d835e42127f11f511f0e941740a39448c3800fb3b7e7
call_targets: 0xfe1a3bd33269a87c9952ff9f2d019c2f8bda9f83
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x60d6c43773eef258f9b7d835e42127f11f511f0e941740a39448c3800fb3b7e7",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xfe1a3bd33269a87c9952ff9f2d019c2f8bda9f83"
    ],
    "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": "0x60536172",
            "selector": "0x60536172",
            "calldata_variants": [
                "0x60536172",
                "0x605361720000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8d060519",
            "selector": "0x8d060519",
            "calldata_variants": [
                "0x8d060519",
                "0x8d0605190000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa86ff960",
            "selector": "0xa86ff960",
            "calldata_variants": [
                "0xa86ff960",
                "0xa86ff9600000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe3a0a148",
            "selector": "0xe3a0a148",
            "calldata_variants": [
                "0xe3a0a148",
                "0xe3a0a1480000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf1068454",
            "selector": "0xf1068454",
            "calldata_variants": [
                "0xf1068454",
                "0xf10684540000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2a75fe4",
            "selector": "0xf2a75fe4",
            "calldata_variants": [
                "0xf2a75fe4",
                "0xf2a75fe40000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 177,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "constant"
        },
        {
            "pc": 454,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": []
}