019b3844-8ed3-71e5-abc7-a65c92f3e7b0
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 |
|---|---|---|---|---|
| 12339 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 12340 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 111670 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 111671 | capability.graph | complete | 1 / 3 | 1 week ago |
| 111672 | detector.run | complete | 1 / 3 | 1 week ago |
| 111673 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
No codex job recorded yet.
00000000: PUSH1 0x60 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x0056 0000000c: JUMPI 0000000d: PUSH4 0xffffffff 00000012: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00000030: PUSH1 0x00 00000032: CALLDATALOAD 00000033: DIV 00000034: AND 00000035: PUSH4 0x3018205f 0000003a: DUP2 0000003b: EQ 0000003c: PUSH2 0x0140 0000003f: JUMPI 00000040: DUP1 00000041: PUSH4 0x92eefe9b 00000046: EQ 00000047: PUSH2 0x017c 0000004a: JUMPI 0000004b: DUP1 0000004c: PUSH4 0xbef72fa2 00000051: EQ 00000052: PUSH2 0x01bc 00000055: JUMPI 00000056: JUMPDEST 00000057: PUSH1 0x01 00000059: SLOAD 0000005a: PUSH1 0x00 0000005c: SWAP1 0000005d: ISZERO 0000005e: ISZERO 0000005f: PUSH2 0x0067 00000062: JUMPI 00000063: PUSH2 0x013d 00000066: JUMP 00000067: JUMPDEST 00000068: PUSH1 0x00 0000006a: DUP1 0000006b: SLOAD 0000006c: PUSH1 0x01 0000006e: SLOAD 0000006f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000084: SWAP1 00000085: SWAP2 00000086: AND 00000087: SWAP2 00000088: PUSH4 0xf39ec1f7 0000008d: SWAP2 0000008e: SWAP1 0000008f: PUSH1 0x40 00000091: MLOAD 00000092: PUSH1 0x20 00000094: ADD 00000095: MSTORE 00000096: PUSH1 0x40 00000098: MLOAD 00000099: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 000000b7: PUSH4 0xffffffff 000000bc: DUP5 000000bd: AND 000000be: MUL 000000bf: DUP2 000000c0: MSTORE 000000c1: PUSH1 0x04 000000c3: DUP2 000000c4: ADD 000000c5: SWAP2 000000c6: SWAP1 000000c7: SWAP2 000000c8: MSTORE 000000c9: PUSH1 0x24 000000cb: ADD 000000cc: PUSH1 0x20 000000ce: PUSH1 0x40 000000d0: MLOAD 000000d1: DUP1 000000d2: DUP4 000000d3: SUB 000000d4: DUP2 000000d5: PUSH1 0x00 000000d7: DUP8 000000d8: DUP1 000000d9: EXTCODESIZE 000000da: ISZERO 000000db: ISZERO 000000dc: PUSH2 0x00e4 000000df: JUMPI 000000e0: PUSH1 0x00 000000e2: DUP1 000000e3: REVERT 000000e4: JUMPDEST 000000e5: PUSH2 0x02c6 000000e8: GAS 000000e9: SUB 000000ea: CALL 000000eb: ISZERO 000000ec: ISZERO 000000ed: PUSH2 0x00f5 000000f0: JUMPI 000000f1: PUSH1 0x00 000000f3: DUP1 000000f4: REVERT 000000f5: JUMPDEST 000000f6: POP 000000f7: POP 000000f8: POP 000000f9: PUSH1 0x40 000000fb: MLOAD 000000fc: DUP1 000000fd: MLOAD 000000fe: SWAP1 000000ff: POP 00000100: SWAP1 00000101: POP 00000102: PUSH1 0x40 00000104: MLOAD 00000105: PUSH1 0x1f 00000107: NOT 00000108: PUSH1 0x1f 0000010a: CALLDATASIZE 0000010b: ADD 0000010c: AND 0000010d: DUP1 0000010e: DUP3 0000010f: ADD 00000110: PUSH1 0x40 00000112: MSTORE 00000113: CALLDATASIZE 00000114: PUSH1 0x00 00000116: DUP4 00000117: CALLDATACOPY 00000118: PUSH1 0x00 0000011a: DUP1 0000011b: CALLDATASIZE 0000011c: DUP5 0000011d: DUP7 0000011e: GAS 0000011f: DELEGATECALL 00000120: DUP1 00000121: DUP1 00000122: ISZERO 00000123: PUSH2 0x0138 00000126: JUMPI 00000127: PUSH1 0x40 00000129: MLOAD 0000012a: RETURNDATASIZE 0000012b: DUP2 0000012c: ADD 0000012d: PUSH1 0x40 0000012f: MSTORE 00000130: RETURNDATASIZE 00000131: PUSH1 0x00 00000133: DUP3 00000134: RETURNDATACOPY 00000135: RETURNDATASIZE 00000136: DUP2 00000137: RETURN 00000138: JUMPDEST 00000139: PUSH1 0x00 0000013b: DUP1 0000013c: REVERT 0000013d: JUMPDEST 0000013e: POP 0000013f: STOP 00000140: JUMPDEST 00000141: CALLVALUE 00000142: ISZERO 00000143: PUSH2 0x014b 00000146: JUMPI 00000147: PUSH1 0x00 00000149: DUP1 0000014a: REVERT 0000014b: JUMPDEST 0000014c: PUSH2 0x0153 0000014f: PUSH2 0x01e1 00000152: JUMP 00000153: JUMPDEST 00000154: PUSH1 0x40 00000156: MLOAD 00000157: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000016c: SWAP1 0000016d: SWAP2 0000016e: AND 0000016f: DUP2 00000170: MSTORE 00000171: PUSH1 0x20 00000173: ADD 00000174: PUSH1 0x40 00000176: MLOAD 00000177: DUP1 00000178: SWAP2 00000179: SUB 0000017a: SWAP1 0000017b: RETURN 0000017c: JUMPDEST 0000017d: CALLVALUE 0000017e: ISZERO 0000017f: PUSH2 0x0187 00000182: JUMPI 00000183: PUSH1 0x00 00000185: DUP1 00000186: REVERT 00000187: JUMPDEST 00000188: PUSH2 0x01a8 0000018b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001a0: PUSH1 0x04 000001a2: CALLDATALOAD 000001a3: AND 000001a4: PUSH2 0x01fd 000001a7: JUMP 000001a8: JUMPDEST 000001a9: PUSH1 0x40 000001ab: MLOAD 000001ac: SWAP1 000001ad: ISZERO 000001ae: ISZERO 000001af: DUP2 000001b0: MSTORE 000001b1: PUSH1 0x20 000001b3: ADD 000001b4: PUSH1 0x40 000001b6: MLOAD 000001b7: DUP1 000001b8: SWAP2 000001b9: SUB 000001ba: SWAP1 000001bb: RETURN 000001bc: JUMPDEST 000001bd: CALLVALUE 000001be: ISZERO 000001bf: PUSH2 0x01c7 000001c2: JUMPI 000001c3: PUSH1 0x00 000001c5: DUP1 000001c6: REVERT 000001c7: JUMPDEST 000001c8: PUSH2 0x01cf 000001cb: PUSH2 0x0265 000001ce: JUMP 000001cf: JUMPDEST 000001d0: PUSH1 0x40 000001d2: MLOAD 000001d3: SWAP1 000001d4: DUP2 000001d5: MSTORE 000001d6: PUSH1 0x20 000001d8: ADD 000001d9: PUSH1 0x40 000001db: MLOAD 000001dc: DUP1 000001dd: SWAP2 000001de: SUB 000001df: SWAP1 000001e0: RETURN 000001e1: JUMPDEST 000001e2: PUSH1 0x00 000001e4: SLOAD 000001e5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001fa: AND 000001fb: SWAP1 000001fc: JUMP 000001fd: JUMPDEST 000001fe: PUSH1 0x00 00000200: DUP1 00000201: SLOAD 00000202: CALLER 00000203: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000218: SWAP1 00000219: DUP2 0000021a: AND 0000021b: SWAP2 0000021c: AND 0000021d: EQ 0000021e: PUSH2 0x0226 00000221: JUMPI 00000222: PUSH1 0x00 00000224: DUP1 00000225: REVERT 00000226: JUMPDEST 00000227: POP 00000228: PUSH1 0x00 0000022a: DUP1 0000022b: SLOAD 0000022c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000241: DUP4 00000242: AND 00000243: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000258: NOT 00000259: SWAP1 0000025a: SWAP2 0000025b: AND 0000025c: OR 0000025d: SWAP1 0000025e: SSTORE 0000025f: PUSH1 0x01 00000261: SWAP2 00000262: SWAP1 00000263: POP 00000264: JUMP 00000265: JUMPDEST 00000266: PUSH1 0x01 00000268: SLOAD 00000269: DUP2 0000026a: JUMP 0000026b: STOP 0000026c: LOG1 0000026d: PUSH6 0x627a7a723058 00000274: KECCAK256 00000275: DUP5 00000276: PUSH26 0x6531768a1d75b70a76b8cd7c7db53c078e5abbed437bd74b1419 00000291: BALANCE 00000292: PUSH15
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 |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0xf7bc6c6531562c685570de0b58ba0d32fd686eca3810a837c967a459497ec937
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 36,
"trace_id": "0xf7bc6c6531562c685570de0b58ba0d32fd686eca3810a837c967a459497ec937",
"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": "0x3018205f",
"selector": "0x3018205f",
"calldata_variants": [
"0x3018205f",
"0x3018205f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x92eefe9b",
"selector": "0x92eefe9b",
"calldata_variants": [
"0x92eefe9b",
"0x92eefe9b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbef72fa2",
"selector": "0xbef72fa2",
"calldata_variants": [
"0xbef72fa2",
"0xbef72fa20000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 287,
"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 | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x6b0806a33af6188432063e57f4094db7161d99f94695a9fdc6c48132d745878e
call_targets:
0xd5524179cb7ae012f5b642c1d6d700bbaa76b96b
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x6b0806a33af6188432063e57f4094db7161d99f94695a9fdc6c48132d745878e",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xd5524179cb7ae012f5b642c1d6d700bbaa76b96b"
],
"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": "0x3018205f",
"selector": "0x3018205f",
"calldata_variants": [
"0x3018205f",
"0x3018205f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x92eefe9b",
"selector": "0x92eefe9b",
"calldata_variants": [
"0x92eefe9b",
"0x92eefe9b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbef72fa2",
"selector": "0xbef72fa2",
"calldata_variants": [
"0xbef72fa2",
"0xbef72fa20000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 234,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 1,
"guards_detected": []
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x6b0806a33af6188432063e57f4094db7161d99f94695a9fdc6c48132d745878e
call_targets:
0xd5524179cb7ae012f5b642c1d6d700bbaa76b96b
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x6b0806a33af6188432063e57f4094db7161d99f94695a9fdc6c48132d745878e",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xd5524179cb7ae012f5b642c1d6d700bbaa76b96b"
],
"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": "0x3018205f",
"selector": "0x3018205f",
"calldata_variants": [
"0x3018205f",
"0x3018205f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x92eefe9b",
"selector": "0x92eefe9b",
"calldata_variants": [
"0x92eefe9b",
"0x92eefe9b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbef72fa2",
"selector": "0xbef72fa2",
"calldata_variants": [
"0xbef72fa2",
"0xbef72fa20000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 234,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 1,
"guards_detected": [],
"untrusted_call_count": 1
}
|