019b3836-4046-7034-aa55-a2a600df5aa3
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 |
|---|---|---|---|---|
| 5191 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 5192 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 48732 | analysis.bundle | complete | 1 / 3 | 2 weeks ago |
| 48733 | capability.graph | complete | 1 / 3 | 2 weeks ago |
| 48734 | detector.run | complete | 1 / 3 | 2 weeks ago |
| 48735 | 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 0x41c0e1b5 00000013: DUP2 00000014: EQ 00000015: PUSH2 0x003c 00000018: JUMPI 00000019: DUP1 0000001a: PUSH4 0x6b9f96ea 0000001f: EQ 00000020: PUSH2 0x0066 00000023: JUMPI 00000024: DUP1 00000025: PUSH4 0xb0c8f9dc 0000002a: EQ 0000002b: PUSH2 0x00a7 0000002e: JUMPI 0000002f: DUP1 00000030: PUSH4 0xcc459696 00000035: EQ 00000036: PUSH2 0x01c8 00000039: JUMPI 0000003a: JUMPDEST 0000003b: STOP 0000003c: JUMPDEST 0000003d: PUSH2 0x003a 00000040: PUSH1 0x00 00000042: SLOAD 00000043: PUSH1 0x01 00000045: PUSH1 0xa0 00000047: PUSH1 0x02 00000049: EXP 0000004a: SUB 0000004b: SWAP1 0000004c: DUP2 0000004d: AND 0000004e: CALLER 0000004f: SWAP2 00000050: SWAP1 00000051: SWAP2 00000052: AND 00000053: EQ 00000054: ISZERO 00000055: PUSH2 0x01e7 00000058: JUMPI 00000059: PUSH1 0x00 0000005b: SLOAD 0000005c: PUSH1 0x01 0000005e: PUSH1 0xa0 00000060: PUSH1 0x02 00000062: EXP 00000063: SUB 00000064: AND 00000065: SELFDESTRUCT 00000066: JUMPDEST 00000067: PUSH2 0x003a 0000006a: PUSH1 0x00 0000006c: SLOAD 0000006d: PUSH1 0x01 0000006f: PUSH1 0xa0 00000071: PUSH1 0x02 00000073: EXP 00000074: SUB 00000075: SWAP1 00000076: DUP2 00000077: AND 00000078: CALLER 00000079: SWAP2 0000007a: SWAP1 0000007b: SWAP2 0000007c: AND 0000007d: EQ 0000007e: ISZERO 0000007f: PUSH2 0x01e7 00000082: JUMPI 00000083: PUSH1 0x00 00000085: DUP1 00000086: SLOAD 00000087: PUSH1 0x01 00000089: PUSH1 0xa0 0000008b: PUSH1 0x02 0000008d: EXP 0000008e: SUB 0000008f: SWAP1 00000090: DUP2 00000091: AND 00000092: SWAP2 00000093: SWAP1 00000094: ADDRESS 00000095: AND 00000096: BALANCE 00000097: PUSH1 0x60 00000099: DUP3 0000009a: DUP2 0000009b: DUP2 0000009c: DUP2 0000009d: DUP6 0000009e: DUP9 0000009f: DUP4 000000a0: CALL 000000a1: POP 000000a2: POP 000000a3: POP 000000a4: POP 000000a5: POP 000000a6: JUMP 000000a7: JUMPDEST 000000a8: PUSH1 0x80 000000aa: PUSH1 0x20 000000ac: PUSH1 0x04 000000ae: DUP1 000000af: CALLDATALOAD 000000b0: DUP1 000000b1: DUP3 000000b2: ADD 000000b3: CALLDATALOAD 000000b4: PUSH1 0x1f 000000b6: DUP2 000000b7: ADD 000000b8: DUP5 000000b9: SWAP1 000000ba: DIV 000000bb: SWAP1 000000bc: SWAP4 000000bd: MUL 000000be: DUP5 000000bf: ADD 000000c0: PUSH1 0x40 000000c2: MSTORE 000000c3: PUSH1 0x60 000000c5: DUP4 000000c6: DUP2 000000c7: MSTORE 000000c8: PUSH2 0x003a 000000cb: SWAP5 000000cc: SWAP3 000000cd: SWAP4 000000ce: PUSH1 0x24 000000d0: SWAP4 000000d1: SWAP2 000000d2: SWAP3 000000d3: DUP5 000000d4: ADD 000000d5: SWAP2 000000d6: DUP2 000000d7: SWAP1 000000d8: DUP4 000000d9: DUP3 000000da: DUP1 000000db: DUP3 000000dc: DUP5 000000dd: CALLDATACOPY 000000de: POP 000000df: POP 000000e0: PUSH1 0x00 000000e2: DUP1 000000e3: SLOAD 000000e4: PUSH22 0xffff0000000000000000000000000000000000000000 000000fb: NOT 000000fc: DUP2 000000fd: AND 000000fe: PUSH1 0xa0 00000100: PUSH1 0x02 00000102: EXP 00000103: SWAP2 00000104: DUP3 00000105: SWAP1 00000106: DIV 00000107: PUSH2 0xffff 0000010a: AND 0000010b: PUSH1 0x01 0000010d: ADD 0000010e: SWAP1 0000010f: SWAP2 00000110: MUL 00000111: OR 00000112: DUP2 00000113: SSTORE 00000114: PUSH1 0x40 00000116: DUP1 00000117: MLOAD 00000118: CALLER 00000119: PUSH1 0x01 0000011b: PUSH1 0xa0 0000011d: PUSH1 0x02 0000011f: EXP 00000120: SUB 00000121: DUP2 00000122: AND 00000123: PUSH1 0x20 00000125: DUP4 00000126: DUP2 00000127: ADD 00000128: SWAP2 00000129: SWAP1 0000012a: SWAP2 0000012b: MSTORE 0000012c: CALLVALUE 0000012d: SWAP4 0000012e: DUP4 0000012f: ADD 00000130: DUP5 00000131: SWAP1 00000132: MSTORE 00000133: DUP10 00000134: DUP4 00000135: MSTORE 00000136: DUP10 00000137: MLOAD 00000138: DUP4 00000139: DUP12 0000013a: ADD 0000013b: MSTORE 0000013c: DUP10 0000013d: MLOAD 0000013e: SWAP10 0000013f: SWAP12 00000140: PUSH32 0xf9614ac59e1bb20607cf8902f16381d07dec53a2c632f19f5ddcb7aa170a98cc 00000161: SWAP12 00000162: POP 00000163: DUP13 00000164: SWAP11 00000165: SWAP3 00000166: SWAP10 00000167: POP 00000168: SWAP4 00000169: SWAP8 0000016a: POP 0000016b: SWAP2 0000016c: SWAP6 0000016d: POP 0000016e: DUP6 0000016f: SWAP5 00000170: DUP6 00000171: DUP2 00000172: ADD 00000173: SWAP5 00000174: SWAP1 00000175: SWAP4 00000176: SWAP2 00000177: SWAP3 00000178: DUP4 00000179: SWAP3 0000017a: DUP7 0000017b: SWAP3 0000017c: DUP5 0000017d: SWAP3 0000017e: DUP8 0000017f: SWAP3 00000180: SWAP1 00000181: PUSH1 0x1f 00000183: DUP6 00000184: ADD 00000185: DIV 00000186: PUSH1 0x0f 00000188: MUL 00000189: PUSH1 0x03 0000018b: ADD 0000018c: CALL 0000018d: POP 0000018e: SWAP1 0000018f: POP 00000190: SWAP1 00000191: DUP2 00000192: ADD 00000193: SWAP1 00000194: PUSH1 0x1f 00000196: AND 00000197: DUP1 00000198: ISZERO 00000199: PUSH2 0x01b6 0000019c: JUMPI 0000019d: DUP1 0000019e: DUP3 0000019f: SUB 000001a0: DUP1 000001a1: MLOAD 000001a2: PUSH1 0x01 000001a4: DUP4 000001a5: PUSH1 0x20 000001a7: SUB 000001a8: PUSH2 0x0100 000001ab: EXP 000001ac: SUB 000001ad: NOT 000001ae: AND 000001af: DUP2 000001b0: MSTORE 000001b1: PUSH1 0x20 000001b3: ADD 000001b4: SWAP2 000001b5: POP 000001b6: JUMPDEST 000001b7: POP 000001b8: SWAP5 000001b9: POP 000001ba: POP 000001bb: POP 000001bc: POP 000001bd: POP 000001be: PUSH1 0x40 000001c0: MLOAD 000001c1: DUP1 000001c2: SWAP2 000001c3: SUB 000001c4: SWAP1 000001c5: LOG1 000001c6: POP 000001c7: JUMP 000001c8: JUMPDEST 000001c9: PUSH2 0x01dd 000001cc: PUSH1 0x00 000001ce: SLOAD 000001cf: PUSH2 0xffff 000001d2: PUSH1 0xa0 000001d4: PUSH1 0x02 000001d6: EXP 000001d7: SWAP1 000001d8: SWAP2 000001d9: DIV 000001da: AND 000001db: DUP2 000001dc: JUMP 000001dd: JUMPDEST 000001de: PUSH1 0x60 000001e0: SWAP1 000001e1: DUP2 000001e2: MSTORE 000001e3: PUSH1 0x20 000001e5: SWAP1 000001e6: RETURN 000001e7: JUMPDEST 000001e8: 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: 0x34aac6154ab2bc2451fb7a3d3d6563676d6d9f34c8cd3806fc899b7b157adddf
call_targets:
0x1c94f41ab9cd8faa8af45ae7827bf5a8f891f4cd
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x34aac6154ab2bc2451fb7a3d3d6563676d6d9f34c8cd3806fc899b7b157adddf",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x1c94f41ab9cd8faa8af45ae7827bf5a8f891f4cd"
],
"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": "0x41c0e1b5",
"selector": "0x41c0e1b5",
"calldata_variants": [
"0x41c0e1b5",
"0x41c0e1b50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6b9f96ea",
"selector": "0x6b9f96ea",
"calldata_variants": [
"0x6b9f96ea",
"0x6b9f96ea0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb0c8f9dc",
"selector": "0xb0c8f9dc",
"calldata_variants": [
"0xb0c8f9dc",
"0xb0c8f9dc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcc459696",
"selector": "0xcc459696",
"calldata_variants": [
"0xcc459696",
"0xcc4596960000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 160,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 396,
"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: 0x34aac6154ab2bc2451fb7a3d3d6563676d6d9f34c8cd3806fc899b7b157adddf
call_targets:
0x1c94f41ab9cd8faa8af45ae7827bf5a8f891f4cd
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x34aac6154ab2bc2451fb7a3d3d6563676d6d9f34c8cd3806fc899b7b157adddf",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x1c94f41ab9cd8faa8af45ae7827bf5a8f891f4cd"
],
"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": "0x41c0e1b5",
"selector": "0x41c0e1b5",
"calldata_variants": [
"0x41c0e1b5",
"0x41c0e1b50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6b9f96ea",
"selector": "0x6b9f96ea",
"calldata_variants": [
"0x6b9f96ea",
"0x6b9f96ea0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb0c8f9dc",
"selector": "0xb0c8f9dc",
"calldata_variants": [
"0xb0c8f9dc",
"0xb0c8f9dc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcc459696",
"selector": "0xcc459696",
"calldata_variants": [
"0xcc459696",
"0xcc4596960000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 160,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 396,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": []
}
|
| high | other | detector | SELFDESTRUCT reachable | 65 | no | no |
viewtrace_id: 0x39d6d12ab0ad2aa7c68704807cf8b9a315e9e32fe6ae75a212fe96cc89a90939
validation_json{
"sink": "SELFDESTRUCT",
"errors": 0,
"status": "unknown",
"attempts": 8,
"trace_id": "0x39d6d12ab0ad2aa7c68704807cf8b9a315e9e32fe6ae75a212fe96cc89a90939",
"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": "0x41c0e1b5",
"selector": "0x41c0e1b5",
"calldata_variants": [
"0x41c0e1b5",
"0x41c0e1b50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6b9f96ea",
"selector": "0x6b9f96ea",
"calldata_variants": [
"0x6b9f96ea",
"0x6b9f96ea0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb0c8f9dc",
"selector": "0xb0c8f9dc",
"calldata_variants": [
"0xb0c8f9dc",
"0xb0c8f9dc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcc459696",
"selector": "0xcc459696",
"calldata_variants": [
"0xcc459696",
"0xcc4596960000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [],
"selfdestruct_count": 1
}
|