019ba940-89aa-72ca-8d6e-82c6ee5fbd05
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 |
|---|---|---|---|---|
| 36658 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 36659 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 36660 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 36661 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 36662 | capability.graph | complete | 1 / 3 | 3 months ago |
| 36663 | detector.run | complete | 1 / 3 | 3 months ago |
| 36664 | validation.fork | complete | 1 / 3 | 3 months ago |
{
"method": "etherscan+onchain",
"status": "confirmed",
"etherscan_hint": {
"source": "etherscan",
"etherscan": {
"proxy_flag": true,
"implementation": "0x52aafdcf13357605b6efcdbe0b203956904773ce"
}
},
"implementation": "0x52aafdcf13357605b6efcdbe0b203956904773ce",
"onchain_method": "eip1967"
}
No slither job recorded yet.
No codex job recorded yet.
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x0a 00000007: PUSH1 0x12 00000009: JUMP 0000000a: JUMPDEST 0000000b: PUSH1 0x22 0000000d: JUMP 0000000e: JUMPDEST 0000000f: PUSH0 00000010: SWAP1 00000011: JUMP 00000012: JUMPDEST 00000013: PUSH1 0x18 00000015: PUSH1 0x0e 00000017: JUMP 00000018: JUMPDEST 00000019: POP 0000001a: PUSH1 0x1f 0000001c: PUSH1 0xb5 0000001e: JUMP 0000001f: JUMPDEST 00000020: SWAP1 00000021: JUMP 00000022: JUMPDEST 00000023: PUSH0 00000024: DUP1 00000025: SWAP2 00000026: CALLDATASIZE 00000027: DUP3 00000028: DUP1 00000029: CALLDATACOPY 0000002a: DUP2 0000002b: CALLDATASIZE 0000002c: SWAP2 0000002d: GAS 0000002e: DELEGATECALL 0000002f: RETURNDATASIZE 00000030: PUSH0 00000031: DUP1 00000032: RETURNDATACOPY 00000033: PUSH0 00000034: EQ 00000035: PUSH1 0x3b 00000037: JUMPI 00000038: RETURNDATASIZE 00000039: PUSH0 0000003a: RETURN 0000003b: JUMPDEST 0000003c: RETURNDATASIZE 0000003d: PUSH0 0000003e: REVERT 0000003f: JUMPDEST 00000040: SWAP1 00000041: JUMP 00000042: JUMPDEST 00000043: SWAP1 00000044: JUMP 00000045: JUMPDEST 00000046: PUSH0 00000047: SHL 00000048: SWAP1 00000049: JUMP 0000004a: JUMPDEST 0000004b: PUSH1 0x59 0000004d: PUSH1 0x55 0000004f: PUSH1 0x5d 00000051: SWAP3 00000052: PUSH1 0x3f 00000054: JUMP 00000055: JUMPDEST 00000056: PUSH1 0x45 00000058: JUMP 00000059: JUMPDEST 0000005a: PUSH1 0x42 0000005c: JUMP 0000005d: JUMPDEST 0000005e: SWAP1 0000005f: JUMP 00000060: JUMPDEST 00000061: PUSH1 0x87 00000063: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc 00000084: PUSH1 0x4a 00000086: JUMP 00000087: JUMPDEST 00000088: SWAP1 00000089: JUMP 0000008a: JUMPDEST 0000008b: PUSH0 0000008c: SHR 0000008d: SWAP1 0000008e: JUMP 0000008f: JUMPDEST 00000090: PUSH1 0x01 00000092: DUP1 00000093: PUSH1 0xa0 00000095: SHL 00000096: SUB 00000097: AND 00000098: SWAP1 00000099: JUMP 0000009a: JUMPDEST 0000009b: PUSH1 0xa3 0000009d: PUSH1 0xa7 0000009f: SWAP2 000000a0: PUSH1 0x8a 000000a2: JUMP 000000a3: JUMPDEST 000000a4: PUSH1 0x8f 000000a6: JUMP 000000a7: JUMPDEST 000000a8: SWAP1 000000a9: JUMP 000000aa: JUMPDEST 000000ab: PUSH1 0xb2 000000ad: SWAP1 000000ae: SLOAD 000000af: PUSH1 0x9a 000000b1: JUMP 000000b2: JUMPDEST 000000b3: SWAP1 000000b4: JUMP 000000b5: JUMPDEST 000000b6: PUSH1 0xbb 000000b8: PUSH1 0x0e 000000ba: JUMP 000000bb: JUMPDEST 000000bc: POP 000000bd: PUSH1 0xd0 000000bf: PUSH0 000000c0: PUSH1 0xcb 000000c2: PUSH1 0xc7 000000c4: PUSH1 0x60 000000c6: JUMP 000000c7: JUMPDEST 000000c8: PUSH1 0xd3 000000ca: JUMP 000000cb: JUMPDEST 000000cc: ADD 000000cd: PUSH1 0xaa 000000cf: JUMP 000000d0: JUMPDEST 000000d1: SWAP1 000000d2: JUMP 000000d3: JUMPDEST 000000d4: SWAP1 000000d5: JUMP 000000d6: INVALID 000000d7: LOG2 000000d8: PUSH5 0x6970667358 000000de: UNKNOWN(0x22) 000000df: SLT 000000e0: KECCAK256 000000e1: UNKNOWN(0xB6) 000000e2: UNKNOWN(0xCE) 000000e3: UNKNOWN(0xC1) 000000e4: NUMBER 000000e5: UNKNOWN(0xDF) 000000e6: UNKNOWN(0xCB) 000000e7: SWAP1 000000e8: UNKNOWN(0xAB) 000000e9: UNKNOWN(0x24) 000000ea: POP 000000eb: UNKNOWN(0xE6) 000000ec: RETURNDATASIZE 000000ed: DIFFICULTY 000000ee: UNKNOWN(0xC7) 000000ef: PUSH31
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0x008452733ed504301c864bf764c122d690896ae36f854c0d40ff7fbb442d8282
call_targets:
0x52aafdcf13357605b6efcdbe0b203956904773ce
target_varies:
no
classification:
constant_target
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x008452733ed504301c864bf764c122d690896ae36f854c0d40ff7fbb442d8282",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x52aafdcf13357605b6efcdbe0b203956904773ce"
],
"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": 46,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 1,
"untrusted_delegatecall_count": 1
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 1
}
|