openai / openai/codex-security

Deep Security Scan fails terminally when its discovery triggers cyber safety

Open
#276 1 comment 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area:auth area:cost area:reports bug priority:p1
Dominant language
TypeScript
Stars
10.8k
Forks
801
Avg merge
1d 8h
Merged PRs (30d)
257

Description

Component
  • Codex Security plugin: Deep Security Scan
  • Plugin version when observed: 0.1.15 (the local installation has since updated to 0.1.16)
  • Workflow: deep-scan-mcp/v1; coordinator manifest schema: 1
  • ChatGPT/Codex desktop: 26.727.51351
  • Codex CLI: 0.146.0
  • macOS: 26.5.2
  • Model: gpt-5.6-sol, reasoning effort xhigh
Summary

A Deep Security Scan launched from the Codex desktop app against an authorized local repository passed the plugin's capability preflight and spent an extended period in repeated discovery. The first-party discovery coordinator then terminated the entire durable scan because its own security-analysis content triggered the cyber-safety classifier.

This appears to be a coordination/preflight bug between the Codex Security plugin and the cyber-safety entitlement/classification layer. Even if Trusted Access for Cyber is required for this scan, that requirement should be detected before discovery starts. A worker-level classifier refusal should also be recoverable or recorded as incomplete coverage instead of causing a terminal failure after substantial work.

Steps to reproduce
  1. Install/enable the Codex Security plugin.
  2. From the Codex desktop app, launch a whole-repository Deep Security Scan for a legitimate local codebase.
  3. Complete setup and allow the plugin's capability preflight to pass.
  4. Allow repeated discovery to run.
  5. Observe the coordinator terminate the scan with the message below.
Actual result

The scan changes to terminal failed status during discovery. The coordinator returns no successful discovery manifestPath, no canonical report is generated, and the failed logical scan cannot be resumed in place.

Exact error:

This content was flagged for possible cybersecurity risk. If this seems wrong, try rephrasing your request. To get authorized for security work, join the Trusted Access for Cyber program: https://chatgpt.com/cyber

Expected result

One of the following should happen:

  1. The setup/preflight detects the missing entitlement and prevents the scan from starting, with a clear action to obtain access; or
  2. The coordinator handles a worker-level classifier refusal without terminally losing the entire scan, preserving completed discovery and allowing a retry or explicit incomplete-coverage result.
Privacy

No repository name/path, source code, scan ID, continuation token, or local artifact path is included here. I can submit the affected Codex session and sanitized diagnostics privately through in-product feedback if maintainers need correlation data.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the Deep Security Scan coordinator at deep-scan-mcp/v1, including capability preflight, discovery, and manifestPath handling. Reproduce the classifier refusal with sanitized diagnostics, then verify that missing entitlement is caught before discovery or that completed discovery can be retried or reported as incomplete without terminal failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
nodejs, typescript
Domain
cli, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.