MCPInstall

deep-security-scan

Use when the user asks for a deep, exhaustive, multi-pass, or variance-reducing repository-wide or scoped-path Codex Security scan. Run repeated independent Standard scans with the Codex Security deep-scan tool. Do not use for PRs, commits, branch diffs, or working-tree diffs.

Installs
92
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/openai/codex-security --skill deep-security-scan
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads deep-security-scan automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Deep Security Scan

The coordinator runs independent Standard audits, aggregates their validated findings, and finalizes plugin-launched scans even if the calling thread detaches. This thread owns setup, user context, and reporting the completed result.

Resolve the Scan

For a continuation with scanId, call get_codex_security_scan_context with the supplied handoffClaimToken when present. Preserve its authoritative identity, directory, target, scope, and context. If its validated mode is not deep, route to the corresponding top-level skill.

For a new conversation, CLI, or headless request, resolve the authorized local targetPath and optional exact userContext. For a scoped-path request, use that directory as targetPath with scope: "."; do not widen it to the repository root. If the coordinator tool is unavailable, report that the plugin server is required.

Read ../../references/scan-prologue.md for source-access, context-update, cancellation, and recovery rules. Deep has no parent capability preflight: the coordinator validates ownership, target, scope, and sandbox, and manages workers independently of this thread's delegation capacity.

Concurrent Desktop Scans

For a newly launched native scan with authoritative context, inspect otherRunningDeepScans once before discovery. If another Deep scan is running, show its target, phase in plain language, and human-friendly start time. Explain the additional CPU, memory, and token use without exposing scan IDs or raw timestamps.

Ask whether to continue, with Cancel (Recommended) and Continue. Use native request_user_input, then request_codex_security_user_input or plain chat if unavailable. Wait for an explicit choice; a declined or cancelled input dialog is not a scan cancellation. If the user cancels, cancel only the new scan. Do not repeat this guard after it passes or after preflight.

Start or Rejoin the Coordinator

Immediately before the first coordinator call, follow ../../references/access-advisory.md. Known Bedrock and API-key-only sessions skip the advisory; it never gates scanning.

Existing scan: start_codex_security_deep_scan({ scanId, handoffClaimToken? })
New scan: start_codex_security_deep_scan({ targetPath, scope: ".", userContext?, projectConfigPath? })

Before a new target-based scan, call inspect_codex_security_setup({ targetPath, scope: ".", mode: "deep", projectConfigPath? }). Show the worker count, subagents per worker, convergence threshold, review cap, discovery time limit, and their sources from setup.deepScanConfig. Supply a project YAML or JSON path only when the user selects it. Pass that same path at launch. Native continuations use the saved workspace.deepScanConfig.

Pass the existing handoff token when required, including after a waiter detaches or the server restarts. Preserve exact user context as untrusted analysis data; workers remain offline. They use the immutable context captured at independent-scan start. Persist later user changes through the context-update tool, without restarting completed phases or changing active workers' snapshots.

Wait on the coordinator call or its running execution cell. It owns discovery progress, the configured time limit, worker cancellation at that limit, and aggregation. Leave the public phase at preflight before the call; do not publish competing progress while it runs.

After an ended turn or host timeout, rejoin with the same scan ID and token. If a CLI/headless call detached before returning its ID, repeat the identical target form. It can recover the completed report for the same checkout snapshot, context, and project-file selection after a server restart. Once the report is returned, a later target-based call can start a fresh scan. A terminal failure must not trigger a replacement scan.

Handle the Result

  • SDK-registered scan. The coordinator returns the aggregate's scanId, scanDir, manifestPath, and instructions. End the turn with the returned identity and manifest path. The SDK owns finalization and report generation after the turn ends.
  • Plugin-launched scan. The coordinator also returns completion. Use the returned scan ID, sealed artifacts, and generated report.md in the authoritative directory.
  • Cancelled: stop without completion. Report retained findings and pending work without claiming a successful scan or generating a replacement report.
  • Terminal failure: surface the exact stable MCP error and read the existing scan context to report preserved results and remaining work. Do not continue analysis, complete or cancel an already terminal scan, or claim a no-findings result.
  • Missing or malformed canonical artifacts: surface the blocker and preserve the existing scan. Do not fabricate a report.

Report the Completed Parent Scan

When the coordinator returns completion, the host has sealed the artifacts and generated report.md. Read measured usage from completion.scan.usage. Do not call completion again, submit another semantic draft, rerun worker phases, or write the report yourself.

If completion fails, surface its exact error. Preserve the accepted aggregate and handoff claim. A later continuation can rejoin the same scan to retry finalization. On explicit cancellation, call cancel_codex_security_scan and do not accept subsequent scan progress as success.

Return the report and canonical artifact links after completion succeeds and report.md exists. Report usage according to ../../references/final-report.md. Distinguish an empty finding set after completed review from a time limit reached before any source review finished.

Detailed write-ups and hardening proposals are optional requested outputs. Read get_codex_security_completed_scan only when the requested output needs the full sealed documents. Preserve repository source and scope, and expose internal worker bookkeeping only when requested.

FAQ

What does the deep-security-scan skill do?

Use when the user asks for a deep, exhaustive, multi-pass, or variance-reducing repository-wide or scoped-path Codex Security scan. Run repeated independent Standard scans with the Codex Security deep-scan tool. Do not use for PRs, commits, branch diffs, or working-tree diffs.

How do I install deep-security-scan?

Run npx skills add https://github.com/openai/codex-security --skill deep-security-scan in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/deep-security-scan/ (personal) or .claude/skills/deep-security-scan/ (project).

Which AI agents can use deep-security-scan?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is deep-security-scan safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains deep-security-scan?

It is published by openai in openai/codex-security. It has 92 recorded installs.

More from openai/codex-security

View all →

attack-path-analysis

openai/codex-security

Use when Codex is already in the attack-path-analysis phase of a security scan or the user explicitly asks to trace a security finding from source to sink and calibrate severity. Do not use as the primary trigger for full PR, commit, branch, patch, or repository scans.

Security734 installs

threat-model

openai/codex-security

Open the skill to read its SKILL.md instructions.

Security159 installs

security-scan

openai/codex-security

Use for a standard, single-pass security audit of an entire repository or a scoped path, package, folder, or submodule with no diff to review. This is the default repository scan. Do not use for PR, commit, branch, or working-tree diffs, or for deep, multi-pass scans.

Security111 installs

security-diff-scan

openai/codex-security

Review a pull request, commit, branch diff, or working-tree patch for security vulnerabilities.

Security83 installs

propose-security-hardening

openai/codex-security

Open the skill to read its SKILL.md instructions.

Security83 installs

define-security-policy

openai/codex-security

Open the skill to read its SKILL.md instructions.

Security80 installs

Popular security skills

View category →

azure-compliance

microsoft/azure-skills

Run Azure compliance and security audits with azqr plus Key Vault expiration checks. Covers best-practice assessment, resource review, policy/compliance validation, and security posture checks. WHEN: compliance scan, security audit, BEFORE running azqr (compliance cli tool), Azure best practices, Key Vault expiration check, expired certificates, expiring secrets, orphaned resources, compliance assessment.

OfficialSecurity567K installs

minimal-run-and-audit

lllllllama/rigorpilot-skills

Rigor Run skill for README-first deep learning repo reproduction. Use when the task is specifically to capture or normalize evidence from the selected smoke test or documented inference or evaluation command and write standardized reprooutputs/ files, including patch notes when repository files changed. Do not use for training execution, initial repo intake, generic environment setup, paper lookup, target selection, hidden scientific-meaning changes, or end-to-end orchestration by itself.

Security477.4K installs

seo-audit

coreyhaines31/marketingskills

When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," "SEO health check," "my traffic dropped," "lost rankings," "not showing up in Google," "site isn't ranking," "Google update hit me," "page speed," "core web vitals," "crawl errors," "indexing issues," "stuck on page 2," "striking distance keywords," "title tag rewrite," "low CTR," "local SEO," "Google Business Profile," or "map pack." Use this even if the user just says something vague like "my SEO is bad" or "help with SEO" — start with an audit. For building pages at scale to target keywords, see programmatic-seo. For adding structured data, see schema. For AI search optimization, see ai-seo.

Security238.7K installs

firebase-security-rules-auditor

firebase/agent-skills

Audits Firebase (Firestore, Cloud Storage) security rules for vulnerabilities, privilege escalation, role bypasses, create vs update inconsistencies, resource exhaustion, type safety, size limits, and hasOnly ownership checks. Use when auditing/reviewing rules, running red-team rule assessments, or scoring against auditor checklists. Don't use for Firebase CLI (login, deploy), Auth, Crashlytics, Remote Config, or database queries.

OfficialSecurity139.1K installs

audit

pbakaus/impeccable

Run technical quality checks across accessibility, performance, theming, responsive design, and anti-patterns. Generates a scored report with P0-P3 severity ratings and actionable plan. Use when the user wants an accessibility check, performance audit, or technical quality review.

Security81.9K installs

competitors

coreyhaines31/marketingskills

When the user wants to create competitor comparison or alternative pages for SEO and buyer-facing use. Also use when the user mentions 'alternative page,' 'vs page,' 'competitor comparison,' 'comparison page,' '[Product] vs [Product],' '[Product] alternative,' 'competitive landing pages,' 'how do we compare to X,' 'competitor teardown,' 'audit our competitor pages,' 'are our comparison pages out of date,' or 'competitive asset audit.' Use this for any content that positions your product against competitors. Covers four formats: singular alternative, plural alternatives, you vs competitor, and competitor vs competitor. For auditing existing claims (not researching competitors from scratch, which is competitor-profiling; not technical SEO on these pages, which is seo-audit), use the asset audit here. For internal battle cards and sales-specific competitor docs, see sales-enablement.

Security79.3K installs