019b3836-3283-7274-9c0a-bf7581ae558e
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 |
|---|---|---|---|---|
| 2965 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 2966 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 45788 | analysis.bundle | complete | 1 / 3 | 2 weeks ago |
| 45789 | capability.graph | complete | 1 / 3 | 2 weeks ago |
| 45790 | detector.run | complete | 1 / 3 | 2 weeks ago |
| 45791 | validation.fork | complete | 1 / 3 | 2 weeks ago |
No slither job recorded yet.
No codex job recorded yet.
00000000: PUSH1 0x60 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0xe0 00000007: PUSH1 0x02 00000009: EXP 0000000a: PUSH1 0x00 0000000c: CALLDATALOAD 0000000d: DIV 0000000e: PUSH4 0x0fb4b7cd 00000013: DUP2 00000014: EQ 00000015: PUSH2 0x0047 00000018: JUMPI 00000019: DUP1 0000001a: PUSH4 0x3296e625 0000001f: EQ 00000020: PUSH2 0x005a 00000023: JUMPI 00000024: DUP1 00000025: PUSH4 0x346bb3d9 0000002a: EQ 0000002b: PUSH2 0x006b 0000002e: JUMPI 0000002f: DUP1 00000030: PUSH4 0x88f0702b 00000035: EQ 00000036: PUSH2 0x007b 00000039: JUMPI 0000003a: DUP1 0000003b: PUSH4 0xb682b754 00000040: EQ 00000041: PUSH2 0x00a7 00000044: JUMPI 00000045: JUMPDEST 00000046: STOP 00000047: JUMPDEST 00000048: PUSH2 0x0095 0000004b: PUSH1 0x04 0000004d: CALLDATALOAD 0000004e: JUMPDEST 0000004f: PUSH1 0x03 00000051: SLOAD 00000052: DUP2 00000053: SWAP1 00000054: DIV 00000055: JUMPDEST 00000056: SWAP2 00000057: SWAP1 00000058: POP 00000059: JUMP 0000005a: JUMPDEST 0000005b: PUSH2 0x0095 0000005e: PUSH1 0x04 00000060: CALLDATALOAD 00000061: PUSH1 0x00 00000063: PUSH2 0x0178 00000066: DUP3 00000067: PUSH2 0x004e 0000006a: JUMP 0000006b: JUMPDEST 0000006c: PUSH2 0x0095 0000006f: PUSH1 0x04 00000071: CALLDATALOAD 00000072: JUMPDEST 00000073: PUSH1 0x03 00000075: SLOAD 00000076: SWAP1 00000077: BLOCKHASH 00000078: MOD 00000079: SWAP1 0000007a: JUMP 0000007b: JUMPDEST 0000007c: PUSH1 0x01 0000007e: PUSH1 0xa0 00000080: PUSH1 0x02 00000082: EXP 00000083: SUB 00000084: CALLER 00000085: AND 00000086: PUSH1 0x00 00000088: SWAP1 00000089: DUP2 0000008a: MSTORE 0000008b: PUSH1 0x01 0000008d: PUSH1 0x20 0000008f: MSTORE 00000090: PUSH1 0x40 00000092: SWAP1 00000093: KECCAK256 00000094: SLOAD 00000095: JUMPDEST 00000096: PUSH1 0x40 00000098: DUP1 00000099: MLOAD 0000009a: SWAP2 0000009b: DUP3 0000009c: MSTORE 0000009d: MLOAD 0000009e: SWAP1 0000009f: DUP2 000000a0: SWAP1 000000a1: SUB 000000a2: PUSH1 0x20 000000a4: ADD 000000a5: SWAP1 000000a6: RETURN 000000a7: JUMPDEST 000000a8: PUSH2 0x0095 000000ab: PUSH1 0x04 000000ad: CALLDATALOAD 000000ae: PUSH1 0x02 000000b0: SLOAD 000000b1: PUSH1 0x00 000000b3: SWAP1 000000b4: DUP2 000000b5: SWAP1 000000b6: DUP2 000000b7: SWAP1 000000b8: CALLVALUE 000000b9: LT 000000ba: PUSH2 0x00c6 000000bd: JUMPI 000000be: PUSH2 0x00f9 000000c1: NUMBER 000000c2: PUSH2 0x0072 000000c5: JUMP 000000c6: JUMPDEST 000000c7: PUSH1 0x00 000000c9: CALLVALUE 000000ca: GT 000000cb: ISZERO 000000cc: PUSH2 0x00f0 000000cf: JUMPI 000000d0: PUSH1 0x40 000000d2: MLOAD 000000d3: PUSH1 0x01 000000d5: PUSH1 0xa0 000000d7: PUSH1 0x02 000000d9: EXP 000000da: SUB 000000db: CALLER 000000dc: AND 000000dd: SWAP1 000000de: PUSH1 0x00 000000e0: SWAP1 000000e1: CALLVALUE 000000e2: SWAP1 000000e3: DUP3 000000e4: DUP2 000000e5: DUP2 000000e6: DUP2 000000e7: DUP6 000000e8: DUP9 000000e9: DUP4 000000ea: CALL 000000eb: POP 000000ec: POP 000000ed: POP 000000ee: POP 000000ef: POP 000000f0: JUMPDEST 000000f1: PUSH1 0x00 000000f3: SWAP3 000000f4: POP 000000f5: PUSH2 0x012e 000000f8: JUMP 000000f9: JUMPDEST 000000fa: SWAP2 000000fb: POP 000000fc: DUP4 000000fd: DUP3 000000fe: LT 000000ff: ISZERO 00000100: PUSH2 0x010c 00000103: JUMPI 00000104: PUSH2 0x0135 00000107: DUP5 00000108: PUSH2 0x004e 0000010b: JUMP 0000010c: JUMPDEST 0000010d: PUSH1 0x01 0000010f: PUSH1 0xa0 00000111: PUSH1 0x02 00000113: EXP 00000114: SUB 00000115: CALLER 00000116: AND 00000117: PUSH1 0x00 00000119: SWAP1 0000011a: DUP2 0000011b: MSTORE 0000011c: PUSH1 0x01 0000011e: PUSH1 0x20 00000120: MSTORE 00000121: PUSH1 0x40 00000123: DUP2 00000124: KECCAK256 00000125: DUP1 00000126: SLOAD 00000127: CALLVALUE 00000128: SWAP1 00000129: SUB 0000012a: SWAP1 0000012b: SSTORE 0000012c: SWAP3 0000012d: POP 0000012e: JUMPDEST 0000012f: POP 00000130: POP 00000131: SWAP2 00000132: SWAP1 00000133: POP 00000134: JUMP 00000135: JUMPDEST 00000136: CALLVALUE 00000137: MUL 00000138: SWAP1 00000139: POP 0000013a: CALLER 0000013b: PUSH1 0x01 0000013d: PUSH1 0xa0 0000013f: PUSH1 0x02 00000141: EXP 00000142: SUB 00000143: AND 00000144: PUSH1 0x00 00000146: DUP3 00000147: PUSH1 0x40 00000149: MLOAD 0000014a: DUP1 0000014b: SWAP1 0000014c: POP 0000014d: PUSH1 0x00 0000014f: PUSH1 0x40 00000151: MLOAD 00000152: DUP1 00000153: DUP4 00000154: SUB 00000155: DUP2 00000156: DUP6 00000157: DUP9 00000158: DUP9 00000159: CALL 0000015a: POP 0000015b: POP 0000015c: POP 0000015d: SWAP1 0000015e: DUP2 0000015f: MSTORE 00000160: PUSH1 0x01 00000162: PUSH1 0x20 00000164: DUP2 00000165: SWAP1 00000166: MSTORE 00000167: PUSH1 0x40 00000169: SWAP1 0000016a: SWAP2 0000016b: KECCAK256 0000016c: DUP1 0000016d: SLOAD 0000016e: DUP4 0000016f: ADD 00000170: SWAP1 00000171: SSTORE 00000172: SWAP3 00000173: POP 00000174: PUSH2 0x012e 00000177: JUMP 00000178: JUMPDEST 00000179: PUSH1 0x64 0000017b: DIV 0000017c: SWAP1 0000017d: POP 0000017e: PUSH2 0x0055 00000181: JUMP
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 | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xdfd3768709cc9c4d6915aba281ce4737020327947906b1b5b33de3ac6f7541ad
call_targets:
0xea1b4943f31777807cdcd55b68d2ba070e4a2d34
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xdfd3768709cc9c4d6915aba281ce4737020327947906b1b5b33de3ac6f7541ad",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xea1b4943f31777807cdcd55b68d2ba070e4a2d34"
],
"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": "0x0fb4b7cd",
"selector": "0x0fb4b7cd",
"calldata_variants": [
"0x0fb4b7cd",
"0x0fb4b7cd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3296e625",
"selector": "0x3296e625",
"calldata_variants": [
"0x3296e625",
"0x3296e6250000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x346bb3d9",
"selector": "0x346bb3d9",
"calldata_variants": [
"0x346bb3d9",
"0x346bb3d90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x88f0702b",
"selector": "0x88f0702b",
"calldata_variants": [
"0x88f0702b",
"0x88f0702b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb682b754",
"selector": "0xb682b754",
"calldata_variants": [
"0xb682b754",
"0xb682b7540000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 234,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 345,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 2,
"guards_detected": [],
"untrusted_call_count": 2
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xdfd3768709cc9c4d6915aba281ce4737020327947906b1b5b33de3ac6f7541ad
call_targets:
0xea1b4943f31777807cdcd55b68d2ba070e4a2d34
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xdfd3768709cc9c4d6915aba281ce4737020327947906b1b5b33de3ac6f7541ad",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xea1b4943f31777807cdcd55b68d2ba070e4a2d34"
],
"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": "0x0fb4b7cd",
"selector": "0x0fb4b7cd",
"calldata_variants": [
"0x0fb4b7cd",
"0x0fb4b7cd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3296e625",
"selector": "0x3296e625",
"calldata_variants": [
"0x3296e625",
"0x3296e6250000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x346bb3d9",
"selector": "0x346bb3d9",
"calldata_variants": [
"0x346bb3d9",
"0x346bb3d90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x88f0702b",
"selector": "0x88f0702b",
"calldata_variants": [
"0x88f0702b",
"0x88f0702b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb682b754",
"selector": "0xb682b754",
"calldata_variants": [
"0xb682b754",
"0xb682b7540000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 234,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 345,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": []
}
|