019b3844-96f4-7343-a075-9aa5fc56d61d
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 |
|---|---|---|---|---|
| 13635 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 13636 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 56957 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 56958 | capability.graph | complete | 1 / 3 | 1 week ago |
| 56959 | detector.run | complete | 1 / 3 | 1 week ago |
| 56960 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
No codex job recorded yet.
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLDATASIZE 00000006: PUSH1 0x46 00000008: JUMPI 00000009: PUSH1 0x40 0000000b: DUP1 0000000c: MLOAD 0000000d: CALLER 0000000e: DUP2 0000000f: MSTORE 00000010: CALLVALUE 00000011: PUSH1 0x20 00000013: DUP3 00000014: ADD 00000015: MSTORE 00000016: DUP2 00000017: MLOAD 00000018: PUSH32 0x88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874 00000039: SWAP3 0000003a: SWAP2 0000003b: DUP2 0000003c: SWAP1 0000003d: SUB 0000003e: SWAP1 0000003f: SWAP2 00000040: ADD 00000041: SWAP1 00000042: LOG1 00000043: PUSH1 0x52 00000045: JUMP 00000046: JUMPDEST 00000047: PUSH1 0x52 00000049: PUSH1 0x4e 0000004b: PUSH1 0x54 0000004d: JUMP 0000004e: JUMPDEST 0000004f: PUSH1 0x79 00000051: JUMP 00000052: JUMPDEST 00000053: STOP 00000054: JUMPDEST 00000055: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc 00000076: SLOAD 00000077: SWAP1 00000078: JUMP 00000079: JUMPDEST 0000007a: CALLDATASIZE 0000007b: PUSH1 0x00 0000007d: DUP1 0000007e: CALLDATACOPY 0000007f: PUSH1 0x00 00000081: DUP1 00000082: CALLDATASIZE 00000083: PUSH1 0x00 00000085: DUP5 00000086: GAS 00000087: DELEGATECALL 00000088: RETURNDATASIZE 00000089: PUSH1 0x00 0000008b: DUP1 0000008c: RETURNDATACOPY 0000008d: DUP1 0000008e: DUP1 0000008f: ISZERO 00000090: PUSH1 0x97 00000092: JUMPI 00000093: RETURNDATASIZE 00000094: PUSH1 0x00 00000096: RETURN 00000097: JUMPDEST 00000098: RETURNDATASIZE 00000099: PUSH1 0x00 0000009b: REVERT 0000009c: JUMPDEST 0000009d: EXTCODESIZE 0000009e: ISZERO 0000009f: ISZERO 000000a0: SWAP1 000000a1: JUMP 000000a2: INVALID 000000a3: LOG2 000000a4: PUSH6 0x627a7a723158 000000ab: KECCAK256 000000ac: PC 000000ad: DELEGATECALL 000000ae: ADDMOD 000000af: GT 000000b0: UNKNOWN(0xB9) 000000b1: SELFBALANCE 000000b2: UNKNOWN(0xB3) 000000b3: ADDMOD 000000b4: PUSH28 0x4bc98e2e55fad06453ab3add16603dca7f42157d4de2e364736f6c63 000000d1: NUMBER 000000d2: STOP 000000d3: SDIV 000000d4: GT 000000d5: STOP 000000d6: ORIGIN
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.
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | upgradeability | detector | Untrusted DELEGATECALL target reachable | 55 | no | no |
viewvalidation_json{
"sink": "DELEGATECALL",
"errors": 10,
"status": "unknown",
"attempts": 11,
"confirmed": false,
"trace_mode": "callTracer",
"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{
"examples": [
{
"pc": 135,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 173,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [
{
"pc": 214,
"type": "tx_origin_used"
}
],
"delegatecall_count": 2,
"untrusted_delegatecall_count": 2
}
|
| 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": 214,
"type": "tx_origin_used"
}
]
}
|