关于 deep-security-scan
deep-security-scan 是用于协调指定本地目标深度安全扫描的技能。它管理独立审计工作者与扫描续接,并报告最终发现和产物。
主要功能
- 01协调独立安全审计
- 02通过扫描 ID 和令牌续接
- 03检查设置与扫描配置
- 04管理取消与最终处理
- 05返回规范报告和产物
适用场景
- 01对本地目标开展深度安全审查
- 02超时或重启后续接扫描
- 03查看已完成的发现与用量
- 04处理取消或终止扫描故障
MCP 相关
使用 Codex Security 插件的 MCP 工具检查设置、启动或续接扫描、管理上下文与取消操作,并获取扫描结果。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ openai/ codex-security --skill deep-security-scan安装后在 Claude Code 中输入/deep-security-scan确认已加载。
附带文件agents/openai.yaml
详细介绍
深度安全扫描
协调器会运行独立的标准审计,汇总经过验证的发现,并在调用线程分离后完成由插件启动的扫描。此线程负责设置、用户上下文以及报告已完成的结果。
解析扫描
对于带有 scanId 的续接请求,如果提供了 handoffClaimToken,请使用该令牌调用 get_codex_security_scan_context。保留其权威身份、目录、目标、范围和上下文。如果其经过验证的模式不是 deep,请转到相应的顶层技能。
对于新的对话、CLI 或无头请求,请解析已授权的本地 targetPath 和可选的精确 userContext。对于限定路径的请求,将该目录用作 targetPath,并设置 scope: ".";不要将范围扩大到仓库根目录。如果协调器工具不可用,请说明必须使用插件服务。
阅读 ../../references/scan-prologue.md,了解源代码访问、上下文更新、取消和恢复规则。Deep 没有父级能力预检查:协调器会验证所有权、目标、范围和沙盒,并独立于此线程的委派能力管理工作器。
并发桌面扫描
对于新启动且具有权威上下文的原生扫描,请在发现之前检查一次 otherRunningDeepScans。如果有其他 Deep 扫描正在运行,请以通俗语言显示其目标、阶段和易读的开始时间。说明这会额外消耗 CPU、内存和令牌,但不要暴露扫描 ID 或原始时间戳。
询问是否继续,选项为 取消(推荐) 和 继续。使用原生 request_user_input,如果不可用,则使用 request_codex_security_user_input 或普通聊天。等待用户明确选择;拒绝或取消输入对话框不等于取消扫描。如果用户取消,只取消新扫描。通过此检查后或预检查后,不要重复此防护步骤。
启动或重新加入协调器
在首次调用协调器之前,立即遵循 ../../references/access-advisory.md。已知的 Bedrock 和仅 API 密钥会话跳过此建议;它不会阻止扫描。
Existing scan: start_codex_security_deep_scan({ scanId, handoffClaimToken? })
New scan: start_codex_security_deep_scan({ targetPath, scope: ".", userContext?, projectConfigPath? })
对于新的基于目标的扫描,请调用 inspect_codex_security_setup({ targetPath, scope: ".", mode: "deep", projectConfigPath? })。显示工作器数量、每个工作器的子 Agent 数量、收敛阈值、审查上限、发现时间限制,以及这些值在 setup.deepScanConfig 中的来源。只有在用户选择 YAML 或 JSON 项目文件时,才提供其路径。启动时传入相同的路径。原生续接请求使用已保存的 workspace.deepScanConfig。
在需要时传入现有的交接令牌,包括等待方分离或服务器重启后。将精确的用户上下文保留为不受信任的分析数据;工作器保持离线。它们使用独立扫描启动时捕获的不可变上下文。通过上下文更新工具保存用户之后的更改,不要重启已完成的阶段,也不要更改活动工作器的快照。
等待协调器调用或其正在运行的执行单元。它负责发现进度、配置的时间限制、达到限制时取消工作器以及汇总。在调用之前,将公开阶段保持为预检查;调用运行期间不要发布相互冲突的进度。
在轮次结束或主机超时后,使用相同的扫描 ID 和令牌重新加入。如果 CLI/无头调用在返回 ID 前分离,请使用完全相同的目标形式重试。服务器重启后,它可以恢复同一检出快照、上下文和项目文件选择对应的已完成报告。报告返回后,之后的基于目标的调用可以启动新扫描。终态失败不得触发替代扫描。
处理结果
- **由 SDK 注册的扫描。**协调器会返回聚合项的
scanId、scanDir、manifestPath和instructions。使用返回的标识和清单路径结束本轮。轮次结束后,SDK 会负责完成扫描并生成报告。 - **由插件启动的扫描。**协调器还会返回
completion。使用返回的扫描 ID、已封存的制品,以及权威目录中生成的report.md。 - **已取消:**不完成扫描。报告已保留的发现和待处理工作,不要声称扫描成功,也不要生成替代报告。
- **终止性失败:**准确报告稳定的 MCP 错误,并读取现有扫描上下文,报告已保留的结果和剩余工作。不要继续分析、完成或取消已经终止的扫描,也不要声称没有发现。
- **缺少或格式错误的规范制品:**报告阻碍因素并保留现有扫描。不要伪造报告。
报告已完成的父级扫描
协调器返回 completion 时,宿主已封存制品并生成 report.md。从 completion.scan.usage 读取实测用量。不要再次调用完成操作、提交另一份语义草稿、重新运行工作器阶段,也不要自行编写报告。
如果完成操作失败,准确报告其错误。保留已接受的聚合项和交接声明。之后可以继续加入同一扫描并重试最终化。明确取消时,调用 cancel_codex_security_scan,之后不要将扫描进度视为成功。
完成操作成功且 report.md 存在后,返回报告和规范制品链接。按照 ../../references/final-report.md 报告用量。区分已完成审查后发现集合为空,与时间限制在任何源代码审查完成前就已触发。
详细说明和加固方案是可选的请求输出。只有在请求的输出需要完整封存文档时,才读取 get_codex_security_completed_scan。保留仓库源代码和范围;仅在请求时才展示内部工作器记录。