019b3844-96cf-72b8-8a54-f3e89b4d3f27
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 |
|---|---|---|---|---|
| 13611 | artifact.fetch | complete | 1 / 3 | 4 months ago |
| 13612 | tool.cast_disasm | complete | 1 / 3 | 4 months ago |
| 56981 | analysis.bundle | complete | 1 / 3 | 2 weeks ago |
| 56982 | capability.graph | complete | 1 / 3 | 2 weeks ago |
| 56983 | detector.run | complete | 1 / 3 | 2 weeks ago |
| 56984 | validation.fork | complete | 1 / 3 | 2 weeks ago |
No slither job recorded yet.
No codex job recorded yet.
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x001e 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x56dfffe0 00000019: EQ 0000001a: PUSH2 0x0020 0000001d: JUMPI 0000001e: JUMPDEST 0000001f: STOP 00000020: JUMPDEST 00000021: CALLVALUE 00000022: DUP1 00000023: ISZERO 00000024: PUSH2 0x002c 00000027: JUMPI 00000028: PUSH1 0x00 0000002a: DUP1 0000002b: REVERT 0000002c: JUMPDEST 0000002d: POP 0000002e: PUSH2 0x001e 00000031: PUSH1 0x04 00000033: DUP1 00000034: CALLDATASIZE 00000035: SUB 00000036: PUSH1 0x60 00000038: DUP2 00000039: LT 0000003a: ISZERO 0000003b: PUSH2 0x0043 0000003e: JUMPI 0000003f: PUSH1 0x00 00000041: DUP1 00000042: REVERT 00000043: JUMPDEST 00000044: POP 00000045: PUSH1 0x01 00000047: PUSH1 0x01 00000049: PUSH1 0xa0 0000004b: SHL 0000004c: SUB 0000004d: DUP2 0000004e: CALLDATALOAD 0000004f: AND 00000050: SWAP1 00000051: PUSH1 0x20 00000053: DUP2 00000054: ADD 00000055: CALLDATALOAD 00000056: SWAP1 00000057: PUSH1 0x40 00000059: ADD 0000005a: CALLDATALOAD 0000005b: PUSH1 0x01 0000005d: SLOAD 0000005e: PUSH1 0x01 00000060: PUSH1 0x01 00000062: PUSH1 0xa0 00000064: SHL 00000065: SUB 00000066: AND 00000067: CALLER 00000068: EQ 00000069: DUP1 0000006a: PUSH2 0x00ff 0000006d: JUMPI 0000006e: POP 0000006f: PUSH1 0x00 00000071: SLOAD 00000072: PUSH1 0x40 00000074: DUP1 00000075: MLOAD 00000076: PUSH32 0x35c80c8c00000000000000000000000000000000000000000000000000000000 00000097: DUP2 00000098: MSTORE 00000099: CALLER 0000009a: PUSH1 0x04 0000009c: DUP3 0000009d: ADD 0000009e: MSTORE 0000009f: SWAP1 000000a0: MLOAD 000000a1: PUSH1 0x01 000000a3: PUSH1 0x01 000000a5: PUSH1 0xa0 000000a7: SHL 000000a8: SUB 000000a9: SWAP1 000000aa: SWAP3 000000ab: AND 000000ac: SWAP2 000000ad: PUSH4 0x35c80c8c 000000b2: SWAP2 000000b3: PUSH1 0x24 000000b5: DUP1 000000b6: DUP3 000000b7: ADD 000000b8: SWAP3 000000b9: PUSH1 0x20 000000bb: SWAP3 000000bc: SWAP1 000000bd: SWAP2 000000be: SWAP1 000000bf: DUP3 000000c0: SWAP1 000000c1: SUB 000000c2: ADD 000000c3: DUP2 000000c4: DUP7 000000c5: DUP1 000000c6: EXTCODESIZE 000000c7: ISZERO 000000c8: DUP1 000000c9: ISZERO 000000ca: PUSH2 0x00d2 000000cd: JUMPI 000000ce: PUSH1 0x00 000000d0: DUP1 000000d1: REVERT 000000d2: JUMPDEST 000000d3: POP 000000d4: GAS 000000d5: STATICCALL 000000d6: ISZERO 000000d7: DUP1 000000d8: ISZERO 000000d9: PUSH2 0x00e6 000000dc: JUMPI 000000dd: RETURNDATASIZE 000000de: PUSH1 0x00 000000e0: DUP1 000000e1: RETURNDATACOPY 000000e2: RETURNDATASIZE 000000e3: PUSH1 0x00 000000e5: REVERT 000000e6: JUMPDEST 000000e7: POP 000000e8: POP 000000e9: POP 000000ea: POP 000000eb: PUSH1 0x40 000000ed: MLOAD 000000ee: RETURNDATASIZE 000000ef: PUSH1 0x20 000000f1: DUP2 000000f2: LT 000000f3: ISZERO 000000f4: PUSH2 0x00fc 000000f7: JUMPI 000000f8: PUSH1 0x00 000000fa: DUP1 000000fb: REVERT 000000fc: JUMPDEST 000000fd: POP 000000fe: MLOAD 000000ff: JUMPDEST 00000100: PUSH2 0x0150 00000103: JUMPI 00000104: PUSH1 0x40 00000106: DUP1 00000107: MLOAD 00000108: PUSH3 0x461bcd 0000010c: PUSH1 0xe5 0000010e: SHL 0000010f: DUP2 00000110: MSTORE 00000111: PUSH1 0x20 00000113: PUSH1 0x04 00000115: DUP3 00000116: ADD 00000117: MSTORE 00000118: PUSH1 0x15 0000011a: PUSH1 0x24 0000011c: DUP3 0000011d: ADD 0000011e: MSTORE 0000011f: PUSH32 0x6e6f7420617574686f72697a65642073656e6465720000000000000000000000 00000140: PUSH1 0x44 00000142: DUP3 00000143: ADD 00000144: MSTORE 00000145: SWAP1 00000146: MLOAD 00000147: SWAP1 00000148: DUP2 00000149: SWAP1 0000014a: SUB 0000014b: PUSH1 0x64 0000014d: ADD 0000014e: SWAP1 0000014f: REVERT 00000150: JUMPDEST 00000151: PUSH1 0x00 00000153: PUSH2 0x015c 00000156: DUP4 00000157: DUP4 00000158: PUSH2 0x0370 0000015b: JUMP 0000015c: JUMPDEST 0000015d: SWAP1 0000015e: POP 0000015f: PUSH1 0x00 00000161: PUSH1 0x01 00000163: PUSH1 0x01 00000165: PUSH1 0xa0 00000167: SHL 00000168: SUB 00000169: DUP6 0000016a: AND 0000016b: PUSH2 0x01b1 0000016e: JUMPI 0000016f: POP 00000170: PUSH1 0x00 00000172: DUP1 00000173: SLOAD 00000174: PUSH1 0x40 00000176: MLOAD 00000177: ADDRESS 00000178: BALANCE 00000179: SWAP3 0000017a: PUSH1 0x01 0000017c: PUSH1 0x01 0000017e: PUSH1 0xa0 00000180: SHL 00000181: SUB 00000182: SWAP1 00000183: SWAP3 00000184: AND 00000185: SWAP2 00000186: PUSH2 0x08fc 00000189: DUP5 0000018a: ISZERO 0000018b: MUL 0000018c: SWAP2 0000018d: DUP5 0000018e: SWAP2 0000018f: DUP2 00000190: DUP2 00000191: DUP2 00000192: DUP6 00000193: DUP9 00000194: DUP9 00000195: CALL 00000196: SWAP4 00000197: POP 00000198: POP 00000199: POP 0000019a: POP 0000019b: ISZERO 0000019c: DUP1 0000019d: ISZERO 0000019e: PUSH2 0x01ab 000001a1: JUMPI 000001a2: RETURNDATASIZE 000001a3: PUSH1 0x00 000001a5: DUP1 000001a6: RETURNDATACOPY 000001a7: RETURNDATASIZE 000001a8: PUSH1 0x00 000001aa: REVERT 000001ab: JUMPDEST 000001ac: POP 000001ad: PUSH2 0x02c8 000001b0: JUMP 000001b1: JUMPDEST 000001b2: PUSH1 0x40 000001b4: DUP1 000001b5: MLOAD 000001b6: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 000001d7: DUP2 000001d8: MSTORE 000001d9: ADDRESS 000001da: PUSH1 0x04 000001dc: DUP3 000001dd: ADD 000001de: MSTORE 000001df: SWAP1 000001e0: MLOAD 000001e1: DUP7 000001e2: SWAP2 000001e3: PUSH1 0x01 000001e5: PUSH1 0x01 000001e7: PUSH1 0xa0 000001e9: SHL 000001ea: SUB 000001eb: DUP4 000001ec: AND 000001ed: SWAP2 000001ee: PUSH4 0x70a08231 000001f3: SWAP2 000001f4: PUSH1 0x24 000001f6: DUP1 000001f7: DUP3 000001f8: ADD 000001f9: SWAP3 000001fa: PUSH1 0x20 000001fc: SWAP3 000001fd: SWAP1 000001fe: SWAP2 000001ff: SWAP1 00000200: DUP3 00000201: SWAP1 00000202: SUB 00000203: ADD 00000204: DUP2 00000205: DUP7 00000206: DUP1 00000207: EXTCODESIZE 00000208: ISZERO 00000209: DUP1 0000020a: ISZERO 0000020b: PUSH2 0x0213 0000020e: JUMPI 0000020f: PUSH1 0x00 00000211: DUP1 00000212: REVERT 00000213: JUMPDEST 00000214: POP 00000215: GAS 00000216: STATICCALL 00000217: ISZERO 00000218: DUP1 00000219: ISZERO 0000021a: PUSH2 0x0227 0000021d: JUMPI 0000021e: RETURNDATASIZE 0000021f: PUSH1 0x00 00000221: DUP1 00000222: RETURNDATACOPY 00000223: RETURNDATASIZE 00000224: PUSH1 0x00 00000226: REVERT 00000227: JUMPDEST 00000228: POP 00000229: POP 0000022a: POP 0000022b: POP 0000022c: PUSH1 0x40 0000022e: MLOAD 0000022f: RETURNDATASIZE 00000230: PUSH1 0x20 00000232: DUP2 00000233: LT 00000234: ISZERO 00000235: PUSH2 0x023d 00000238: JUMPI 00000239: PUSH1 0x00 0000023b: DUP1 0000023c: REVERT 0000023d: JUMPDEST 0000023e: POP 0000023f: MLOAD 00000240: PUSH1 0x00 00000242: DUP1 00000243: SLOAD 00000244: PUSH1 0x40 00000246: DUP1 00000247: MLOAD 00000248: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 00000269: DUP2 0000026a: MSTORE 0000026b: PUSH1 0x01 0000026d: PUSH1 0x01 0000026f: PUSH1 0xa0 00000271: SHL 00000272: SUB 00000273: SWAP3 00000274: DUP4 00000275: AND 00000276: PUSH1 0x04 00000278: DUP3 00000279: ADD 0000027a: MSTORE 0000027b: PUSH1 0x24 0000027d: DUP2 0000027e: ADD 0000027f: DUP6 00000280: SWAP1 00000281: MSTORE 00000282: SWAP1 00000283: MLOAD 00000284: SWAP4 00000285: SWAP6 00000286: POP 00000287: SWAP1 00000288: DUP5 00000289: AND 0000028a: SWAP3 0000028b: PUSH4 0xa9059cbb 00000290: SWAP3 00000291: PUSH1 0x44 00000293: DUP1 00000294: DUP5 00000295: ADD 00000296: SWAP4 00000297: SWAP2 00000298: SWAP3 00000299: SWAP2 0000029a: DUP3 0000029b: SWAP1 0000029c: SUB 0000029d: ADD 0000029e: DUP2 0000029f: DUP4 000002a0: DUP8 000002a1: DUP1 000002a2: EXTCODESIZE 000002a3: ISZERO 000002a4: DUP1 000002a5: ISZERO 000002a6: PUSH2 0x02ae 000002a9: JUMPI 000002aa: PUSH1 0x00 000002ac: DUP1 000002ad: REVERT 000002ae: JUMPDEST 000002af: POP 000002b0: GAS 000002b1: CALL 000002b2: ISZERO 000002b3: DUP1 000002b4: ISZERO 000002b5: PUSH2 0x02c2 000002b8: JUMPI 000002b9: RETURNDATASIZE 000002ba: PUSH1 0x00 000002bc: DUP1 000002bd: RETURNDATACOPY 000002be: RETURNDATASIZE 000002bf: PUSH1 0x00 000002c1: REVERT 000002c2: JUMPDEST 000002c3: POP 000002c4: POP 000002c5: POP 000002c6: POP 000002c7: POP 000002c8: JUMPDEST 000002c9: DUP2 000002ca: DUP2 000002cb: LT 000002cc: ISZERO 000002cd: PUSH2 0x031d 000002d0: JUMPI 000002d1: PUSH1 0x40 000002d3: DUP1 000002d4: MLOAD 000002d5: PUSH3 0x461bcd 000002d9: PUSH1 0xe5 000002db: SHL 000002dc: DUP2 000002dd: MSTORE 000002de: PUSH1 0x20 000002e0: PUSH1 0x04 000002e2: DUP3 000002e3: ADD 000002e4: MSTORE 000002e5: PUSH1 0x1b 000002e7: PUSH1 0x24 000002e9: DUP3 000002ea: ADD 000002eb: MSTORE 000002ec: PUSH32 0x696e73756666696369656e74206465706f73697420616d6f756e740000000000 0000030d: PUSH1 0x44 0000030f: DUP3 00000310: ADD 00000311: MSTORE 00000312: SWAP1 00000313: MLOAD 00000314: SWAP1 00000315: DUP2 00000316: SWAP1 00000317: SUB 00000318: PUSH1 0x64 0000031a: ADD 0000031b: SWAP1 0000031c: REVERT 0000031d: JUMPDEST 0000031e: PUSH1 0x40 00000320: DUP1 00000321: MLOAD 00000322: DUP3 00000323: DUP2 00000324: MSTORE 00000325: PUSH1 0x20 00000327: DUP2 00000328: ADD 00000329: DUP7 0000032a: SWAP1 0000032b: MSTORE 0000032c: DUP1 0000032d: DUP3 0000032e: ADD 0000032f: DUP6 00000330: SWAP1 00000331: MSTORE 00000332: SWAP1 00000333: MLOAD 00000334: PUSH1 0x01 00000336: PUSH1 0x01 00000338: PUSH1 0xa0 0000033a: SHL 0000033b: SUB 0000033c: DUP8 0000033d: AND 0000033e: SWAP2 0000033f: PUSH32 0xb0580fefc505bb8f19a53b6756e55566009fc8da263bc093c3244bd8808bdb3a 00000360: SWAP2 00000361: SWAP1 00000362: DUP2 00000363: SWAP1 00000364: SUB 00000365: PUSH1 0x60 00000367: ADD 00000368: SWAP1 00000369: LOG2 0000036a: POP 0000036b: POP 0000036c: POP 0000036d: POP 0000036e: POP 0000036f: JUMP 00000370: JUMPDEST 00000371: PUSH1 0x00 00000373: DUP3 00000374: DUP3 00000375: ADD 00000376: DUP4 00000377: DUP2 00000378: LT 00000379: ISZERO 0000037a: PUSH2 0x03ca 0000037d: JUMPI 0000037e: PUSH1 0x40 00000380: DUP1 00000381: MLOAD 00000382: PUSH3 0x461bcd 00000386: PUSH1 0xe5 00000388: SHL 00000389: DUP2 0000038a: MSTORE 0000038b: PUSH1 0x20 0000038d: PUSH1 0x04 0000038f: DUP3 00000390: ADD 00000391: MSTORE 00000392: PUSH1 0x11 00000394: PUSH1 0x24 00000396: DUP3 00000397: ADD 00000398: MSTORE 00000399: PUSH32 0x6164646974696f6e206f766572666c6f77000000000000000000000000000000 000003ba: PUSH1 0x44 000003bc: DUP3 000003bd: ADD 000003be: MSTORE 000003bf: SWAP1 000003c0: MLOAD 000003c1: SWAP1 000003c2: DUP2 000003c3: SWAP1 000003c4: SUB 000003c5: PUSH1 0x64 000003c7: ADD 000003c8: SWAP1 000003c9: REVERT 000003ca: JUMPDEST 000003cb: SWAP4 000003cc: SWAP3 000003cd: POP 000003ce: POP 000003cf: POP 000003d0: JUMP 000003d1: INVALID 000003d2: LOG2 000003d3: PUSH6 0x627a7a723158 000003da: KECCAK256 000003db: DUP16 000003dc: DUP5 000003dd: MCOPY 000003de: SHL 000003df: PUSH10 0xae5dedccb136d5e655e3 000003ea: CALLCODE 000003eb: DUP5 000003ec: STOP 000003ed: UNKNOWN(0xD5) 000003ee: UNKNOWN(0xA7) 000003ef: UNKNOWN(0xCD) 000003f0: UNKNOWN(0xE0) 000003f1: UNKNOWN(0xCE) 000003f2: PUSH7 0xf6806cd48e763f 000003fa: UNKNOWN(0xD5) 000003fb: PUSH5 0x736f6c6343 00000401: STOP 00000402: SDIV 00000403: SIGNEXTEND 00000404: STOP 00000405: 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 | 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": "0x56dfffe0",
"selector": "0x56dfffe0",
"calldata_variants": [
"0x56dfffe0",
"0x56dfffe00000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 1029,
"type": "tx_origin_used"
}
]
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0xd38d8996e50ca0f0c8cfc916f694cf132ae5e4c9cfe8fd0b047c4e0ee772a7b9
call_targets:
0x6709e4d4ff5700b28eb767de884981674c81a510
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xd38d8996e50ca0f0c8cfc916f694cf132ae5e4c9cfe8fd0b047c4e0ee772a7b9",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x6709e4d4ff5700b28eb767de884981674c81a510"
],
"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": "0x56dfffe0",
"selector": "0x56dfffe0",
"calldata_variants": [
"0x56dfffe0",
"0x56dfffe00000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 405,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 689,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1002,
"opcode": "CALLCODE",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 3,
"guards_detected": [
{
"pc": 1029,
"type": "tx_origin_used"
}
],
"untrusted_call_count": 3
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0xd38d8996e50ca0f0c8cfc916f694cf132ae5e4c9cfe8fd0b047c4e0ee772a7b9
call_targets:
0x6709e4d4ff5700b28eb767de884981674c81a510
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xd38d8996e50ca0f0c8cfc916f694cf132ae5e4c9cfe8fd0b047c4e0ee772a7b9",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x6709e4d4ff5700b28eb767de884981674c81a510"
],
"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": "0x56dfffe0",
"selector": "0x56dfffe0",
"calldata_variants": [
"0x56dfffe0",
"0x56dfffe00000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 405,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 689,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1002,
"opcode": "CALLCODE",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 3,
"guards_detected": [
{
"pc": 1029,
"type": "tx_origin_used"
}
]
}
|