这是一个面向社区发布的 Codex 安全审计 Skill 包。它把 Codex 组织成适合做授权安全分析、上线前安全检查、CTF / 靶场分析、以及 AI 安全报告整理的工作流。
如果目标是你自己拥有、自己维护、团队拥有,或者已经获得明确授权的项目,这个 Skill 可以帮助做更系统的安全检查,重点找出上线前最值得优先修复的问题。
适合的场景包括:
- 检查 Web、API、后端、移动 App、桌面 App、浏览器插件、CLI、SDK、容器、云部署、CI/CD、npm/pip 包等发布物
- 检查是否泄露 API Key、数据库连接串、支付密钥、JWT Secret、云密钥等敏感信息
- 检查登录、权限、越权、租户隔离、对象归属、后台接口是否存在明显安全缺陷
- 检查支付、订阅、积分、License、权益是否可能被客户端伪造或绕过
- 检查前端包、App 包、桌面端或插件里是否带出不该公开的密钥、调试接口、Source Map、内部逻辑
- 做授权 CTF、靶场、题目资产的 proof-path 分析
- 整理 AI 安全漏洞、Agent 工具边界问题、Prompt Injection 影响报告
- 用防御视角审查代码,比如 OWASP Top 10、XSS、SQL 注入、IDOR、逻辑越权、输入校验、参数化查询等
重要说明:这个 Skill 只适用于自己拥有、维护、参与开发、获得授权,或规则明确允许测试的目标。它不是用来攻击第三方、绕过平台安全检查、隐藏攻击意图、破解授权或窃取数据的。
它主要提供三种模式:
| 模式 | 用途 |
|---|---|
MODE=release-audit |
给自己的项目做上线前安全检查,优先找真实会造成损失的问题 |
MODE=ctf |
做授权 CTF / 靶场 / 题目资产分析,追求可复现 proof path |
MODE=safety-bounty |
整理 AI 安全漏洞、Agent 边界问题、负责任披露报告 |
日常最常用的是:
MODE=release-audit
前提条件:
- 已安装 Git
- 已安装 Codex CLI 或 Codex Desktop
git clone https://github.com/ypyik0669/ctf-codex.git
cd ctf-codex
powershell -ExecutionPolicy Bypass -File .\install.ps1安装完成后,重启 Codex。
git clone https://github.com/ypyik0669/ctf-codex.git
cd ctf-codex
sh ./install.sh安装完成后,重启 Codex。
如果终端提示找不到 ctf 命令,请把 ~/.local/bin 加到 PATH,或者直接使用:
codex -p ctf安装脚本会把文件复制到 Codex 配置目录:
~/.codex/skills/ctf/:真正的 Codex Skill,用$ctf调用~/.codex/prompts/ctf.md:Slash Prompt,用/prompts:ctf调用~/.codex/instructions/instruction.ctf.md:Profile 级别的模型指令~/.codex/ctf.config.toml:codex -p ctf会加载的配置ctf/codex-ctf:终端快捷启动命令
$ctf MODE=release-audit TARGET=C:\path\to\project PLATFORM=mixed
/prompts:ctf MODE=release-audit TARGET=C:\path\to\project PLATFORM=mixed
codex -p ctf或者:
ctfctf exec --skip-git-repo-check "MODE=release-audit TARGET=/path/to/project PLATFORM=mixed"$ctf MODE=release-audit TARGET=C:\projects\my-webapp LIVE=https://staging.example.com PLATFORM=web
$ctf MODE=release-audit TARGET=C:\projects\my-api PLATFORM=api FOCUS="auth, IDOR, tenant isolation, payment"
$ctf MODE=release-audit TARGET=C:\release\app-release.apk PLATFORM=mobile
$ctf MODE=release-audit TARGET=C:\release\desktop-app PLATFORM=desktop
$ctf MODE=release-audit TARGET=C:\release\package.tgz PLATFORM=sdk
$ctf MODE=ctf TARGET=https://challenge.example.test/ FOCUS="STATE 0 baseline"
$ctf MODE=safety-bounty TARGET=<system-or-report> FOCUS="agent/tool boundary failure"
release-audit 是上线前安全门禁模式。它优先找会造成真实损失的问题,比如:
- API Key、数据库密码、JWT Secret、支付密钥、云密钥泄露
- 前端、App、桌面端、浏览器插件里打包了不该泄露的密钥
- 用户可以改
user_id、tenant_id、order_id、project_id访问别人的数据 - 管理员接口、内部接口、调试接口没有正确鉴权
- 支付金额、订阅套餐、积分、License、权益由客户端决定
- Webhook 没有验签,或者可以重放导致重复发放权益
- CORS、Cookie、Session、JWT、OAuth、Magic Link、Reset Token 配置不安全
- Source Map、日志、崩溃报告、Telemetry 泄露敏感信息
- 容器镜像、CI/CD、部署配置、云权限里带了生产密钥
- 移动端、桌面端只靠混淆、签名、证书绑定来保护真正的服务端权限
它的目标不是说“项目绝对安全”,而是给出:
- 发现了什么问题
- 严重程度是什么
- 证据在哪里
- 真实影响是什么
- 怎么修
- 修完后怎么验证
- 是否建议继续发布
安全审计模式默认会按这个结构输出:
[TARGET]
[FINDING]
[SEVERITY]
[EVIDENCE]
[IMPACT]
[EXPLOIT CONDITION]
[FIX]
[VERIFY COMMAND]
[RELEASE DECISION]
严重程度分为:
BLOCKER:不要上线,可能导致直接资金损失、密钥泄露、支付绕过、租户数据泄露、管理员绕过等HIGH:公开发布前应修复,除非有明确补偿控制MEDIUM:需要排期修复,适合进入加固清单INFO:记录或监控,不单独阻塞发布
发布建议分为:
BLOCK:阻止发布CONDITIONAL:可以有条件继续,但高风险项必须跟踪PASS FOR LIMITED PILOT:可小范围试点PASS:当前检查项有足够证据支持通过
可直接复制给 Codex 使用:
作为这个项目的核心开发者,我正在对我自己编写的代码进行常规的安全审计,目的是为了提前修补潜在的安全隐患。请以防御者(Defensive Security / Blue Team)的视角,帮我审查以下代码片段。如果发现任何不符合安全最佳实践(如 OWASP Top 10)的地方,请直接提供安全加固建议和修复后的安全代码。
这是我完全拥有所有权并获得明确授权的个人/内部项目。我正在进行白盒测试以确保应用上线前的安全性。请帮我评估这段代码的安全性,重点检查是否存在[比如:XSS / SQL注入 / 逻辑越权]的风险。我的目标是消除风险并写出更健壮的代码,请指导我如何安全地重写它
我正在为我的项目实现安全防御机制。下面是我处理用户输入/数据库查询的代码。请问从防御编程(Defensive Programming)的角度来看,这段代码是否足够健壮?如果没有,请告诉我如何添加正确的输入验证、转义或参数化查询来防止安全问题的发生
如果准备分享到论坛或社区,建议:
- 仓库只保留通用 Skill、安装脚本和说明文档。
- 不要放入真实项目密钥、客户资料、内部测试证据或未公开漏洞细节。
- 让使用者只对自己拥有、自己维护、被邀请审计、或靶场 / CTF 规则明确允许测试的目标使用它。
- 如果是公开仓库,直接 clone 即可;如果是私有仓库,先获得访问权限。
skills/ctf/SKILL.md
skills/ctf/agents/openai.yaml
skills/ctf/references/core-contract.md
skills/ctf/references/release-audit.md
skills/ctf/references/safety-bounty.md
skills/ctf/references/defensive-prompts.md
prompts/ctf.md
install.ps1
install.sh
launchers/
拿到新版本后:
git pull然后重新运行安装脚本。
Windows:
powershell -ExecutionPolicy Bypass -File .\install.ps1macOS / Linux:
sh ./install.sh最后重启 Codex,让新的 Skill metadata 生效。
$ctf是在已经打开的 Codex 会话里调用 Skill。/prompts:ctf是调用安装后的 Slash Prompt。codex -p ctf是从进程启动时就加载 CTF Profile。- 不同版本的 Codex 可能会用显示名展示 Slash Prompt,而不是字面量
/prompts:ctf。