mcpField
D
deep-security-scan

deep-security-scan

github.com/openai安全11.2k94 次安装今天更新
代码仓库

关于 deep-security-scan

deep-security-scan 是用于协调指定本地目标深度安全扫描的技能。它管理独立审计工作者与扫描续接,并报告最终发现和产物。

主要功能

  1. 01协调独立安全审计
  2. 02通过扫描 ID 和令牌续接
  3. 03检查设置与扫描配置
  4. 04管理取消与最终处理
  5. 05返回规范报告和产物

适用场景

  1. 01对本地目标开展深度安全审查
  2. 02超时或重启后续接扫描
  3. 03查看已完成的发现与用量
  4. 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。保留仓库源代码和范围;仅在请求时才展示内部工作器记录。

评论

支持 Markdown