019ba906-8cfb-70f8-93d5-ea5156d19edf
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 |
|---|---|---|---|---|
| 33931 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 33932 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 33933 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 33934 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 33935 | capability.graph | complete | 1 / 3 | 3 months ago |
| 33936 | detector.run | complete | 1 / 3 | 3 months ago |
| 33937 | validation.fork | complete | 1 / 3 | 3 months ago |
{
"method": "etherscan+onchain",
"status": "confirmed",
"etherscan_hint": {
"source": "etherscan",
"etherscan": {
"proxy_flag": true,
"implementation": "0xaaf173e6b65aa4473c830edb402d26b7a33c5e94"
}
},
"implementation": "0xaaf173e6b65aa4473c830edb402d26b7a33c5e94",
"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: UNKNOWN(0xF9) 00000087: BLOCKHASH 00000088: CALLCODE 00000089: DUP8 0000008a: LT 0000008b: UNKNOWN(0xC3) 0000008c: SWAP14 0000008d: UNKNOWN(0x22) 0000008e: CREATE 0000008f: PUSH24 0xb0b9eb5545be2c119e3af925b0e2bf403b603e71c9296473 000000a8: PUSH16
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0x514e229a887442c8dd909ba56f687f702b657d15a39b694837bcaafff5b0c169
call_targets:
0xaaf173e6b65aa4473c830edb402d26b7a33c5e94
target_varies:
no
classification:
constant_target
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x514e229a887442c8dd909ba56f687f702b657d15a39b694837bcaafff5b0c169",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xaaf173e6b65aa4473c830edb402d26b7a33c5e94"
],
"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": [],
"delegatecall_count": 1,
"untrusted_delegatecall_count": 1
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x514e229a887442c8dd909ba56f687f702b657d15a39b694837bcaafff5b0c169
call_targets:
0x883860178f95d0c82413edc1d6de530cb4771d55
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x514e229a887442c8dd909ba56f687f702b657d15a39b694837bcaafff5b0c169",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x883860178f95d0c82413edc1d6de530cb4771d55"
],
"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": 136,
"opcode": "CALLCODE",
"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 |
viewtrace_id: 0x514e229a887442c8dd909ba56f687f702b657d15a39b694837bcaafff5b0c169
call_targets:
0x883860178f95d0c82413edc1d6de530cb4771d55
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x514e229a887442c8dd909ba56f687f702b657d15a39b694837bcaafff5b0c169",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x883860178f95d0c82413edc1d6de530cb4771d55"
],
"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": 136,
"opcode": "CALLCODE",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 1,
"guards_detected": []
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0xb7480564721d3f355956acc12d656a3e56b35c12ef3de4a052b6911314d6f0c4
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 1,
"trace_id": "0xb7480564721d3f355956acc12d656a3e56b35c12ef3de4a052b6911314d6f0c4",
"confirmed": false,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "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{
"create_count": 1,
"create2_count": 0
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 1
}
|
| low | other | cast | Contract creation opcode present | 60 | no | — |
viewevidence_json{
"notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
"create_count": 1,
"create2_count": 0
}
|
| 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": 86,
"delegatecall_count": 1
}
|