004104ff-ea50-4d3c-a056-97595be8dcdd
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 |
|---|---|---|---|---|
| 30242 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 73636 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 73637 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 73638 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 73639 | capability.graph | complete | 1 / 3 | 1 week ago |
| 73640 | detector.run | complete | 1 / 3 | 1 week ago |
| 73641 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:533226] OpenAI Codex v0.77.0 (research preview)
[codex:533226] --------
[codex:533226] workdir: /tmp/codex-multi-vforrntb
[codex:533226] model: gpt-5.2-codex
[codex:533226] provider: openai
[codex:533226] approval: never
[codex:533226] sandbox: read-only
[codex:533226] reasoning effort: xhigh
[codex:533226] reasoning summaries: auto
[codex:533226] session id: 019b622c-bd16-7202-a048-fd1533e8eb29
[codex:533226] --------
[codex:533226] user
[codex:533226] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:533226] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:533226] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:533226]
[codex:533226] Scope rules:
[codex:533226] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:533226] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:533226]
[codex:533226] Output MUST be valid JSON matching the provided schema.
[codex:533226] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:533226] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:533226]
[codex:533226] Output constraints (IMPORTANT):
[codex:533226] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:533226] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:533226] mcp startup: no servers
[codex:533226]
[codex:533226] thinking
[codex:533226] **Preparing to read AUDIT_BUNDLE file**
[codex:533226] exec
[codex:533226] /bin/bash -lc ls in /tmp/codex-multi-vforrntb succeeded in 5ms:
[codex:533226] AUDIT_BUNDLE.txt
[codex:533226] codex-output-schema.json
[codex:533226] contracts
[codex:533226] exec
[codex:533226] /bin/bash -lc 'cat /tmp/codex-multi-vforrntb/AUDIT_BUNDLE.txt' in /tmp/codex-multi-vforrntb succeeded in 5ms:
[codex:533226] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:533226]
[codex:533226] ================================================================================
[codex:533226] FILE: contracts/Contract.sol
[codex:533226] ================================================================================
[codex:533226] // File: contracts/ownership/Ownable.sol
[codex:533226]
[codex:533226] pragma solidity <6.0 >=0.4.0;
[codex:533226]
[codex:533226]
[codex:533226] /**
[codex:533226] * @title Ownable
[codex:533226] * @dev The Ownable contract has an owner address, and provides basic authorization control
[codex:533226] * functions, this simplifies the implementation of "user permissions".
[codex:533226] */
[codex:533226] contract Ownable {
[codex:533226] address public owner;
[codex:533226]
[codex:533226]
[codex:533226] event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
[codex:533226]
[codex:533226] thinking
[codex:533226] **Reviewing TokenSafe and Ownable for risks**
[codex:533226]
[codex:533226] I'm auditing the Ownable and TokenSafe contracts, focusing on potential security concerns around the mint function which uses a transfer selector via a low-level call. I notice the onlyOwner guard and that the low-level call handles various token behaviors without reverting, which is probably intentional but might cause silent failures. There’s a minor misnaming issue with the mint function, and the open pragma range seems broad but not critical. Overall, I find no serious vulnerabilities given the limited functionality and access controls. I'll prepare a JSON summary reporting no findings with the appropriate structure for codex_output_schema.
[codex:533226] codex
[codex:533226] {"no_findings":true,"summary":"Reviewed `contracts/Contract.sol` (Ownable + TokenSafe). No exploitable issues found in the requested categories given current logic and access controls.","findings":[]}
[codex:533226] tokens used
[codex:533226] 5,898
[codex:533226] {"no_findings":true,"summary":"Reviewed `contracts/Contract.sol` (Ownable + TokenSafe). No exploitable issues found in the requested categories given current logic and access controls.","findings":[]}
{
"codex": {
"ran_at": "2025-12-27T23:37:55.412935+00:00",
"returncode": 0
},
"summary": "Reviewed `contracts/Contract.sol` (Ownable + TokenSafe). No exploitable issues found in the requested categories given current logic and access controls.",
"raw_final": {
"summary": "Reviewed `contracts/Contract.sol` (Ownable + TokenSafe). No exploitable issues found in the requested categories given current logic and access controls.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLVALUE 00000006: DUP1 00000007: ISZERO 00000008: PUSH2 0x0010 0000000b: JUMPI 0000000c: PUSH1 0x00 0000000e: DUP1 0000000f: REVERT 00000010: JUMPDEST 00000011: POP 00000012: PUSH1 0x04 00000014: CALLDATASIZE 00000015: LT 00000016: PUSH2 0x0041 00000019: JUMPI 0000001a: PUSH1 0x00 0000001c: CALLDATALOAD 0000001d: PUSH1 0xe0 0000001f: SHR 00000020: DUP1 00000021: PUSH4 0x8da5cb5b 00000026: EQ 00000027: PUSH2 0x0046 0000002a: JUMPI 0000002b: DUP1 0000002c: PUSH4 0xc6c3bbe6 00000031: EQ 00000032: PUSH2 0x006a 00000035: JUMPI 00000036: DUP1 00000037: PUSH4 0xf2fde38b 0000003c: EQ 0000003d: PUSH2 0x00b4 00000040: JUMPI 00000041: JUMPDEST 00000042: PUSH1 0x00 00000044: DUP1 00000045: REVERT 00000046: JUMPDEST 00000047: PUSH2 0x004e 0000004a: PUSH2 0x00dc 0000004d: JUMP 0000004e: JUMPDEST 0000004f: PUSH1 0x40 00000051: DUP1 00000052: MLOAD 00000053: PUSH1 0x01 00000055: PUSH1 0x01 00000057: PUSH1 0xa0 00000059: SHL 0000005a: SUB 0000005b: SWAP1 0000005c: SWAP3 0000005d: AND 0000005e: DUP3 0000005f: MSTORE 00000060: MLOAD 00000061: SWAP1 00000062: DUP2 00000063: SWAP1 00000064: SUB 00000065: PUSH1 0x20 00000067: ADD 00000068: SWAP1 00000069: RETURN 0000006a: JUMPDEST 0000006b: PUSH2 0x00a0 0000006e: PUSH1 0x04 00000070: DUP1 00000071: CALLDATASIZE 00000072: SUB 00000073: PUSH1 0x60 00000075: DUP2 00000076: LT 00000077: ISZERO 00000078: PUSH2 0x0080 0000007b: JUMPI 0000007c: PUSH1 0x00 0000007e: DUP1 0000007f: REVERT 00000080: JUMPDEST 00000081: POP 00000082: PUSH1 0x01 00000084: PUSH1 0x01 00000086: PUSH1 0xa0 00000088: SHL 00000089: SUB 0000008a: DUP2 0000008b: CALLDATALOAD 0000008c: DUP2 0000008d: AND 0000008e: SWAP2 0000008f: PUSH1 0x20 00000091: DUP2 00000092: ADD 00000093: CALLDATALOAD 00000094: SWAP1 00000095: SWAP2 00000096: AND 00000097: SWAP1 00000098: PUSH1 0x40 0000009a: ADD 0000009b: CALLDATALOAD 0000009c: PUSH2 0x00eb 0000009f: JUMP 000000a0: JUMPDEST 000000a1: PUSH1 0x40 000000a3: DUP1 000000a4: MLOAD 000000a5: SWAP2 000000a6: ISZERO 000000a7: ISZERO 000000a8: DUP3 000000a9: MSTORE 000000aa: MLOAD 000000ab: SWAP1 000000ac: DUP2 000000ad: SWAP1 000000ae: SUB 000000af: PUSH1 0x20 000000b1: ADD 000000b2: SWAP1 000000b3: RETURN 000000b4: JUMPDEST 000000b5: PUSH2 0x00da 000000b8: PUSH1 0x04 000000ba: DUP1 000000bb: CALLDATASIZE 000000bc: SUB 000000bd: PUSH1 0x20 000000bf: DUP2 000000c0: LT 000000c1: ISZERO 000000c2: PUSH2 0x00ca 000000c5: JUMPI 000000c6: PUSH1 0x00 000000c8: DUP1 000000c9: REVERT 000000ca: JUMPDEST 000000cb: POP 000000cc: CALLDATALOAD 000000cd: PUSH1 0x01 000000cf: PUSH1 0x01 000000d1: PUSH1 0xa0 000000d3: SHL 000000d4: SUB 000000d5: AND 000000d6: PUSH2 0x021f 000000d9: JUMP 000000da: JUMPDEST 000000db: STOP 000000dc: JUMPDEST 000000dd: PUSH1 0x00 000000df: SLOAD 000000e0: PUSH1 0x01 000000e2: PUSH1 0x01 000000e4: PUSH1 0xa0 000000e6: SHL 000000e7: SUB 000000e8: AND 000000e9: DUP2 000000ea: JUMP 000000eb: JUMPDEST 000000ec: PUSH1 0x00 000000ee: DUP1 000000ef: SLOAD 000000f0: PUSH1 0x01 000000f2: PUSH1 0x01 000000f4: PUSH1 0xa0 000000f6: SHL 000000f7: SUB 000000f8: AND 000000f9: CALLER 000000fa: EQ 000000fb: PUSH2 0x0103 000000fe: JUMPI 000000ff: PUSH1 0x00 00000101: DUP1 00000102: REVERT 00000103: JUMPDEST 00000104: PUSH1 0x40 00000106: DUP1 00000107: MLOAD 00000108: PUSH1 0x01 0000010a: PUSH1 0x01 0000010c: PUSH1 0xa0 0000010e: SHL 0000010f: SUB 00000110: DUP6 00000111: DUP2 00000112: AND 00000113: PUSH1 0x24 00000115: DUP4 00000116: ADD 00000117: MSTORE 00000118: PUSH1 0x44 0000011a: DUP1 0000011b: DUP4 0000011c: ADD 0000011d: DUP7 0000011e: SWAP1 0000011f: MSTORE 00000120: DUP4 00000121: MLOAD 00000122: DUP1 00000123: DUP5 00000124: SUB 00000125: SWAP1 00000126: SWAP2 00000127: ADD 00000128: DUP2 00000129: MSTORE 0000012a: PUSH1 0x64 0000012c: SWAP1 0000012d: SWAP3 0000012e: ADD 0000012f: DUP4 00000130: MSTORE 00000131: PUSH1 0x20 00000133: DUP3 00000134: ADD 00000135: DUP1 00000136: MLOAD 00000137: PUSH1 0x01 00000139: PUSH1 0x01 0000013b: PUSH1 0xe0 0000013d: SHL 0000013e: SUB 0000013f: AND 00000140: PUSH4 0xa9059cbb 00000145: PUSH1 0xe0 00000147: SHL 00000148: OR 00000149: DUP2 0000014a: MSTORE 0000014b: SWAP3 0000014c: MLOAD 0000014d: DUP3 0000014e: MLOAD 0000014f: PUSH1 0x00 00000151: SWAP5 00000152: PUSH1 0x60 00000154: SWAP5 00000155: SWAP4 00000156: DUP11 00000157: AND 00000158: SWAP4 00000159: SWAP3 0000015a: SWAP2 0000015b: DUP3 0000015c: SWAP2 0000015d: SWAP1 0000015e: DUP1 0000015f: DUP4 00000160: DUP4 00000161: JUMPDEST 00000162: PUSH1 0x20 00000164: DUP4 00000165: LT 00000166: PUSH2 0x0180 00000169: JUMPI 0000016a: DUP1 0000016b: MLOAD 0000016c: DUP3 0000016d: MSTORE 0000016e: PUSH1 0x1f 00000170: NOT 00000171: SWAP1 00000172: SWAP3 00000173: ADD 00000174: SWAP2 00000175: PUSH1 0x20 00000177: SWAP2 00000178: DUP3 00000179: ADD 0000017a: SWAP2 0000017b: ADD 0000017c: PUSH2 0x0161 0000017f: JUMP 00000180: JUMPDEST 00000181: PUSH1 0x01 00000183: DUP4 00000184: PUSH1 0x20 00000186: SUB 00000187: PUSH2 0x0100 0000018a: EXP 0000018b: SUB 0000018c: DUP1 0000018d: NOT 0000018e: DUP3 0000018f: MLOAD 00000190: AND 00000191: DUP2 00000192: DUP5 00000193: MLOAD 00000194: AND 00000195: DUP1 00000196: DUP3 00000197: OR 00000198: DUP6 00000199: MSTORE 0000019a: POP 0000019b: POP 0000019c: POP 0000019d: POP 0000019e: POP 0000019f: POP 000001a0: SWAP1 000001a1: POP 000001a2: ADD 000001a3: SWAP2 000001a4: POP 000001a5: POP 000001a6: PUSH1 0x00 000001a8: PUSH1 0x40 000001aa: MLOAD 000001ab: DUP1 000001ac: DUP4 000001ad: SUB 000001ae: DUP2 000001af: PUSH1 0x00 000001b1: DUP7 000001b2: GAS 000001b3: CALL 000001b4: SWAP2 000001b5: POP 000001b6: POP 000001b7: RETURNDATASIZE 000001b8: DUP1 000001b9: PUSH1 0x00 000001bb: DUP2 000001bc: EQ 000001bd: PUSH2 0x01e2 000001c0: JUMPI 000001c1: PUSH1 0x40 000001c3: MLOAD 000001c4: SWAP2 000001c5: POP 000001c6: PUSH1 0x1f 000001c8: NOT 000001c9: PUSH1 0x3f 000001cb: RETURNDATASIZE 000001cc: ADD 000001cd: AND 000001ce: DUP3 000001cf: ADD 000001d0: PUSH1 0x40 000001d2: MSTORE 000001d3: RETURNDATASIZE 000001d4: DUP3 000001d5: MSTORE 000001d6: RETURNDATASIZE 000001d7: PUSH1 0x00 000001d9: PUSH1 0x20 000001db: DUP5 000001dc: ADD 000001dd: RETURNDATACOPY 000001de: PUSH2 0x01e7 000001e1: JUMP 000001e2: JUMPDEST 000001e3: PUSH1 0x60 000001e5: SWAP2 000001e6: POP 000001e7: JUMPDEST 000001e8: POP 000001e9: SWAP2 000001ea: POP 000001eb: SWAP2 000001ec: POP 000001ed: DUP2 000001ee: DUP1 000001ef: ISZERO 000001f0: PUSH2 0x0215 000001f3: JUMPI 000001f4: POP 000001f5: DUP1 000001f6: MLOAD 000001f7: ISZERO 000001f8: DUP1 000001f9: PUSH2 0x0215 000001fc: JUMPI 000001fd: POP 000001fe: DUP1 000001ff: DUP1 00000200: PUSH1 0x20 00000202: ADD 00000203: SWAP1 00000204: MLOAD 00000205: PUSH1 0x20 00000207: DUP2 00000208: LT 00000209: ISZERO 0000020a: PUSH2 0x0212 0000020d: JUMPI 0000020e: PUSH1 0x00 00000210: DUP1 00000211: REVERT 00000212: JUMPDEST 00000213: POP 00000214: MLOAD 00000215: JUMPDEST 00000216: SWAP7 00000217: SWAP6 00000218: POP 00000219: POP 0000021a: POP 0000021b: POP 0000021c: POP 0000021d: POP 0000021e: JUMP 0000021f: JUMPDEST 00000220: PUSH1 0x00 00000222: SLOAD 00000223: PUSH1 0x01 00000225: PUSH1 0x01 00000227: PUSH1 0xa0 00000229: SHL 0000022a: SUB 0000022b: AND 0000022c: CALLER 0000022d: EQ 0000022e: PUSH2 0x0236 00000231: JUMPI 00000232: PUSH1 0x00 00000234: DUP1 00000235: REVERT 00000236: JUMPDEST 00000237: PUSH1 0x01 00000239: PUSH1 0x01 0000023b: PUSH1 0xa0 0000023d: SHL 0000023e: SUB 0000023f: DUP2 00000240: AND 00000241: PUSH2 0x0249 00000244: JUMPI 00000245: PUSH1 0x00 00000247: DUP1 00000248: REVERT 00000249: JUMPDEST 0000024a: PUSH1 0x00 0000024c: DUP1 0000024d: SLOAD 0000024e: PUSH1 0x40 00000250: MLOAD 00000251: PUSH1 0x01 00000253: PUSH1 0x01 00000255: PUSH1 0xa0 00000257: SHL 00000258: SUB 00000259: DUP1 0000025a: DUP6 0000025b: AND 0000025c: SWAP4 0000025d: SWAP3 0000025e: AND 0000025f: SWAP2 00000260: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00000281: SWAP2 00000282: LOG3 00000283: PUSH1 0x00 00000285: DUP1 00000286: SLOAD 00000287: PUSH1 0x01 00000289: PUSH1 0x01 0000028b: PUSH1 0xa0 0000028d: SHL 0000028e: SUB 0000028f: NOT 00000290: AND 00000291: PUSH1 0x01 00000293: PUSH1 0x01 00000295: PUSH1 0xa0 00000297: SHL 00000298: SUB 00000299: SWAP3 0000029a: SWAP1 0000029b: SWAP3 0000029c: AND 0000029d: SWAP2 0000029e: SWAP1 0000029f: SWAP2 000002a0: OR 000002a1: SWAP1 000002a2: SSTORE 000002a3: JUMP 000002a4: INVALID 000002a5: LOG2 000002a6: PUSH6 0x627a7a723158 000002ad: KECCAK256 000002ae: UNKNOWN(0xB7) 000002af: UNKNOWN(0xA7) 000002b0: DUP1 000002b1: UNKNOWN(0xEC) 000002b2: SWAP1 000002b3: SSTORE 000002b4: UNKNOWN(0xCE) 000002b5: TIMESTAMP 000002b6: CLZ 000002b7: UNKNOWN(0xD4) 000002b8: SSTORE 000002b9: UNKNOWN(0xDB) 000002ba: COINBASE 000002bb: UNKNOWN(0xC1) 000002bc: CALLVALUE 000002bd: DELEGATECALL 000002be: DUP1 000002bf: UNKNOWN(0xCC) 000002c0: UNKNOWN(0xE3) 000002c1: PUSH24
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0x667927f364ecfc880c6df59127ce5710678e6ed5e9d547de7ce2036c6a5116cd
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 36,
"trace_id": "0x667927f364ecfc880c6df59127ce5710678e6ed5e9d547de7ce2036c6a5116cd",
"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": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc6c3bbe6",
"selector": "0xc6c3bbe6",
"calldata_variants": [
"0xc6c3bbe6",
"0xc6c3bbe60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 701,
"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 | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x5286357fc59c7374ef04255caadc8542aac75f63d0672bf326a96acf740bee7c
call_targets:
0xc2e0f31d739cb3153ba5760a203b3bd7c27f0d7a
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x5286357fc59c7374ef04255caadc8542aac75f63d0672bf326a96acf740bee7c",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xc2e0f31d739cb3153ba5760a203b3bd7c27f0d7a"
],
"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": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc6c3bbe6",
"selector": "0xc6c3bbe6",
"calldata_variants": [
"0xc6c3bbe6",
"0xc6c3bbe60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 435,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 1,
"guards_detected": [],
"untrusted_call_count": 1
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x5286357fc59c7374ef04255caadc8542aac75f63d0672bf326a96acf740bee7c
call_targets:
0xc2e0f31d739cb3153ba5760a203b3bd7c27f0d7a
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x5286357fc59c7374ef04255caadc8542aac75f63d0672bf326a96acf740bee7c",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xc2e0f31d739cb3153ba5760a203b3bd7c27f0d7a"
],
"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": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc6c3bbe6",
"selector": "0xc6c3bbe6",
"calldata_variants": [
"0xc6c3bbe6",
"0xc6c3bbe60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 435,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 1,
"guards_detected": []
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 1
}
|