019ba8b4-4ea8-70fd-8dc1-f59ceab497d8
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 32552 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 32553 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 32554 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 32555 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 32556 | capability.graph | complete | 1 / 3 | 3 months ago |
| 32557 | detector.run | complete | 1 / 3 | 3 months ago |
| 32558 | validation.fork | complete | 1 / 3 | 3 months ago |
{
"method": "etherscan+onchain",
"status": "confirmed",
"etherscan_hint": {
"source": "etherscan",
"etherscan": {
"proxy_flag": true,
"implementation": "0xbdae358dc3b0389a5532d011a8b4098ffda11836"
}
},
"implementation": "0xbdae358dc3b0389a5532d011a8b4098ffda11836",
"onchain_method": "eip1967"
}
No slither job recorded yet.
No codex job recorded yet.
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLDATASIZE 00000006: PUSH1 0x10 00000008: JUMPI 00000009: PUSH1 0x0e 0000000b: PUSH1 0x13 0000000d: JUMP 0000000e: JUMPDEST 0000000f: STOP 00000010: JUMPDEST 00000011: PUSH1 0x0e 00000013: JUMPDEST 00000014: PUSH1 0x1f 00000016: PUSH1 0x1b 00000018: PUSH1 0x21 0000001a: JUMP 0000001b: JUMPDEST 0000001c: PUSH1 0x58 0000001e: JUMP 0000001f: JUMPDEST 00000020: JUMP 00000021: JUMPDEST 00000022: PUSH1 0x00 00000024: PUSH1 0x53 00000026: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc 00000047: SLOAD 00000048: PUSH1 0x01 0000004a: PUSH1 0x01 0000004c: PUSH1 0xa0 0000004e: SHL 0000004f: SUB 00000050: AND 00000051: SWAP1 00000052: JUMP 00000053: JUMPDEST 00000054: SWAP1 00000055: POP 00000056: SWAP1 00000057: JUMP 00000058: JUMPDEST 00000059: CALLDATASIZE 0000005a: PUSH1 0x00 0000005c: DUP1 0000005d: CALLDATACOPY 0000005e: PUSH1 0x00 00000060: DUP1 00000061: CALLDATASIZE 00000062: PUSH1 0x00 00000064: DUP5 00000065: GAS 00000066: DELEGATECALL 00000067: RETURNDATASIZE 00000068: PUSH1 0x00 0000006a: DUP1 0000006b: RETURNDATACOPY 0000006c: DUP1 0000006d: DUP1 0000006e: ISZERO 0000006f: PUSH1 0x76 00000071: JUMPI 00000072: RETURNDATASIZE 00000073: PUSH1 0x00 00000075: RETURN 00000076: JUMPDEST 00000077: RETURNDATASIZE 00000078: PUSH1 0x00 0000007a: REVERT 0000007b: INVALID 0000007c: LOG2 0000007d: PUSH5 0x6970667358 00000083: UNKNOWN(0x22) 00000084: SLT 00000085: KECCAK256 00000086: DUP10 00000087: PUSH4 0x100a3a2c 0000008c: UNKNOWN(0xF7) 0000008d: POP 0000008e: UNKNOWN(0xC1) 0000008f: UNKNOWN(0x21) 00000090: SMOD 00000091: UNKNOWN(0xB4) 00000092: UNKNOWN(0xD3) 00000093: UNKNOWN(0x0F) 00000094: SWAP7 00000095: DIV 00000096: EQ 00000097: ORIGIN 00000098: RETURNDATASIZE 00000099: PC 0000009a: UNKNOWN(0xDD) 0000009b: UNKNOWN(0x2C) 0000009c: UNKNOWN(0xD8) 0000009d: BLOCKHASH 0000009e: UNKNOWN(0xC8) 0000009f: UNKNOWN(0xA7) 000000a0: ADDMOD 000000a1: UNKNOWN(0x2E) 000000a2: LOG3 000000a3: UNKNOWN(0xB2) 000000a4: UNKNOWN(0xE9) 000000a5: DUP1 000000a6: PUSH5 0x736f6c6343 000000ac: STOP 000000ad: ADDMOD 000000ae: SGT 000000af: STOP 000000b0: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | upgradeability | detector | Untrusted DELEGATECALL target reachable | 55 | no | no |
viewtrace_id: 0xdfa174ab36935874450a754d0f0c1132ef5784794068bf964a5ada2c2529adb4
call_targets:
0xbdae358dc3b0389a5532d011a8b4098ffda11836
target_varies:
no
classification:
constant_target
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xdfa174ab36935874450a754d0f0c1132ef5784794068bf964a5ada2c2529adb4",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xbdae358dc3b0389a5532d011a8b4098ffda11836"
],
"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": "0x",
"selector": "fallback",
"calldata_variants": [
"0x"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 102,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [
{
"pc": 151,
"type": "tx_origin_used"
}
],
"delegatecall_count": 1,
"untrusted_delegatecall_count": 1
}
|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x",
"selector": "fallback",
"calldata_variants": [
"0x"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 151,
"type": "tx_origin_used"
}
]
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 1
}
|
| info | upgradeability | cast | Likely proxy-like runtime | 60 | no | — |
viewevidence_json{
"notes": "short runtime with SLOAD and DELEGATECALL resembles minimal proxy/upgradeable pattern",
"sload_count": 1,
"total_opcodes": 109,
"delegatecall_count": 1
}
|