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

Analysis Run

019b3836-419a-70be-a5ba-f1648680d374

complete
Chain ID
1
Address
Block Number
Created
Fri, Dec 19, 2025 8:03 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
ETH value transfer possible
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
5415 artifact.fetch complete 1 / 3 3 months ago
5416 tool.cast_disasm complete 1 / 3 3 months ago
48576 analysis.bundle complete 1 / 3 2 weeks ago
48577 capability.graph complete 1 / 3 2 weeks ago
48578 detector.run complete 1 / 3 2 weeks ago
48579 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
1
Total opcodes
363
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x0061
0000000a: JUMPI
0000000b: PUSH1 0xe0
0000000d: PUSH1 0x02
0000000f: EXP
00000010: PUSH1 0x00
00000012: CALLDATALOAD
00000013: DIV
00000014: PUSH4 0x1998aeef
00000019: DUP2
0000001a: EQ
0000001b: PUSH2 0x0069
0000001e: JUMPI
0000001f: DUP1
00000020: PUSH4 0x2a24f46c
00000025: EQ
00000026: PUSH2 0x007f
00000029: JUMPI
0000002a: DUP1
0000002b: PUSH4 0x38af3eed
00000030: EQ
00000031: PUSH2 0x009d
00000034: JUMPI
00000035: DUP1
00000036: PUSH4 0x4f245ef7
0000003b: EQ
0000003c: PUSH2 0x00af
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0x91f90157
00000046: EQ
00000047: PUSH2 0x00b8
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0xd074a38d
00000051: EQ
00000052: PUSH2 0x00ca
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0xd57bde79
0000005c: EQ
0000005d: PUSH2 0x00d3
00000060: JUMPI
00000061: JUMPDEST
00000062: PUSH2 0x00dc
00000065: PUSH2 0x0002
00000068: JUMP
00000069: JUMPDEST
0000006a: PUSH2 0x00dc
0000006d: PUSH1 0x02
0000006f: SLOAD
00000070: PUSH1 0x01
00000072: SLOAD
00000073: ADD
00000074: TIMESTAMP
00000075: GT
00000076: ISZERO
00000077: PUSH2 0x01a1
0000007a: JUMPI
0000007b: PUSH2 0x0002
0000007e: JUMP
0000007f: JUMPDEST
00000080: PUSH2 0x00dc
00000083: PUSH1 0x00
00000085: SLOAD
00000086: CALLER
00000087: PUSH1 0x01
00000089: PUSH1 0xa0
0000008b: PUSH1 0x02
0000008d: EXP
0000008e: SUB
0000008f: SWAP1
00000090: DUP2
00000091: AND
00000092: SWAP2
00000093: AND
00000094: EQ
00000095: PUSH2 0x0242
00000098: JUMPI
00000099: PUSH2 0x0002
0000009c: JUMP
0000009d: JUMPDEST
0000009e: PUSH2 0x00de
000000a1: PUSH1 0x00
000000a3: SLOAD
000000a4: PUSH1 0x01
000000a6: PUSH1 0xa0
000000a8: PUSH1 0x02
000000aa: EXP
000000ab: SUB
000000ac: AND
000000ad: DUP2
000000ae: JUMP
000000af: JUMPDEST
000000b0: PUSH2 0x00f1
000000b3: PUSH1 0x01
000000b5: SLOAD
000000b6: DUP2
000000b7: JUMP
000000b8: JUMPDEST
000000b9: PUSH2 0x00de
000000bc: PUSH1 0x03
000000be: SLOAD
000000bf: PUSH1 0x01
000000c1: PUSH1 0xa0
000000c3: PUSH1 0x02
000000c5: EXP
000000c6: SUB
000000c7: AND
000000c8: DUP2
000000c9: JUMP
000000ca: JUMPDEST
000000cb: PUSH2 0x00f1
000000ce: PUSH1 0x02
000000d0: SLOAD
000000d1: DUP2
000000d2: JUMP
000000d3: JUMPDEST
000000d4: PUSH2 0x00f1
000000d7: PUSH1 0x04
000000d9: SLOAD
000000da: DUP2
000000db: JUMP
000000dc: JUMPDEST
000000dd: STOP
000000de: JUMPDEST
000000df: PUSH1 0x01
000000e1: PUSH1 0xa0
000000e3: PUSH1 0x02
000000e5: EXP
000000e6: SUB
000000e7: AND
000000e8: PUSH1 0x60
000000ea: SWAP1
000000eb: DUP2
000000ec: MSTORE
000000ed: PUSH1 0x20
000000ef: SWAP1
000000f0: RETURN
000000f1: JUMPDEST
000000f2: PUSH1 0x60
000000f4: SWAP1
000000f5: DUP2
000000f6: MSTORE
000000f7: PUSH1 0x20
000000f9: SWAP1
000000fa: RETURN
000000fb: JUMPDEST
000000fc: PUSH1 0x03
000000fe: SLOAD
000000ff: PUSH1 0x01
00000101: PUSH1 0xa0
00000103: PUSH1 0x02
00000105: EXP
00000106: SUB
00000107: AND
00000108: PUSH1 0x00
0000010a: EQ
0000010b: PUSH2 0x0131
0000010e: JUMPI
0000010f: PUSH1 0x04
00000111: SLOAD
00000112: PUSH1 0x03
00000114: SLOAD
00000115: PUSH1 0x01
00000117: PUSH1 0xa0
00000119: PUSH1 0x02
0000011b: EXP
0000011c: SUB
0000011d: AND
0000011e: SWAP1
0000011f: PUSH1 0x00
00000121: SWAP1
00000122: PUSH1 0x60
00000124: DUP3
00000125: DUP2
00000126: DUP2
00000127: DUP2
00000128: DUP6
00000129: DUP9
0000012a: DUP4
0000012b: CALL
0000012c: POP
0000012d: POP
0000012e: POP
0000012f: POP
00000130: POP
00000131: JUMPDEST
00000132: PUSH1 0x03
00000134: DUP1
00000135: SLOAD
00000136: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000014b: NOT
0000014c: AND
0000014d: CALLER
0000014e: SWAP1
0000014f: DUP2
00000150: OR
00000151: SWAP1
00000152: SWAP2
00000153: SSTORE
00000154: CALLVALUE
00000155: PUSH1 0x04
00000157: DUP2
00000158: SWAP1
00000159: SSTORE
0000015a: PUSH1 0x40
0000015c: DUP1
0000015d: MLOAD
0000015e: PUSH1 0x01
00000160: PUSH1 0xa0
00000162: PUSH1 0x02
00000164: EXP
00000165: SUB
00000166: SWAP4
00000167: SWAP1
00000168: SWAP4
00000169: AND
0000016a: DUP4
0000016b: MSTORE
0000016c: PUSH1 0x20
0000016e: DUP4
0000016f: ADD
00000170: SWAP2
00000171: SWAP1
00000172: SWAP2
00000173: MSTORE
00000174: DUP1
00000175: MLOAD
00000176: PUSH32 0xf4757a49b326036464bec6fe419a4ae38c8a02ce3e68bf0809674f6aab8ad300
00000197: SWAP3
00000198: DUP2
00000199: SWAP1
0000019a: SUB
0000019b: SWAP1
0000019c: SWAP2
0000019d: ADD
0000019e: SWAP1
0000019f: LOG1
000001a0: JUMP
000001a1: JUMPDEST
000001a2: PUSH1 0x04
000001a4: SLOAD
000001a5: CALLVALUE
000001a6: GT
000001a7: PUSH2 0x00fb
000001aa: JUMPI
000001ab: PUSH2 0x0002
000001ae: JUMP
000001af: JUMPDEST
000001b0: PUSH1 0x04
000001b2: SLOAD
000001b3: PUSH1 0x03
000001b5: SLOAD
000001b6: PUSH1 0x01
000001b8: PUSH1 0xa0
000001ba: PUSH1 0x02
000001bc: EXP
000001bd: SUB
000001be: AND
000001bf: PUSH1 0x60
000001c1: SWAP1
000001c2: DUP2
000001c3: MSTORE
000001c4: PUSH1 0x80
000001c6: SWAP2
000001c7: SWAP1
000001c8: SWAP2
000001c9: MSTORE
000001ca: PUSH32 0xdaec4582d5d9595688c8c98545fdd1c696d41c6aeaeb636737e84ed2f5c00eda
000001eb: SWAP1
000001ec: PUSH1 0x40
000001ee: SWAP1
000001ef: LOG1
000001f0: PUSH1 0x00
000001f2: PUSH1 0x00
000001f4: SWAP1
000001f5: SLOAD
000001f6: SWAP1
000001f7: PUSH2 0x0100
000001fa: EXP
000001fb: SWAP1
000001fc: DIV
000001fd: PUSH1 0x01
000001ff: PUSH1 0xa0
00000201: PUSH1 0x02
00000203: EXP
00000204: SUB
00000205: AND
00000206: PUSH1 0x01
00000208: PUSH1 0xa0
0000020a: PUSH1 0x02
0000020c: EXP
0000020d: SUB
0000020e: AND
0000020f: PUSH1 0x00
00000211: ADDRESS
00000212: PUSH1 0x01
00000214: PUSH1 0xa0
00000216: PUSH1 0x02
00000218: EXP
00000219: SUB
0000021a: AND
0000021b: BALANCE
0000021c: PUSH1 0x40
0000021e: MLOAD
0000021f: DUP1
00000220: SWAP1
00000221: POP
00000222: PUSH1 0x00
00000224: PUSH1 0x40
00000226: MLOAD
00000227: DUP1
00000228: DUP4
00000229: SUB
0000022a: DUP2
0000022b: DUP6
0000022c: DUP9
0000022d: DUP9
0000022e: CALL
0000022f: POP
00000230: POP
00000231: PUSH1 0x05
00000233: DUP1
00000234: SLOAD
00000235: PUSH1 0xff
00000237: NOT
00000238: AND
00000239: PUSH1 0x01
0000023b: OR
0000023c: SWAP1
0000023d: SSTORE
0000023e: POP
0000023f: POP
00000240: POP
00000241: JUMP
00000242: JUMPDEST
00000243: PUSH1 0x02
00000245: SLOAD
00000246: PUSH1 0x01
00000248: SLOAD
00000249: ADD
0000024a: TIMESTAMP
0000024b: GT
0000024c: PUSH2 0x0254
0000024f: JUMPI
00000250: PUSH2 0x0002
00000253: JUMP
00000254: JUMPDEST
00000255: PUSH1 0x05
00000257: SLOAD
00000258: PUSH1 0xff
0000025a: AND
0000025b: ISZERO
0000025c: PUSH2 0x01af
0000025f: JUMPI
00000260: PUSH2 0x0002
00000263: JUMP
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 ETH value transfer possible 55 no no
view
trace_id: 0x16e9deb9114e9ccb53f8819eba6edea0fffc81228d28fcb8965be210d0d0e00b
call_targets: 0x899bd9f8ab0ef0b83b74c664ffa63969761d27c1
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x16e9deb9114e9ccb53f8819eba6edea0fffc81228d28fcb8965be210d0d0e00b",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x899bd9f8ab0ef0b83b74c664ffa63969761d27c1"
    ],
    "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": "0x1998aeef",
            "selector": "0x1998aeef",
            "calldata_variants": [
                "0x1998aeef",
                "0x1998aeef0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2a24f46c",
            "selector": "0x2a24f46c",
            "calldata_variants": [
                "0x2a24f46c",
                "0x2a24f46c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x38af3eed",
            "selector": "0x38af3eed",
            "calldata_variants": [
                "0x38af3eed",
                "0x38af3eed0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4f245ef7",
            "selector": "0x4f245ef7",
            "calldata_variants": [
                "0x4f245ef7",
                "0x4f245ef70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x91f90157",
            "selector": "0x91f90157",
            "calldata_variants": [
                "0x91f90157",
                "0x91f901570000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd074a38d",
            "selector": "0xd074a38d",
            "calldata_variants": [
                "0xd074a38d",
                "0xd074a38d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd57bde79",
            "selector": "0xd57bde79",
            "calldata_variants": [
                "0xd57bde79",
                "0xd57bde790000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 299,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 558,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "constant",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": []
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x16e9deb9114e9ccb53f8819eba6edea0fffc81228d28fcb8965be210d0d0e00b
call_targets: 0x899bd9f8ab0ef0b83b74c664ffa63969761d27c1
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x16e9deb9114e9ccb53f8819eba6edea0fffc81228d28fcb8965be210d0d0e00b",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x899bd9f8ab0ef0b83b74c664ffa63969761d27c1"
    ],
    "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": "0x1998aeef",
            "selector": "0x1998aeef",
            "calldata_variants": [
                "0x1998aeef",
                "0x1998aeef0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2a24f46c",
            "selector": "0x2a24f46c",
            "calldata_variants": [
                "0x2a24f46c",
                "0x2a24f46c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x38af3eed",
            "selector": "0x38af3eed",
            "calldata_variants": [
                "0x38af3eed",
                "0x38af3eed0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4f245ef7",
            "selector": "0x4f245ef7",
            "calldata_variants": [
                "0x4f245ef7",
                "0x4f245ef70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x91f90157",
            "selector": "0x91f90157",
            "calldata_variants": [
                "0x91f90157",
                "0x91f901570000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd074a38d",
            "selector": "0xd074a38d",
            "calldata_variants": [
                "0xd074a38d",
                "0xd074a38d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd57bde79",
            "selector": "0xd57bde79",
            "calldata_variants": [
                "0xd57bde79",
                "0xd57bde790000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 299,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 558,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "constant",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 2,
    "guards_detected": [],
    "untrusted_call_count": 2
}