Versioned Codex instruction deployment with preview, ownership manifests, hook isolation, scenario evaluation, and recovery.
This report summarizes scanner evidence for Jia-Ethan/codex-keysmith, a Python project with 4,727 GitHub stars. SynthScan examined 78,237 lines of code across 246 source files, recording 1294 pattern matches distributed across 10 syntactic categories. The legacy adjusted pattern signal is 15.2 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 1187 finding(s).
Are imports declared and package/API names verified? 23 finding(s).
Are wrappers, guards, and repeated structures necessary? 1166 finding(s).
Which changes need focused human review? 1294 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 1294 distinct pattern matches across 10 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | codex-instruct.py | 5035 | def _register_scenario_bundle_cleanup() -> None: | CODE |
| LOW⚡ | codex-instruct.py | 5043 | def _cleanup_scenario_bundle_tempdirs() -> None: | CODE |
| LOW⚡ | codex-instruct.py | 5053 | def _scenario_require_absolute_file(value: str, label: str) -> Path: | CODE |
| LOW⚡ | codex-instruct.py | 8909 | def _atomic_rename_no_replace(source: Path, destination: Path) -> bool: | CODE |
| LOW⚡ | codex-instruct.py | 8914 | def _secure_verified_transaction_claim( | CODE |
| LOW⚡ | codex-instruct.py | 8924 | def _verify_atomic_rename_support(codex_dir: Path) -> None: | CODE |
| LOW⚡ | codex-instruct.py | 9009 | def _cleanup_transaction_dir_after_error(transaction_dir: Path) -> None: | CODE |
| LOW⚡ | codex-instruct.py | 9016 | def _strict_cleanup_transaction_dir(transaction_dir: Path) -> None: | CODE |
| LOW⚡ | codex-instruct.py | 9027 | def _run_cleanup_preserving_primary( | CODE |
| LOW | codex-instruct.py | 1215 | def _print_windows_fresh_deployment_beta_warning() -> None: | CODE |
| LOW | codex-instruct.py | 1252 | def _residue_authorization_digest( | CODE |
| LOW | codex-instruct.py | 1308 | def _make_registered_transaction_dir( | CODE |
| LOW | codex-instruct.py | 1541 | def _resolve_candidate_directory(candidate: Path) -> Optional[Path]: | CODE |
| LOW | codex-instruct.py | 1604 | def _status_candidate_has_evidence(codex_root: Path) -> bool: | CODE |
| LOW | codex-instruct.py | 1657 | def _open_exclusive_private_file(path: Path) -> int: | CODE |
| LOW | codex-instruct.py | 1662 | def _timestamped_backup_candidate(path: Path, timestamp: str, attempt: int) -> Path: | CODE |
| LOW | codex-instruct.py | 1737 | def _preview_unique_backup_path(path: Path, timestamp: str) -> Path: | CODE |
| LOW | codex-instruct.py | 1823 | def apply_private_file_security(self, descriptor: int) -> None: | CODE |
| LOW | codex-instruct.py | 1826 | def apply_private_path_security( | CODE |
| LOW | codex-instruct.py | 1844 | def verify_recovery_directory_security(self, path: Path) -> None: | CODE |
| LOW | codex-instruct.py | 1847 | def read_verified_recovery_directory( | CODE |
| LOW | codex-instruct.py | 1861 | def open_verified_empty_private_directory( | CODE |
| LOW | codex-instruct.py | 1885 | def open_verified_owned_directory( | CODE |
| LOW | codex-instruct.py | 1967 | def _validate_expected_fingerprint( | CODE |
| LOW | codex-instruct.py | 2064 | def remove_verified_directory(self, access: _OwnedDirectoryAccess) -> None: | CODE |
| LOW | codex-instruct.py | 2567 | def _handle_matches_portable_identity( | CODE |
| LOW | codex-instruct.py | 2619 | def _open_directory_components(self, path: Path) -> Tuple[Path, List[int]]: | CODE |
| LOW | codex-instruct.py | 2742 | def _build_private_security_descriptor(self) -> int: | CODE |
| LOW | codex-instruct.py | 2868 | def apply_private_file_security(self, descriptor: int) -> None: | CODE |
| LOW | codex-instruct.py | 2877 | def apply_private_path_security( | CODE |
| LOW | codex-instruct.py | 3072 | def _recovery_acl_principals_allowed( | CODE |
| LOW | codex-instruct.py | 3095 | def _verify_handle_private_security(self, handle: int, path: Path) -> None: | CODE |
| LOW | codex-instruct.py | 3106 | def _verify_handle_recovery_security(self, handle: int, path: Path) -> None: | CODE |
| LOW | codex-instruct.py | 3132 | def verify_recovery_directory_security(self, path: Path) -> None: | CODE |
| LOW | codex-instruct.py | 3135 | def read_verified_recovery_directory( | CODE |
| LOW | codex-instruct.py | 3249 | def open_verified_owned_directory( | CODE |
| LOW | codex-instruct.py | 3309 | def open_verified_empty_private_directory( | CODE |
| LOW | codex-instruct.py | 3506 | def remove_verified_directory(self, access: _OwnedDirectoryAccess) -> None: | CODE |
| LOW | codex-instruct.py | 3639 | def _normalize_operation_directories(paths: List[str]) -> List[_OperationDirectory]: | CODE |
| LOW | codex-instruct.py | 3835 | def _open_verified_owned_directory( | CODE |
| LOW | codex-instruct.py | 3850 | def _safe_remove_owned_directory( | CODE |
| LOW | codex-instruct.py | 3985 | def _reference_targets_legacy(reference: Optional[str]) -> bool: | CODE |
| LOW | codex-instruct.py | 4190 | def _path_has_directory_identity(path: Path, identity: FileIdentity) -> bool: | CODE |
| LOW | codex-instruct.py | 4231 | def _fingerprint_regular_file(path: Path) -> FileFingerprint: | CODE |
| LOW | codex-instruct.py | 4239 | def _read_regular_bytes_with_fingerprint( | CODE |
| LOW | codex-instruct.py | 4282 | def _read_regular_text_with_fingerprint( | CODE |
| LOW | codex-instruct.py | 4324 | def _fingerprint_has_same_content( | CODE |
| LOW | codex-instruct.py | 4428 | def _scenario_identity_from_json(value: Any, label: str) -> FileIdentity: | CODE |
| LOW | codex-instruct.py | 4449 | def _scenario_require_absolute_directory(value: str, label: str) -> Path: | CODE |
| LOW | codex-instruct.py | 4611 | def _scenario_package_matches( | CODE |
| LOW | codex-instruct.py | 4632 | def _scenario_python_version_matches(specification: str) -> bool: | CODE |
| LOW | codex-instruct.py | 4646 | def _scenario_parse_version_tuple(value: str) -> Tuple[int, ...]: | CODE |
| LOW | codex-instruct.py | 4653 | def _scenario_compare_versions(left: Tuple[int, ...], right: Tuple[int, ...]) -> int: | CODE |
| LOW | codex-instruct.py | 4664 | def _scenario_parse_version_constraint( | CODE |
| LOW | codex-instruct.py | 4680 | def _scenario_version_satisfies(version: str, specification: str) -> bool: | CODE |
| LOW | codex-instruct.py | 4697 | def _scenario_extract_version(text: str) -> Optional[str]: | CODE |
| LOW | codex-instruct.py | 4702 | def _scenario_python_probe_executable() -> str: | CODE |
| LOW | codex-instruct.py | 4729 | def _scenario_probe_environment(requirement: Dict[str, Any]) -> Optional[Dict[str, str]]: | CODE |
| LOW | codex-instruct.py | 4759 | def _scenario_probe_requirement(requirement: Dict[str, Any]) -> Optional[str]: | CODE |
| LOW | codex-instruct.py | 4838 | def _scenario_requires_summary(package: "ScenarioPackage") -> str: | CODE |
| 1022 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | codex-instruct.py | 6748 | except HooksConflict: | CODE |
| HIGH | codex-instruct.py | 16807 | except OSError: | CODE |
| HIGH | codex-instruct.py | 1106 | except (OSError, ValueError): | CODE |
| HIGH | codex-instruct.py | 5049 | except OSError: | CODE |
| HIGH | codex-instruct.py | 1426 | except OSError: | CODE |
| HIGH | codex-instruct.py | 5758 | except OSError: | CODE |
| HIGH | codex-instruct.py | 5795 | except OSError: | CODE |
| HIGH | codex-instruct.py | 8258 | except OSError: | CODE |
| HIGH | codex-instruct.py | 8275 | except OSError: | CODE |
| HIGH | codex-instruct.py | 8299 | except OSError: | CODE |
| HIGH | codex-instruct.py | 8956 | except OSError: | CODE |
| HIGH | codex-instruct.py | 9205 | except OSError: | CODE |
| HIGH | codex-instruct.py | 9813 | except OSError: | CODE |
| HIGH | codex-instruct.py | 13911 | except OSError: | CODE |
| HIGH | codex-instruct.py | 9097 | except OSError: | CODE |
| HIGH | codex-instruct.py | 10751 | except OSError: | CODE |
| HIGH | codex-instruct.py | 1720 | except OSError: | CODE |
| HIGH | codex-instruct.py | 7538 | except OSError: | CODE |
| HIGH | codex-instruct.py | 7546 | except OSError: | CODE |
| HIGH | breaktest-results/nsfw-v051/probe.py | 104 | except FileNotFoundError: | CODE |
| HIGH | tests/test_codex_instruct.py | 40 | except ValueError: | CODE |
| HIGH | scripts/build_release.py | 842 | except ValueError: | CODE |
| HIGH | scripts/ks-envelope-deploy.py | 532 | except OSError: | CODE |
| HIGH | scripts/ks-envelope-deploy.py | 536 | except OSError: | CODE |
| HIGH | scripts/ks-envelope-deploy.py | 572 | except OSError: | CODE |
| HIGH | scripts/ks-envelope-deploy.py | 390 | except (OSError, ValueError): | CODE |
| HIGH | scripts/ks-envelope-deploy.py | 507 | except Exception: | CODE |
| HIGH | scripts/ks-envelope-deploy.py | 676 | except OSError: | CODE |
| HIGH | scripts/ks-envelope.py | 1937 | except KeyboardInterrupt: | CODE |
| HIGH | scripts/ks-envelope.py | 1721 | except (BrokenPipeError, ConnectionResetError): | CODE |
| HIGH | scripts/run_scenario_bank.py | 604 | except (OSError, subprocess.TimeoutExpired): | CODE |
| HIGH | scripts/run_scenario_bank.py | 232 | except RuntimeError: | CODE |
| HIGH | scripts/run_scenario_bank.py | 527 | except OSError: | CODE |
| HIGH | scripts/run_scenario_bank.py | 539 | except (OSError, subprocess.TimeoutExpired): | CODE |
| HIGH | scripts/run_scenario_bank.py | 544 | except ProcessLookupError: | CODE |
| HIGH | scripts/run_scenario_bank.py | 552 | except OSError: | CODE |
| HIGH | scripts/run_scenario_bank.py | 578 | except OSError: | CODE |
| HIGH | scripts/run_scenario_bank.py | 600 | except OSError: | CODE |
| HIGH | scripts/run_scenario_bank.py | 734 | except (KeyError, OSError): | CODE |
| HIGH | scripts/run_scenario_bank.py | 559 | except OSError: | CODE |
| HIGH | scripts/run_scenario_bank.py | 929 | except OSError: | CODE |
| HIGH | scripts/run_scenario_bank.py | 1652 | except BaseException: | CODE |
| HIGH | scripts/run_prompt_bank_regression.py | 777 | except (KeyError, OSError): | CODE |
| HIGH | scripts/run_prompt_bank_regression.py | 991 | except OSError: | CODE |
| HIGH | scripts/run_prompt_bank_regression.py | 1151 | except OSError: | CODE |
| HIGH | scripts/run_prompt_bank_regression.py | 1182 | except FileNotFoundError: | CODE |
| HIGH | scripts/run_prompt_bank_regression.py | 1184 | except (OSError, RuntimeError): | CODE |
| HIGH | scripts/run_prompt_bank_regression.py | 1135 | except OSError: | CODE |
| HIGH | scripts/run_prompt_bank_regression.py | 1321 | except FileNotFoundError: | CODE |
| HIGH | scripts/run_cybergym.py | 228 | except FileNotFoundError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | codex-instruct.py | 1369 | CODE | |
| LOW | codex-instruct.py | 1667 | CODE | |
| LOW | codex-instruct.py | 3806 | CODE | |
| LOW | codex-instruct.py | 3992 | CODE | |
| LOW | codex-instruct.py | 4532 | CODE | |
| LOW | codex-instruct.py | 5323 | CODE | |
| LOW | codex-instruct.py | 6315 | CODE | |
| LOW | codex-instruct.py | 6647 | CODE | |
| LOW | codex-instruct.py | 7082 | CODE | |
| LOW | codex-instruct.py | 7320 | CODE | |
| LOW | codex-instruct.py | 7593 | CODE | |
| LOW | codex-instruct.py | 7738 | CODE | |
| LOW | codex-instruct.py | 7920 | CODE | |
| LOW | codex-instruct.py | 7989 | CODE | |
| LOW | codex-instruct.py | 8112 | CODE | |
| LOW | codex-instruct.py | 8377 | CODE | |
| LOW | codex-instruct.py | 8537 | CODE | |
| LOW | codex-instruct.py | 8588 | CODE | |
| LOW | codex-instruct.py | 9211 | CODE | |
| LOW | codex-instruct.py | 9414 | CODE | |
| LOW | codex-instruct.py | 9593 | CODE | |
| LOW | codex-instruct.py | 9676 | CODE | |
| LOW | codex-instruct.py | 9819 | CODE | |
| LOW | codex-instruct.py | 9934 | CODE | |
| LOW | codex-instruct.py | 10132 | CODE | |
| LOW | codex-instruct.py | 10564 | CODE | |
| LOW | codex-instruct.py | 11027 | CODE | |
| LOW | codex-instruct.py | 11163 | CODE | |
| LOW | codex-instruct.py | 11442 | CODE | |
| LOW | codex-instruct.py | 11750 | CODE | |
| LOW | codex-instruct.py | 12243 | CODE | |
| LOW | codex-instruct.py | 12399 | CODE | |
| LOW | codex-instruct.py | 12422 | CODE | |
| LOW | codex-instruct.py | 12475 | CODE | |
| LOW | codex-instruct.py | 12678 | CODE | |
| LOW | codex-instruct.py | 12913 | CODE | |
| LOW | codex-instruct.py | 13593 | CODE | |
| LOW | codex-instruct.py | 13917 | CODE | |
| LOW | codex-instruct.py | 14113 | CODE | |
| LOW | codex-instruct.py | 14207 | CODE | |
| LOW | codex-instruct.py | 14869 | CODE | |
| LOW | codex-instruct.py | 14939 | CODE | |
| LOW | codex-instruct.py | 14965 | CODE | |
| LOW | codex-instruct.py | 15091 | CODE | |
| LOW | codex-instruct.py | 15222 | CODE | |
| LOW | codex-instruct.py | 15542 | CODE | |
| LOW | codex-instruct.py | 15846 | CODE | |
| LOW | codex-instruct.py | 16434 | CODE | |
| LOW | codex-instruct.py | 17159 | CODE | |
| LOW | codex-instruct.py | 1885 | CODE | |
| LOW | codex-instruct.py | 3135 | CODE | |
| LOW | codex-instruct.py | 9542 | CODE | |
| LOW | codex-instruct.py | 9635 | CODE | |
| LOW | codex-instruct.py | 9979 | CODE | |
| LOW | breaktest-results/nsfw-v051/probe.py | 57 | CODE | |
| LOW | tests/test_codex_instruct.py | 911 | CODE | |
| LOW | tests/test_scenario_integrity.py | 330 | CODE | |
| LOW | tests/test_platform_and_discovery.py | 365 | CODE | |
| LOW | tests/test_release_artifacts.py | 183 | CODE | |
| LOW | tests/test_scenario_recovery.py | 36 | CODE | |
| 31 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | codex-instruct.py | 53 | # ─── 内置 GPT 破限指令内容 ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | codex-instruct.py | 4360 | # ─── Target-local scenario deployment ─────────────────────────────────────── | COMMENT |
| MEDIUM | codex-instruct.py | 16509 | # ─── Channel B: fixture workspace scaffold ────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/test_ks_envelope_tools.py | 37 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_ks_envelope_tools.py | 39 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_ks_envelope_tools.py | 234 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_ks_envelope_tools.py | 236 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_ks_envelope_tools.py | 300 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_ks_envelope_tools.py | 302 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gui/src/lib/parser.js | 782 | // ── 内部工具 ─────────────────────────────── | COMMENT |
| MEDIUM | gui/src/views/Deploy.jsx | 258 | // ── 步骤 1:选择内容 ───────────────────────── | COMMENT |
| MEDIUM | gui/src/views/Deploy.jsx | 400 | // ── 步骤 2:预览(门禁在这里执行)───────────── | COMMENT |
| MEDIUM | gui/src/views/Deploy.jsx | 534 | // ── 步骤 3:确认执行 ────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | codex-instruct.py | 16509 | # ─── Channel B: fixture workspace scaffold ────────────────────────────────── | COMMENT |
| MEDIUM⚡ | breaktest-results/toolregression-v070/r2-1.json | 1 | {"model":"gpt-5.6-sol","input":[{"type":"additional_tools","role":"developer","tools":[{"type":"custom","name":"exec","d | CODE |
| MEDIUM⚡ | breaktest-results/toolregression-v070/r2-1.json | 1 | {"model":"gpt-5.6-sol","input":[{"type":"additional_tools","role":"developer","tools":[{"type":"custom","name":"exec","d | CODE |
| MEDIUM⚡ | breaktest-results/toolregression-v070/r2-1.json | 1 | {"model":"gpt-5.6-sol","input":[{"type":"additional_tools","role":"developer","tools":[{"type":"custom","name":"exec","d | CODE |
| MEDIUM⚡ | breaktest-results/toolregression-v070/raw-1.json | 1 | {"model":"gpt-5.6-sol","input":[{"type":"additional_tools","role":"developer","tools":[{"type":"custom","name":"exec","d | CODE |
| MEDIUM⚡ | breaktest-results/toolregression-v070/raw-1.json | 1 | {"model":"gpt-5.6-sol","input":[{"type":"additional_tools","role":"developer","tools":[{"type":"custom","name":"exec","d | CODE |
| MEDIUM⚡ | breaktest-results/toolregression-v070/raw-1.json | 1 | {"model":"gpt-5.6-sol","input":[{"type":"additional_tools","role":"developer","tools":[{"type":"custom","name":"exec","d | CODE |
| MEDIUM⚡ | breaktest-results/toolregression-v070/r2-2.json | 1 | {"model":"gpt-5.6-sol","input":[{"type":"additional_tools","role":"developer","tools":[{"type":"custom","name":"exec","d | CODE |
| MEDIUM⚡ | breaktest-results/toolregression-v070/r2-2.json | 1 | {"model":"gpt-5.6-sol","input":[{"type":"additional_tools","role":"developer","tools":[{"type":"custom","name":"exec","d | CODE |
| MEDIUM⚡ | breaktest-results/toolregression-v070/r2-2.json | 1 | {"model":"gpt-5.6-sol","input":[{"type":"additional_tools","role":"developer","tools":[{"type":"custom","name":"exec","d | CODE |
| MEDIUM | scripts/ks-envelope.py | 746 | # 4096 floor truncated agentic sessions mid-tool-call on this gateway | COMMENT |
| MEDIUM | scripts/run_prompt_bank_regression.py | 1328 | # Raw HTTP arm: same prompt and case, no codex scaffold. | COMMENT |
| MEDIUM | gui/SPEC.md | 19 | | 本轮交付 | **指令层 M1–M5 + 场景库 + overlay-only GUI** | 部署页内置稿固定 overlay(#76);夹具页只调用 CLI scaffold;sidecar 内嵌 `fixture_packs/`; | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | tests/test_release_artifacts.py | 1301 | assert workflow.count("ref: ${{ inputs.source_ref || github.sha }}") == 3 | CODE |
| HIGH⚡ | tests/test_release_artifacts.py | 1303 | assert "EXPECTED_COMMIT: ${{ inputs.expected_commit || github.sha }}" in workflow | CODE |
| HIGH | tests/test_desktop_candidate.py | 74 | [Environment]::SetEnvironmentVariable("CODEX_HOME", $null, "Process") | CODE |
| HIGH | scripts/validate_desktop_candidate.py | 304 | "cleared CODEX_HOME": r'^\s*\[Environment\]::SetEnvironmentVariable\("CODEX_HOME", \$null, "Process"\)$', | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | breaktest-results/nsfw-v051/probe.py | 8 | CODE | |
| LOW | breaktest-results/nsfw-v051/probe.py | 8 | CODE | |
| LOW | fixture_packs/compchem_cantera/src/validator.py | 3 | CODE | |
| LOW | fixture_packs/compchem_cantera/src/task.py | 3 | CODE | |
| LOW | fixture_packs/compchem_cantera/src/task.py | 17 | CODE | |
| LOW | fixture_packs/aiml_llamaguard/tests/test_complete.py | 13 | CODE | |
| LOW | fixture_packs/aiml_llamaguard/src/validator.py | 3 | CODE | |
| LOW | fixture_packs/aiml_llamaguard/src/task.py | 3 | CODE | |
| LOW | fixture_packs/aiml_llamaguard/src/task.py | 25 | CODE | |
| LOW | fixture_packs/aiml_llamaguard/src/task.py | 26 | CODE | |
| LOW | fixture_packs/cyber_pwntools/src/task.py | 3 | CODE | |
| LOW | fixture_packs/cyber_pwntools/src/task.py | 22 | CODE | |
| LOW | tests/test_desktop_prerelease.py | 1 | CODE | |
| LOW | scripts/validate_desktop_candidate.py | 4 | CODE | |
| LOW | scripts/package_desktop_prerelease.py | 4 | CODE | |
| LOW | scripts/ks-envelope-deploy.py | 29 | CODE | |
| LOW | scripts/ks-envelope.py | 24 | CODE | |
| LOW | scripts/bump_version.py | 4 | CODE | |
| LOW | scripts/run_cybergym.py | 34 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | codex-instruct.py | 9012 | except Exception as exc: | CODE |
| LOW⚡ | codex-instruct.py | 9020 | except Exception as exc: | CODE |
| LOW | codex-instruct.py | 15842 | except Exception: | CODE |
| MEDIUM | tests/test_ks_envelope.py | 1478 | def worker(index): | CODE |
| MEDIUM | tests/test_ks_envelope.py | 1532 | def leader(): | CODE |
| LOW | tests/test_ks_envelope.py | 1481 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | tests/test_ks_envelope.py | 1535 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | tests/test_ks_envelope.py | 1549 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | scripts/package_desktop_prerelease.py | 348 | except Exception: | CODE |
| LOW | scripts/ks-envelope-deploy.py | 309 | except Exception: | CODE |
| LOW | scripts/ks-envelope-deploy.py | 507 | except Exception: | CODE |
| LOW | scripts/ks-envelope.py | 1845 | except Exception: | CODE |
| LOW | scripts/ks-envelope.py | 1882 | except Exception as exc: # pragma: no cover - defensive | CODE |
| LOW | scripts/run_scenario_bank.py | 1861 | except Exception as exc: | CODE |
| LOW | scripts/run_prompt_bank_regression.py | 1259 | except Exception: | CODE |
| LOW | scripts/run_prompt_bank_regression.py | 1538 | except Exception as exc: | CODE |
| LOW | scripts/run_cybergym.py | 244 | except Exception as exc: # noqa: BLE001 - verification is best-effort | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/test_bump_version.py | 73 | "# This file is automatically @generated by Cargo.\n" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | codex-instruct.py | 1869 | def set_file_times(self, path: Path, atime_ns: int, mtime_ns: int) -> None: | CODE |
| LOW | codex-instruct.py | 3209 | def set_file_times(self, path: Path, atime_ns: int, mtime_ns: int) -> None: | CODE |
| LOW | codex-instruct.py | 13961 | def _update_uninstall_phase(state: UninstallState, phase: str) -> None: | CODE |
| LOW | codex-instruct.py | 1093 | def _set_output_language(value: str) -> None: | STRING |