OpenAI shipped Codex Security.
HN noticed before the formal thread. The CLI is real. The skill pack is real. The install is still an afternoon if you are on the wrong Node, the wrong PATH, and the wrong plugin tree.
This page is the version that does not make you pay that afternoon.
What "OpenAI Codex Security" means here
Not a synonym for "ask Codex if this file looks bad."
OpenAI Codex Security is the open-source package (github.com/openai/codex-security, npm @openai/codex-security) plus the bundled workflows for:
- repository and diff scans
- finding history across runs
- export (SARIF / CSV / JSON)
- CI-friendly noninteractive auth
OpenAI also documents a GitHub-connected Codex Security product for teams that enable repos in their cloud flow. That is a sibling story. This post is about the CLI + skills on a box you fork.
The install tax is the product problem
Requires Node ≥ 22. Python on the side. Login or API key. Plugin materialization so relative skill paths still resolve. PATH that survives a reboot.
Do that once on a laptop and you will do it again on the next machine.
jurniti's template freezes the good state on a managed Codex microVM:
| You get | Why it matters |
|---|---|
Local pin @openai/codex-security@0.1.1 | Reproducible CLI under ~/.codex/skills/codex-security-cli/ |
| Wrapper | ~/.codex/skills/codex-security-cli/codex-security.sh (fork-surviving) |
| Bundled skill pack | scan, diff-scan, deep scan, threat model, triage, fix, write-up… |
| Prompts | /security-scan, /security-diff-scan, /codex-security |
| Sample app | Intentional-naive target for dry-run before real repos |
You bring the OpenAI credentials. You own the box. You own the merge button.
Undeniable demo (copy-paste)
After fork:
# skills-tree wrapper survives capture; also try ~/.local/bin if present
export PATH="$HOME/.local/bin:$PATH"
~/.codex/skills/codex-security-cli/codex-security.sh --help
# Your credentials only — never bake them into the template
# export OPENAI_API_KEY=…
# or: codex-security login --device-auth
~/.codex/skills/codex-security-cli/codex-security.sh \
scan ~/.codex/skills/codex-security/samples/tiny-app --dry-run
~/.codex/skills/codex-security-cli/codex-security.sh \
scan /path/to/your/repo --max-cost 5 --output-dir ~/scans/demo
When dryRun: true and preflight complete, the toolchain is real. Then spend model budget on a repo you own.
That is a codex security scan that produces operator-grade artifacts — not a vibes review in a chat window.
Hard rules (read these or skip the fork)
AppSec tools die when they ship noise and then ship "fixes."
This template assumes:
- Dry-run first when cost is unclear
- Keep
--max-coston exploratory work - Verify every finding in source before issues or PR comments
- Never auto-merge and never open public advisories from the agent alone
- Keep outputs under
~/scans/— outside the target repository
If you want lights-out remediation without reading code, leave. If you want OpenAI's scanner on a seat you control, stay.
BYOK, money-back, no free trial
Model and scan spend is your OpenAI bill.
jurniti does not free-trial microVMs. Forking is paid. First purchase includes a 30-day money-back guarantee. Expansion (second VM, upgrade, paid Templates plan) voids the guarantee account-wide — that is the abuse floor, not a trick.
No free tier. No "try the scanner on our shared box."
Fit / not fit
Fork this if you want OpenAI's Codex Security CLI and skill pack ready on day one on a Codex agent microVM.
Skip this if you only need GitHub-connected cloud Codex Security with no terminal, or you want Block CodeCrucible on Claude Code (different template: AI vulnerability scanner / CodeCrucible).
Lineage
- Upstream: openai/codex-security (Apache-2.0)
- NPM: @openai/codex-security
- Docs: Codex Security CLI
- Announce: OpenAI on X
Not affiliated with OpenAI — a managed microVM packaging of their open-source tool.