6bebe1d9-282f-4e82-8628-d3de8bb9b5a0
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 |
|---|---|---|---|---|
| 31481 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 77512 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 77513 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 77514 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 77515 | capability.graph | complete | 1 / 3 | 1 week ago |
| 77516 | detector.run | complete | 1 / 3 | 1 week ago |
| 77517 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:1482207] OpenAI Codex v0.77.0 (research preview)
[codex:1482207] --------
[codex:1482207] workdir: /tmp/codex-multi-ximg_5ue
[codex:1482207] model: gpt-5.2-codex
[codex:1482207] provider: openai
[codex:1482207] approval: never
[codex:1482207] sandbox: read-only
[codex:1482207] reasoning effort: xhigh
[codex:1482207] reasoning summaries: auto
[codex:1482207] session id: 019b8631-c522-72a0-80a3-4e148ffef275
[codex:1482207] --------
[codex:1482207] user
[codex:1482207] You are a profit-focused exploit hunter analyzing EVM bytecode. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1482207]
[codex:1482207] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:1482207]
[codex:1482207] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1482207] - Gas inefficiency, code quality, or best practices
[codex:1482207] - Theoretical vulnerabilities without a clear extraction path
[codex:1482207] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:1482207] - Issues requiring social engineering or off-chain coordination
[codex:1482207]
[codex:1482207] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:1482207] - CALL/DELEGATECALL with controllable destination or calldata
[codex:1482207] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:1482207] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:1482207] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:1482207] - External calls before state updates (reentrancy)
[codex:1482207] - SELFDESTRUCT with controllable beneficiary
[codex:1482207] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:1482207]
[codex:1482207] For each finding, you MUST explain:
[codex:1482207] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:1482207] 2. The concrete sequence of transactions to extract value
[codex:1482207] 3. Why you believe this is exploitable (not just suspicious)
[codex:1482207]
[codex:1482207] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:1482207] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:1482207]
[codex:1482207] Output MUST be valid JSON matching the provided schema.
[codex:1482207] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1482207] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1482207] mcp startup: no servers
[codex:1482207]
[codex:1482207] thinking
[codex:1482207] **Opening file for reading**
[codex:1482207] exec
[codex:1482207] /bin/bash -lc ls in /tmp/codex-multi-ximg_5ue succeeded in 5ms:
[codex:1482207] BYTECODE_BUNDLE.txt
[codex:1482207] codex-output-schema.json
[codex:1482207] exec
[codex:1482207] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-ximg_5ue succeeded in 5ms:
[codex:1482207] Runtime bytecode bundle for best-effort auditing.
[codex:1482207] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:1482207]
[codex:1482207] FILE: runtime_bytecode.hex
[codex:1482207] 0x608060405260043610610058575f3560e01c8063251c1aa314610063578063602bc62b1461008d5780636e947298146100b757806389476069146100e15780638da5cb5b14610109578063e086e5ec146101335761005f565b3661005f57005b5f5ffd5b34801561006e575f5ffd5b50610077610149565b604051610084919061053f565b60405180910390f35b348015610098575f5ffd5b506100a161016d565b6040516100ae919061053f565b60405180910390f35b3480156100c2575f5ffd5b506100cb610194565b6040516100d8919061053f565b60405180910390f35b3480156100ec575f5ffd5b50610107600480360381019061010291906105b6565b61019b565b005b348015610114575f5ffd5b5061011d6103ac565b60405161012a91906105f0565b60405180910390f35b34801561013e575f5ffd5b506101476103d0565b005b7f0000000000000000000000000000000000000000000000000000000069440fe781565b5f7f0000000000000000000000000000000000000000000000000000000069440fe7905090565b5f47905090565b7f000000000000000000000000b7fc8401e12a2dc2431085eb3318e289e9a8a46473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610229576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161022090610663565b60405180910390fd5b7f0000000000000000000000000000000000000000000000000000000069440fe742101561028c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610283906106cb565b60405180910390fd5b5f8190505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016102ca91906105f0565b602060405180830381865afa1580156102e5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103099190610713565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb7f000000000000000000000000b7fc8401e12a2dc2431085eb3318e289e9a8a464836040518363ffffffff1660e01b815260040161036692919061073e565b6020604051808303815f875af1158015610382573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103a6919061079a565b50505050565b7f000000000000000000000000b7fc8401e12a2dc2431085eb3318e289e9a8a46481565b7f000000000000000000000000b7fc8401e12a2dc2431085eb3318e289e9a8a46473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461045e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045590610663565b60405180910390fd5b7f0000000000000000000000000000000000000000000000000000000069440fe74210156104c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b8906106cb565b60405180910390fd5b7f000000000000000000000000b7fc8401e12a2dc2431085eb3318e289e9a8a46473ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610524573d5f5f3e3d5ffd5b50565b5f819050919050565b61053981610527565b82525050565b5f6020820190506105525f830184610530565b92915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6105858261055c565b9050919050565b6105958161057b565b811461059f575f5ffd5b50565b5f813590506105b08161058c565b92915050565b5f602082840312156105cb576105ca610558565b5b5f6105d8848285016105a2565b91505092915050565b6105ea8161057b565b82525050565b5f6020820190506106035f8301846105e1565b92915050565b5f82825260208201905092915050565b7f4e6f7420746865206f776e6572000000000000000000000000000000000000005f82015250565b5f61064d600d83610609565b915061065882610619565b602082019050919050565b5f6020820190508181035f83015261067a81610641565b9050919050565b7f5374696c6c206c6f636b656400000000000000000000000000000000000000005f82015250565b5f6106b5600c83610609565b91506106c082610681565b602082019050919050565b5f6020820190508181035f8301526106e2816106a9565b9050919050565b6106f281610527565b81146106fc575f5ffd5b50565b5f8151905061070d816106e9565b92915050565b5f6020828403121561072857610727610558565b5b5f610735848285016106ff565b91505092915050565b5f6040820190506107515f8301856105e1565b61075e6020830184610530565b9392505050565b5f8115159050919050565b61077981610765565b8114610783575f5ffd5b50565b5f8151905061079481610770565b92915050565b5f602082840312156107af576107ae610558565b5b5f6107bc84828501610786565b9150509291505056fea2646970667358221220f15c1c9cb1d4f556419bf4401c8fb3c0f33f5d583ee9672dcd03f439f4c9db5364736f6c634300081e0033
[codex:1482207]
[codex:1482207]
[codex:1482207] thinking
[codex:1482207] **Analyzing bytecode for exploit potential**
[codex:1482207]
[codex:1482207] I'm examining key function selectors in the bytecode, decoding their behavior to understand owner checks, timelocks, and token or ETH withdrawal logic. After detailed walkthroughs of conditions, especially timelock comparisons and owner verification, I find no apparent bypass or exploitable path; the contract uses hardcoded owner addresses and typical safety checks. I'll summarize this with a JSON output stating no findings and a brief summary.
[codex:1482207] thinking
[codex:1482207] **Finalizing analysis results**
[codex:1482207]
[codex:1482207] I'm confirming that all critical functions enforce owner and timelock restrictions without storage or proxy patterns, so no exploitable conditions appear. I'll produce the required JSON output with a clear summary stating no exploit paths were found and an empty findings list.
[codex:1482207] codex
[codex:1482207] {"no_findings":true,"summary":"No concrete, exploitable value-extraction path is visible in the runtime bytecode; value transfers are gated by a hardcoded owner check and a timelock condition, with no unprotected external calls, delegatecalls, or state writes that could be leveraged.","findings":[]}
[codex:1482207] tokens used
[codex:1482207] 12,510
[codex:1482207] {"no_findings":true,"summary":"No concrete, exploitable value-extraction path is visible in the runtime bytecode; value transfers are gated by a hardcoded owner check and a timelock condition, with no unprotected external calls, delegatecalls, or state writes that could be leveraged.","findings":[]}
{
"codex": {
"ran_at": "2026-01-03T23:31:13.322429+00:00",
"returncode": 0
},
"summary": "No concrete, exploitable value-extraction path is visible in the runtime bytecode; value transfers are gated by a hardcoded owner check and a timelock condition, with no unprotected external calls, delegatecalls, or state writes that could be leveraged.",
"raw_final": {
"summary": "No concrete, exploitable value-extraction path is visible in the runtime bytecode; value transfers are gated by a hardcoded owner check and a timelock condition, with no unprotected external calls, delegatecalls, or state writes that could be leveraged.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x0058 0000000c: JUMPI 0000000d: PUSH0 0000000e: CALLDATALOAD 0000000f: PUSH1 0xe0 00000011: SHR 00000012: DUP1 00000013: PUSH4 0x251c1aa3 00000018: EQ 00000019: PUSH2 0x0063 0000001c: JUMPI 0000001d: DUP1 0000001e: PUSH4 0x602bc62b 00000023: EQ 00000024: PUSH2 0x008d 00000027: JUMPI 00000028: DUP1 00000029: PUSH4 0x6e947298 0000002e: EQ 0000002f: PUSH2 0x00b7 00000032: JUMPI 00000033: DUP1 00000034: PUSH4 0x89476069 00000039: EQ 0000003a: PUSH2 0x00e1 0000003d: JUMPI 0000003e: DUP1 0000003f: PUSH4 0x8da5cb5b 00000044: EQ 00000045: PUSH2 0x0109 00000048: JUMPI 00000049: DUP1 0000004a: PUSH4 0xe086e5ec 0000004f: EQ 00000050: PUSH2 0x0133 00000053: JUMPI 00000054: PUSH2 0x005f 00000057: JUMP 00000058: JUMPDEST 00000059: CALLDATASIZE 0000005a: PUSH2 0x005f 0000005d: JUMPI 0000005e: STOP 0000005f: JUMPDEST 00000060: PUSH0 00000061: PUSH0 00000062: REVERT 00000063: JUMPDEST 00000064: CALLVALUE 00000065: DUP1 00000066: ISZERO 00000067: PUSH2 0x006e 0000006a: JUMPI 0000006b: PUSH0 0000006c: PUSH0 0000006d: REVERT 0000006e: JUMPDEST 0000006f: POP 00000070: PUSH2 0x0077 00000073: PUSH2 0x0149 00000076: JUMP 00000077: JUMPDEST 00000078: PUSH1 0x40 0000007a: MLOAD 0000007b: PUSH2 0x0084 0000007e: SWAP2 0000007f: SWAP1 00000080: PUSH2 0x053f 00000083: JUMP 00000084: JUMPDEST 00000085: PUSH1 0x40 00000087: MLOAD 00000088: DUP1 00000089: SWAP2 0000008a: SUB 0000008b: SWAP1 0000008c: RETURN 0000008d: JUMPDEST 0000008e: CALLVALUE 0000008f: DUP1 00000090: ISZERO 00000091: PUSH2 0x0098 00000094: JUMPI 00000095: PUSH0 00000096: PUSH0 00000097: REVERT 00000098: JUMPDEST 00000099: POP 0000009a: PUSH2 0x00a1 0000009d: PUSH2 0x016d 000000a0: JUMP 000000a1: JUMPDEST 000000a2: PUSH1 0x40 000000a4: MLOAD 000000a5: PUSH2 0x00ae 000000a8: SWAP2 000000a9: SWAP1 000000aa: PUSH2 0x053f 000000ad: JUMP 000000ae: JUMPDEST 000000af: PUSH1 0x40 000000b1: MLOAD 000000b2: DUP1 000000b3: SWAP2 000000b4: SUB 000000b5: SWAP1 000000b6: RETURN 000000b7: JUMPDEST 000000b8: CALLVALUE 000000b9: DUP1 000000ba: ISZERO 000000bb: PUSH2 0x00c2 000000be: JUMPI 000000bf: PUSH0 000000c0: PUSH0 000000c1: REVERT 000000c2: JUMPDEST 000000c3: POP 000000c4: PUSH2 0x00cb 000000c7: PUSH2 0x0194 000000ca: JUMP 000000cb: JUMPDEST 000000cc: PUSH1 0x40 000000ce: MLOAD 000000cf: PUSH2 0x00d8 000000d2: SWAP2 000000d3: SWAP1 000000d4: PUSH2 0x053f 000000d7: JUMP 000000d8: JUMPDEST 000000d9: PUSH1 0x40 000000db: MLOAD 000000dc: DUP1 000000dd: SWAP2 000000de: SUB 000000df: SWAP1 000000e0: RETURN 000000e1: JUMPDEST 000000e2: CALLVALUE 000000e3: DUP1 000000e4: ISZERO 000000e5: PUSH2 0x00ec 000000e8: JUMPI 000000e9: PUSH0 000000ea: PUSH0 000000eb: REVERT 000000ec: JUMPDEST 000000ed: POP 000000ee: PUSH2 0x0107 000000f1: PUSH1 0x04 000000f3: DUP1 000000f4: CALLDATASIZE 000000f5: SUB 000000f6: DUP2 000000f7: ADD 000000f8: SWAP1 000000f9: PUSH2 0x0102 000000fc: SWAP2 000000fd: SWAP1 000000fe: PUSH2 0x05b6 00000101: JUMP 00000102: JUMPDEST 00000103: PUSH2 0x019b 00000106: JUMP 00000107: JUMPDEST 00000108: STOP 00000109: JUMPDEST 0000010a: CALLVALUE 0000010b: DUP1 0000010c: ISZERO 0000010d: PUSH2 0x0114 00000110: JUMPI 00000111: PUSH0 00000112: PUSH0 00000113: REVERT 00000114: JUMPDEST 00000115: POP 00000116: PUSH2 0x011d 00000119: PUSH2 0x03ac 0000011c: JUMP 0000011d: JUMPDEST 0000011e: PUSH1 0x40 00000120: MLOAD 00000121: PUSH2 0x012a 00000124: SWAP2 00000125: SWAP1 00000126: PUSH2 0x05f0 00000129: JUMP 0000012a: JUMPDEST 0000012b: PUSH1 0x40 0000012d: MLOAD 0000012e: DUP1 0000012f: SWAP2 00000130: SUB 00000131: SWAP1 00000132: RETURN 00000133: JUMPDEST 00000134: CALLVALUE 00000135: DUP1 00000136: ISZERO 00000137: PUSH2 0x013e 0000013a: JUMPI 0000013b: PUSH0 0000013c: PUSH0 0000013d: REVERT 0000013e: JUMPDEST 0000013f: POP 00000140: PUSH2 0x0147 00000143: PUSH2 0x03d0 00000146: JUMP 00000147: JUMPDEST 00000148: STOP 00000149: JUMPDEST 0000014a: PUSH32 0x0000000000000000000000000000000000000000000000000000000069440fe7 0000016b: DUP2 0000016c: JUMP 0000016d: JUMPDEST 0000016e: PUSH0 0000016f: PUSH32 0x0000000000000000000000000000000000000000000000000000000069440fe7 00000190: SWAP1 00000191: POP 00000192: SWAP1 00000193: JUMP 00000194: JUMPDEST 00000195: PUSH0 00000196: SELFBALANCE 00000197: SWAP1 00000198: POP 00000199: SWAP1 0000019a: JUMP 0000019b: JUMPDEST 0000019c: PUSH32 0x000000000000000000000000b7fc8401e12a2dc2431085eb3318e289e9a8a464 000001bd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001d2: AND 000001d3: CALLER 000001d4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001e9: AND 000001ea: EQ 000001eb: PUSH2 0x0229 000001ee: JUMPI 000001ef: PUSH1 0x40 000001f1: MLOAD 000001f2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000213: DUP2 00000214: MSTORE 00000215: PUSH1 0x04 00000217: ADD 00000218: PUSH2 0x0220 0000021b: SWAP1 0000021c: PUSH2 0x0663 0000021f: JUMP 00000220: JUMPDEST 00000221: PUSH1 0x40 00000223: MLOAD 00000224: DUP1 00000225: SWAP2 00000226: SUB 00000227: SWAP1 00000228: REVERT 00000229: JUMPDEST 0000022a: PUSH32 0x0000000000000000000000000000000000000000000000000000000069440fe7 0000024b: TIMESTAMP 0000024c: LT 0000024d: ISZERO 0000024e: PUSH2 0x028c 00000251: JUMPI 00000252: PUSH1 0x40 00000254: MLOAD 00000255: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000276: DUP2 00000277: MSTORE 00000278: PUSH1 0x04 0000027a: ADD 0000027b: PUSH2 0x0283 0000027e: SWAP1 0000027f: PUSH2 0x06cb 00000282: JUMP 00000283: JUMPDEST 00000284: PUSH1 0x40 00000286: MLOAD 00000287: DUP1 00000288: SWAP2 00000289: SUB 0000028a: SWAP1 0000028b: REVERT 0000028c: JUMPDEST 0000028d: PUSH0 0000028e: DUP2 0000028f: SWAP1 00000290: POP 00000291: PUSH0 00000292: DUP2 00000293: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002a8: AND 000002a9: PUSH4 0x70a08231 000002ae: ADDRESS 000002af: PUSH1 0x40 000002b1: MLOAD 000002b2: DUP3 000002b3: PUSH4 0xffffffff 000002b8: AND 000002b9: PUSH1 0xe0 000002bb: SHL 000002bc: DUP2 000002bd: MSTORE 000002be: PUSH1 0x04 000002c0: ADD 000002c1: PUSH2 0x02ca 000002c4: SWAP2 000002c5: SWAP1 000002c6: PUSH2 0x05f0 000002c9: JUMP 000002ca: JUMPDEST 000002cb: PUSH1 0x20 000002cd: PUSH1 0x40 000002cf: MLOAD 000002d0: DUP1 000002d1: DUP4 000002d2: SUB 000002d3: DUP2 000002d4: DUP7 000002d5: GAS 000002d6: STATICCALL 000002d7: ISZERO 000002d8: DUP1 000002d9: ISZERO 000002da: PUSH2 0x02e5 000002dd: JUMPI 000002de: RETURNDATASIZE 000002df: PUSH0 000002e0: PUSH0 000002e1: RETURNDATACOPY 000002e2: RETURNDATASIZE 000002e3: PUSH0 000002e4: REVERT 000002e5: JUMPDEST 000002e6: POP 000002e7: POP 000002e8: POP 000002e9: POP 000002ea: PUSH1 0x40 000002ec: MLOAD 000002ed: RETURNDATASIZE 000002ee: PUSH1 0x1f 000002f0: NOT 000002f1: PUSH1 0x1f 000002f3: DUP3 000002f4: ADD 000002f5: AND 000002f6: DUP3 000002f7: ADD 000002f8: DUP1 000002f9: PUSH1 0x40 000002fb: MSTORE 000002fc: POP 000002fd: DUP2 000002fe: ADD 000002ff: SWAP1 00000300: PUSH2 0x0309 00000303: SWAP2 00000304: SWAP1 00000305: PUSH2 0x0713 00000308: JUMP 00000309: JUMPDEST 0000030a: SWAP1 0000030b: POP 0000030c: DUP2 0000030d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000322: AND 00000323: PUSH4 0xa9059cbb 00000328: PUSH32 0x000000000000000000000000b7fc8401e12a2dc2431085eb3318e289e9a8a464 00000349: DUP4 0000034a: PUSH1 0x40 0000034c: MLOAD 0000034d: DUP4 0000034e: PUSH4 0xffffffff 00000353: AND 00000354: PUSH1 0xe0 00000356: SHL 00000357: DUP2 00000358: MSTORE 00000359: PUSH1 0x04 0000035b: ADD 0000035c: PUSH2 0x0366 0000035f: SWAP3 00000360: SWAP2 00000361: SWAP1 00000362: PUSH2 0x073e 00000365: JUMP 00000366: JUMPDEST 00000367: PUSH1 0x20 00000369: PUSH1 0x40 0000036b: MLOAD 0000036c: DUP1 0000036d: DUP4 0000036e: SUB 0000036f: DUP2 00000370: PUSH0 00000371: DUP8 00000372: GAS 00000373: CALL 00000374: ISZERO 00000375: DUP1 00000376: ISZERO 00000377: PUSH2 0x0382 0000037a: JUMPI 0000037b: RETURNDATASIZE 0000037c: PUSH0 0000037d: PUSH0 0000037e: RETURNDATACOPY 0000037f: RETURNDATASIZE 00000380: PUSH0 00000381: REVERT 00000382: JUMPDEST 00000383: POP 00000384: POP 00000385: POP 00000386: POP 00000387: PUSH1 0x40 00000389: MLOAD 0000038a: RETURNDATASIZE 0000038b: PUSH1 0x1f 0000038d: NOT 0000038e: PUSH1 0x1f 00000390: DUP3 00000391: ADD 00000392: AND 00000393: DUP3 00000394: ADD 00000395: DUP1 00000396: PUSH1 0x40 00000398: MSTORE 00000399: POP 0000039a: DUP2 0000039b: ADD 0000039c: SWAP1 0000039d: PUSH2 0x03a6 000003a0: SWAP2 000003a1: SWAP1 000003a2: PUSH2 0x079a 000003a5: JUMP 000003a6: JUMPDEST 000003a7: POP 000003a8: POP 000003a9: POP 000003aa: POP 000003ab: JUMP 000003ac: JUMPDEST 000003ad: PUSH32 0x000000000000000000000000b7fc8401e12a2dc2431085eb3318e289e9a8a464 000003ce: DUP2 000003cf: JUMP 000003d0: JUMPDEST 000003d1: PUSH32 0x000000000000000000000000b7fc8401e12a2dc2431085eb3318e289e9a8a464 000003f2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000407: AND 00000408: CALLER 00000409: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000041e: AND 0000041f: EQ 00000420: PUSH2 0x045e 00000423: JUMPI 00000424: PUSH1 0x40 00000426: MLOAD 00000427: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000448: DUP2 00000449: MSTORE 0000044a: PUSH1 0x04 0000044c: ADD 0000044d: PUSH2 0x0455 00000450: SWAP1 00000451: PUSH2 0x0663 00000454: JUMP 00000455: JUMPDEST 00000456: PUSH1 0x40 00000458: MLOAD 00000459: DUP1 0000045a: SWAP2 0000045b: SUB 0000045c: SWAP1 0000045d: REVERT 0000045e: JUMPDEST 0000045f: PUSH32 0x0000000000000000000000000000000000000000000000000000000069440fe7 00000480: TIMESTAMP 00000481: LT 00000482: ISZERO 00000483: PUSH2 0x04c1 00000486: JUMPI 00000487: PUSH1 0x40 00000489: MLOAD 0000048a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000004ab: DUP2 000004ac: MSTORE 000004ad: PUSH1 0x04 000004af: ADD 000004b0: PUSH2 0x04b8 000004b3: SWAP1 000004b4: PUSH2 0x06cb 000004b7: JUMP 000004b8: JUMPDEST 000004b9: PUSH1 0x40 000004bb: MLOAD 000004bc: DUP1 000004bd: SWAP2 000004be: SUB 000004bf: SWAP1 000004c0: REVERT 000004c1: JUMPDEST 000004c2: PUSH32 0x000000000000000000000000b7fc8401e12a2dc2431085eb3318e289e9a8a464 000004e3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004f8: AND 000004f9: PUSH2 0x08fc 000004fc: SELFBALANCE 000004fd: SWAP1 000004fe: DUP2 000004ff: ISZERO 00000500: MUL 00000501: SWAP1 00000502: PUSH1 0x40 00000504: MLOAD 00000505: PUSH0 00000506: PUSH1 0x40 00000508: MLOAD 00000509: DUP1 0000050a: DUP4 0000050b: SUB 0000050c: DUP2 0000050d: DUP6 0000050e: DUP9 0000050f: DUP9 00000510: CALL 00000511: SWAP4 00000512: POP 00000513: POP 00000514: POP 00000515: POP 00000516: ISZERO 00000517: DUP1 00000518: ISZERO 00000519: PUSH2 0x0524 0000051c: JUMPI 0000051d: RETURNDATASIZE 0000051e: PUSH0 0000051f: PUSH0 00000520: RETURNDATACOPY 00000521: RETURNDATASIZE 00000522: PUSH0 00000523: REVERT 00000524: JUMPDEST 00000525: POP 00000526: JUMP 00000527: JUMPDEST 00000528: PUSH0 00000529: DUP2 0000052a: SWAP1 0000052b: POP 0000052c: SWAP2 0000052d: SWAP1 0000052e: POP 0000052f: JUMP 00000530: JUMPDEST 00000531: PUSH2 0x0539 00000534: DUP2 00000535: PUSH2 0x0527 00000538: JUMP 00000539: JUMPDEST 0000053a: DUP3 0000053b: MSTORE 0000053c: POP 0000053d: POP 0000053e: JUMP 0000053f: JUMPDEST 00000540: PUSH0 00000541: PUSH1 0x20 00000543: DUP3 00000544: ADD 00000545: SWAP1 00000546: POP 00000547: PUSH2 0x0552 0000054a: PUSH0 0000054b: DUP4 0000054c: ADD 0000054d: DUP5 0000054e: PUSH2 0x0530 00000551: JUMP 00000552: JUMPDEST 00000553: SWAP3 00000554: SWAP2 00000555: POP 00000556: POP 00000557: JUMP 00000558: JUMPDEST 00000559: PUSH0 0000055a: PUSH0 0000055b: REVERT 0000055c: JUMPDEST 0000055d: PUSH0 0000055e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000573: DUP3 00000574: AND 00000575: SWAP1 00000576: POP 00000577: SWAP2 00000578: SWAP1 00000579: POP 0000057a: JUMP 0000057b: JUMPDEST 0000057c: PUSH0 0000057d: PUSH2 0x0585 00000580: DUP3 00000581: PUSH2 0x055c 00000584: JUMP 00000585: JUMPDEST 00000586: SWAP1 00000587: POP 00000588: SWAP2 00000589: SWAP1 0000058a: POP 0000058b: JUMP 0000058c: JUMPDEST 0000058d: PUSH2 0x0595 00000590: DUP2 00000591: PUSH2 0x057b 00000594: JUMP 00000595: JUMPDEST 00000596: DUP2 00000597: EQ 00000598: PUSH2 0x059f 0000059b: JUMPI 0000059c: PUSH0 0000059d: PUSH0 0000059e: REVERT 0000059f: JUMPDEST 000005a0: POP 000005a1: JUMP 000005a2: JUMPDEST 000005a3: PUSH0 000005a4: DUP2 000005a5: CALLDATALOAD 000005a6: SWAP1 000005a7: POP 000005a8: PUSH2 0x05b0 000005ab: DUP2 000005ac: PUSH2 0x058c 000005af: JUMP 000005b0: JUMPDEST 000005b1: SWAP3 000005b2: SWAP2 000005b3: POP 000005b4: POP 000005b5: JUMP 000005b6: JUMPDEST 000005b7: PUSH0 000005b8: PUSH1 0x20 000005ba: DUP3 000005bb: DUP5 000005bc: SUB 000005bd: SLT 000005be: ISZERO 000005bf: PUSH2 0x05cb 000005c2: JUMPI 000005c3: PUSH2 0x05ca 000005c6: PUSH2 0x0558 000005c9: JUMP 000005ca: JUMPDEST 000005cb: JUMPDEST 000005cc: PUSH0 000005cd: PUSH2 0x05d8 000005d0: DUP5 000005d1: DUP3 000005d2: DUP6 000005d3: ADD 000005d4: PUSH2 0x05a2 000005d7: JUMP 000005d8: JUMPDEST 000005d9: SWAP2 000005da: POP 000005db: POP 000005dc: SWAP3 000005dd: SWAP2 000005de: POP 000005df: POP 000005e0: JUMP 000005e1: JUMPDEST 000005e2: PUSH2 0x05ea 000005e5: DUP2 000005e6: PUSH2 0x057b 000005e9: JUMP 000005ea: JUMPDEST 000005eb: DUP3 000005ec: MSTORE 000005ed: POP 000005ee: POP 000005ef: JUMP 000005f0: JUMPDEST 000005f1: PUSH0 000005f2: PUSH1 0x20 000005f4: DUP3 000005f5: ADD 000005f6: SWAP1 000005f7: POP 000005f8: PUSH2 0x0603 000005fb: PUSH0 000005fc: DUP4 000005fd: ADD 000005fe: DUP5 000005ff: PUSH2 0x05e1 00000602: JUMP 00000603: JUMPDEST 00000604: SWAP3 00000605: SWAP2 00000606: POP 00000607: POP 00000608: JUMP 00000609: JUMPDEST 0000060a: PUSH0 0000060b: DUP3 0000060c: DUP3 0000060d: MSTORE 0000060e: PUSH1 0x20 00000610: DUP3 00000611: ADD 00000612: SWAP1 00000613: POP 00000614: SWAP3 00000615: SWAP2 00000616: POP 00000617: POP 00000618: JUMP 00000619: JUMPDEST 0000061a: PUSH32 0x4e6f7420746865206f776e657200000000000000000000000000000000000000 0000063b: PUSH0 0000063c: DUP3 0000063d: ADD 0000063e: MSTORE 0000063f: POP 00000640: JUMP 00000641: JUMPDEST 00000642: PUSH0 00000643: PUSH2 0x064d 00000646: PUSH1 0x0d 00000648: DUP4 00000649: PUSH2 0x0609 0000064c: JUMP 0000064d: JUMPDEST 0000064e: SWAP2 0000064f: POP 00000650: PUSH2 0x0658 00000653: DUP3 00000654: PUSH2 0x0619 00000657: JUMP 00000658: JUMPDEST 00000659: PUSH1 0x20 0000065b: DUP3 0000065c: ADD 0000065d: SWAP1 0000065e: POP 0000065f: SWAP2 00000660: SWAP1 00000661: POP 00000662: JUMP 00000663: JUMPDEST 00000664: PUSH0 00000665: PUSH1 0x20 00000667: DUP3 00000668: ADD 00000669: SWAP1 0000066a: POP 0000066b: DUP2 0000066c: DUP2 0000066d: SUB 0000066e: PUSH0 0000066f: DUP4 00000670: ADD 00000671: MSTORE 00000672: PUSH2 0x067a 00000675: DUP2 00000676: PUSH2 0x0641 00000679: JUMP 0000067a: JUMPDEST 0000067b: SWAP1 0000067c: POP 0000067d: SWAP2 0000067e: SWAP1 0000067f: POP 00000680: JUMP 00000681: JUMPDEST 00000682: PUSH32 0x5374696c6c206c6f636b65640000000000000000000000000000000000000000 000006a3: PUSH0 000006a4: DUP3 000006a5: ADD 000006a6: MSTORE 000006a7: POP 000006a8: JUMP 000006a9: JUMPDEST 000006aa: PUSH0 000006ab: PUSH2 0x06b5 000006ae: PUSH1 0x0c 000006b0: DUP4 000006b1: PUSH2 0x0609 000006b4: JUMP 000006b5: JUMPDEST 000006b6: SWAP2 000006b7: POP 000006b8: PUSH2 0x06c0 000006bb: DUP3 000006bc: PUSH2 0x0681 000006bf: JUMP 000006c0: JUMPDEST 000006c1: PUSH1 0x20 000006c3: DUP3 000006c4: ADD 000006c5: SWAP1 000006c6: POP 000006c7: SWAP2 000006c8: SWAP1 000006c9: POP 000006ca: JUMP 000006cb: JUMPDEST 000006cc: PUSH0 000006cd: PUSH1 0x20 000006cf: DUP3 000006d0: ADD 000006d1: SWAP1 000006d2: POP 000006d3: DUP2 000006d4: DUP2 000006d5: SUB 000006d6: PUSH0 000006d7: DUP4 000006d8: ADD 000006d9: MSTORE 000006da: PUSH2 0x06e2 000006dd: DUP2 000006de: PUSH2 0x06a9 000006e1: JUMP 000006e2: JUMPDEST 000006e3: SWAP1 000006e4: POP 000006e5: SWAP2 000006e6: SWAP1 000006e7: POP 000006e8: JUMP 000006e9: JUMPDEST 000006ea: PUSH2 0x06f2 000006ed: DUP2 000006ee: PUSH2 0x0527 000006f1: JUMP 000006f2: JUMPDEST 000006f3: DUP2 000006f4: EQ 000006f5: PUSH2 0x06fc 000006f8: JUMPI 000006f9: PUSH0 000006fa: PUSH0 000006fb: REVERT 000006fc: JUMPDEST 000006fd: POP 000006fe: JUMP 000006ff: JUMPDEST 00000700: PUSH0 00000701: DUP2 00000702: MLOAD 00000703: SWAP1 00000704: POP 00000705: PUSH2 0x070d 00000708: DUP2 00000709: PUSH2 0x06e9 0000070c: JUMP 0000070d: JUMPDEST 0000070e: SWAP3 0000070f: SWAP2 00000710: POP 00000711: POP 00000712: JUMP 00000713: JUMPDEST 00000714: PUSH0 00000715: PUSH1 0x20 00000717: DUP3 00000718: DUP5 00000719: SUB 0000071a: SLT 0000071b: ISZERO 0000071c: PUSH2 0x0728 0000071f: JUMPI 00000720: PUSH2 0x0727 00000723: PUSH2 0x0558 00000726: JUMP 00000727: JUMPDEST 00000728: JUMPDEST 00000729: PUSH0 0000072a: PUSH2 0x0735 0000072d: DUP5 0000072e: DUP3 0000072f: DUP6 00000730: ADD 00000731: PUSH2 0x06ff 00000734: JUMP 00000735: JUMPDEST 00000736: SWAP2 00000737: POP 00000738: POP 00000739: SWAP3 0000073a: SWAP2 0000073b: POP 0000073c: POP 0000073d: JUMP 0000073e: JUMPDEST 0000073f: PUSH0 00000740: PUSH1 0x40 00000742: DUP3 00000743: ADD 00000744: SWAP1 00000745: POP 00000746: PUSH2 0x0751 00000749: PUSH0 0000074a: DUP4 0000074b: ADD 0000074c: DUP6 0000074d: PUSH2 0x05e1 00000750: JUMP 00000751: JUMPDEST 00000752: PUSH2 0x075e 00000755: PUSH1 0x20 00000757: DUP4 00000758: ADD 00000759: DUP5 0000075a: PUSH2 0x0530 0000075d: JUMP 0000075e: JUMPDEST 0000075f: SWAP4 00000760: SWAP3 00000761: POP 00000762: POP 00000763: POP 00000764: JUMP 00000765: JUMPDEST 00000766: PUSH0 00000767: DUP2 00000768: ISZERO 00000769: ISZERO 0000076a: SWAP1 0000076b: POP 0000076c: SWAP2 0000076d: SWAP1 0000076e: POP 0000076f: JUMP 00000770: JUMPDEST 00000771: PUSH2 0x0779 00000774: DUP2 00000775: PUSH2 0x0765 00000778: JUMP 00000779: JUMPDEST 0000077a: DUP2 0000077b: EQ 0000077c: PUSH2 0x0783 0000077f: JUMPI 00000780: PUSH0 00000781: PUSH0 00000782: REVERT 00000783: JUMPDEST 00000784: POP 00000785: JUMP 00000786: JUMPDEST 00000787: PUSH0 00000788: DUP2 00000789: MLOAD 0000078a: SWAP1 0000078b: POP 0000078c: PUSH2 0x0794 0000078f: DUP2 00000790: PUSH2 0x0770 00000793: JUMP 00000794: JUMPDEST 00000795: SWAP3 00000796: SWAP2 00000797: POP 00000798: POP 00000799: JUMP 0000079a: JUMPDEST 0000079b: PUSH0 0000079c: PUSH1 0x20 0000079e: DUP3 0000079f: DUP5 000007a0: SUB 000007a1: SLT 000007a2: ISZERO 000007a3: PUSH2 0x07af 000007a6: JUMPI 000007a7: PUSH2 0x07ae 000007aa: PUSH2 0x0558 000007ad: JUMP 000007ae: JUMPDEST 000007af: JUMPDEST 000007b0: PUSH0 000007b1: PUSH2 0x07bc 000007b4: DUP5 000007b5: DUP3 000007b6: DUP6 000007b7: ADD 000007b8: PUSH2 0x0786 000007bb: JUMP 000007bc: JUMPDEST 000007bd: SWAP2 000007be: POP 000007bf: POP 000007c0: SWAP3 000007c1: SWAP2 000007c2: POP 000007c3: POP 000007c4: JUMP 000007c5: INVALID 000007c6: LOG2 000007c7: PUSH5 0x6970667358 000007cd: UNKNOWN(0x22) 000007ce: SLT 000007cf: KECCAK256 000007d0: CALL 000007d1: TLOAD 000007d2: SHR 000007d3: SWAP13 000007d4: UNKNOWN(0xB1) 000007d5: UNKNOWN(0xD4) 000007d6: CREATE2 000007d7: JUMP 000007d8: COINBASE 000007d9: SWAP12 000007da: DELEGATECALL 000007db: BLOCKHASH 000007dc: SHR 000007dd: DUP16 000007de: UNKNOWN(0xB3) 000007df: UNKNOWN(0xC0) 000007e0: RETURN 000007e1: EXTCODEHASH 000007e2: TSTORE 000007e3: PC 000007e4: RETURNDATACOPY 000007e5: UNKNOWN(0xE9) 000007e6: PUSH8 0x2dcd03f439f4c9db 000007ef: MSTORE8 000007f0: PUSH5 0x736f6c6343 000007f6: STOP 000007f7: ADDMOD 000007f8: CLZ 000007f9: STOP 000007fa: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | upgradeability | detector | Untrusted DELEGATECALL target reachable | 55 | no | no |
viewtrace_id: 0x5fcf0bc42284ea3d16e8a525b47f2af0a4d9af619f6ac2fe014b4f2cd2f7a5e7
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 72,
"trace_id": "0x5fcf0bc42284ea3d16e8a525b47f2af0a4d9af619f6ac2fe014b4f2cd2f7a5e7",
"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": "0x251c1aa3",
"selector": "0x251c1aa3",
"calldata_variants": [
"0x251c1aa3",
"0x251c1aa30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x602bc62b",
"selector": "0x602bc62b",
"calldata_variants": [
"0x602bc62b",
"0x602bc62b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6e947298",
"selector": "0x6e947298",
"calldata_variants": [
"0x6e947298",
"0x6e9472980000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x89476069",
"selector": "0x89476069",
"calldata_variants": [
"0x89476069",
"0x894760690000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe086e5ec",
"selector": "0xe086e5ec",
"calldata_variants": [
"0xe086e5ec",
"0xe086e5ec0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2010,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [
{
"pc": 467,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1032,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"delegatecall_count": 1,
"untrusted_delegatecall_count": 1
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 1
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0xa4fe51f313f10bf7a126da0ae35003199c39891d363195ecbb389f9d6b1e9a2a
call_targets:
0x046dd36dfd03c2e604fc4cd927a508770486cce4
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xa4fe51f313f10bf7a126da0ae35003199c39891d363195ecbb389f9d6b1e9a2a",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x046dd36dfd03c2e604fc4cd927a508770486cce4"
],
"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": "0x251c1aa3",
"selector": "0x251c1aa3",
"calldata_variants": [
"0x251c1aa3",
"0x251c1aa30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x602bc62b",
"selector": "0x602bc62b",
"calldata_variants": [
"0x602bc62b",
"0x602bc62b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6e947298",
"selector": "0x6e947298",
"calldata_variants": [
"0x6e947298",
"0x6e9472980000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x89476069",
"selector": "0x89476069",
"calldata_variants": [
"0x89476069",
"0x894760690000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe086e5ec",
"selector": "0xe086e5ec",
"calldata_variants": [
"0xe086e5ec",
"0xe086e5ec0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 883,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1296,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2000,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 3,
"guards_detected": [
{
"pc": 467,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1032,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 3
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0xa4fe51f313f10bf7a126da0ae35003199c39891d363195ecbb389f9d6b1e9a2a
call_targets:
0x046dd36dfd03c2e604fc4cd927a508770486cce4
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xa4fe51f313f10bf7a126da0ae35003199c39891d363195ecbb389f9d6b1e9a2a",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x046dd36dfd03c2e604fc4cd927a508770486cce4"
],
"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": "0x251c1aa3",
"selector": "0x251c1aa3",
"calldata_variants": [
"0x251c1aa3",
"0x251c1aa30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x602bc62b",
"selector": "0x602bc62b",
"calldata_variants": [
"0x602bc62b",
"0x602bc62b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6e947298",
"selector": "0x6e947298",
"calldata_variants": [
"0x6e947298",
"0x6e9472980000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x89476069",
"selector": "0x89476069",
"calldata_variants": [
"0x89476069",
"0x894760690000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe086e5ec",
"selector": "0xe086e5ec",
"calldata_variants": [
"0xe086e5ec",
"0xe086e5ec0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 883,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1296,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2000,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 3,
"guards_detected": [
{
"pc": 467,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1032,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0xb9e8324773db6b2dd7df21ea18c3aa3d87365b55c6aaeb7832799eb62622e370
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 12,
"trace_id": "0xb9e8324773db6b2dd7df21ea18c3aa3d87365b55c6aaeb7832799eb62622e370",
"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": "0x251c1aa3",
"selector": "0x251c1aa3",
"calldata_variants": [
"0x251c1aa3",
"0x251c1aa30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x602bc62b",
"selector": "0x602bc62b",
"calldata_variants": [
"0x602bc62b",
"0x602bc62b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6e947298",
"selector": "0x6e947298",
"calldata_variants": [
"0x6e947298",
"0x6e9472980000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x89476069",
"selector": "0x89476069",
"calldata_variants": [
"0x89476069",
"0x894760690000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe086e5ec",
"selector": "0xe086e5ec",
"calldata_variants": [
"0xe086e5ec",
"0xe086e5ec0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 0,
"create2_count": 1
}
|
| low | other | cast | Contract creation opcode present | 60 | no | — |
viewevidence_json{
"notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
"create_count": 0,
"create2_count": 1
}
|