threat-model

Use when Codex is already in the threat-modeling phase of a security scan, the user explicitly invokes $threat-model, or the user explicitly asks to create,…

npx skills add https://github.com/openai/codex-security --skill threat-model

Security Threat Model

Objective

Establish the repository-scoped threat model at the path defined in ../../references/scan-artifacts.md. Reuse a cached model only when its final Repository and Version lines match the current target.

AGENTS.md or resolved SECURITY.md guidance can be that authoritative source when it is sufficiently specific about the repository's product surfaces, trust boundaries, attacker-controlled inputs, assumptions, or security scan guidance to serve as the threat model.

If no threat model is provided, generate a repository-scoped threat model to be used in future bug discovery. The threat model should holistically cover the entire repository and should make it obvious:

  • what assets or privileges matter
  • what trust boundaries exist
  • what inputs are attacker-controlled
  • what invariants the code must preserve
  • what repository-wide failure modes would matter most

Artifact Resolution

The path references in this skill are the default locations for this phase. If the user explicitly provides a different path for a required input or output, use the user-provided path instead of the corresponding default path referenced in this skill. If a required input is still missing, stop and ask the user for it before continuing. Use the shared scan artifact path conventions in ../../references/scan-artifacts.md.

Standard scans and Deep Scan workers build their threat models within their ordinary Standard scan workflow; neither invokes this separate phase skill.

Workflow

  1. Resolve target_id, the current version (revision for an immutable Git tree, snapshot digest otherwise), and the repository-scoped threat model path using ../../references/scan-artifacts.md.
  2. If the repository-scoped threat model exists, reuse it only when its final Repository and Version lines match those current values. Otherwise regenerate it.
  3. Before inspecting repository source or generating a threat model, read ../../references/security-guidance.md and the policy resolved for the scan target. Resolve it first if the coordinator did not supply it.
  4. If a threat model or authoritative security scan guidance is provided or referenced:
    • preserve it unchanged as the threat model body
    • treat that body as the only threat model source of truth
    • do not expand, summarize, or reinterpret the body
    • AGENTS.md is acceptable here when it is clearly being used as the security scan guidance or threat model source for this scan and is sufficiently repository-specific to stand in for a threat model
  5. Otherwise, generate a repository-scoped threat model using the checklist below.
  6. Before finalizing this phase, sanity-check that:
    • the threat model is repository-scoped rather than being centered around any specific scan target
    • it describes repository-wide primary product or runtime surfaces and trust boundaries before covering any narrower examples
    • any vulnerability-class discussion is about repository-context classes, not findings about any current diff
  7. Append the exact Repository and Version lines from ../../references/scan-artifacts.md and write the threat model to the repository-scoped path.

Threat Model Generation Guidance

Generate and structure the threat model using references/threat-model-guidance.md.

Hard Rules

  • A provided threat model or authoritative security scan guidance is authoritative. Keep its body unchanged and append only the required cache footer.
  • Threat model generation must stay at repository scope unless the user explicitly asks for narrower scope.
  • Do not turn this phase into findings about any current diff.
  • Do not let the current scan target, touched subsystem, or changed directories become the center of gravity for this phase unless the user explicitly asks for that narrower scope.
  • In large monorepos, avoid centering personal/, test/, tests/, docs/, examples/, or one-off developer tooling unless repository evidence shows those are real deployed or privileged workflow surfaces.
  • Call out trust boundaries and assumptions explicitly.
  • Keep references to vulnerability types at the level of repository-context classes, rather than any diff findings.
  • Persist the threat model output to the repository-scoped threat model path from ../../references/scan-artifacts.md.

More skills from openai

user-context
openai
Load or manage the Data Analytics plugin's durable source-routing preferences, onboarding logic, setup progress, and semantic-layer registry.
official
notion-research-documentation
openai
Research Notion content and synthesize into structured briefs, reports, or comparisons with citations. Search and fetch Notion pages using targeted queries, then organize findings by theme with inline source citations and a references section Choose from four output formats (quick brief, research summary, comparison, comprehensive report) based on scope and user goal Create and update Notion pages using built-in templates; link sources directly and track changes as new information arrives...
official
rcsb-pdb-skill
openai
Submit compact RCSB PDB requests for core metadata, Search API queries, and FASTA downloads. Use when a user wants concise RCSB summaries; save raw JSON or…
official
pdf
openai
PDF reading, creation, and validation with visual rendering and programmatic generation. Render PDF pages to PNG for visual inspection of layout, spacing, and typography before delivery using Poppler ( pdftoppm ) Generate PDFs programmatically with reportlab for reliable formatting; extract text and metadata with pdfplumber or pypdf Enforce quality standards: no clipped text, overlapping elements, broken tables, or rendering artifacts; ASCII hyphens only, human-readable citations Use...
official
test-coverage-improver
openai
Improve test coverage in the OpenAI Agents JS monorepo: run `pnpm test:coverage`, inspect coverage artifacts, identify low-coverage files and branches, propose…
official
playwright
openai
Terminal-driven browser automation with element snapshots and interactive UI workflows. Operates via playwright-cli wrapper script (requires npx ); supports headless and headed modes for visual debugging Core workflow: open page, snapshot for stable element references, interact using refs, re-snapshot after navigation or DOM changes Includes form filling, clicking, typing, multi-tab management, screenshot/PDF capture, and trace recording for flow debugging Element refs (e.g., e3 , e15 )...
official
ukb-topmed-phewas-skill
openai
Fetch compact UKB-TOPMed PheWAS summaries for single variants by accepting rsID, GRCh37, or GRCh38 input and resolving to the required GRCh38 query. Use when a…
official
code-review-context
openai
Model visible context
official