整理积压
使用 $codex-security:triage-finding,根据当前仓库审查现有的安全发现。此工作流执行只读静态分析:Codex 将每个发现视为未经证实的声明,并在不执行代码的情况下检查仓库证据。
请在限定为要评估仓库的 Codex 项目中运行此工作流。Codex 必须能够读取仓库的源代码。Jira、Linear 和 GitHub 连接器会提供发现数据,但不能替代对源代码的访问。
在底层,Codex 从引用的代码或版本信息开始。它会追踪声明中由攻击者控制的源、相关安全控制、危险汇和可达路径。它还会检查产品表面和信任边界,寻找反证,并记录证据缺口。然后,Codex 为每个发现返回一个判定,并对需要采取行动或进一步审查的发现进行排序。
这不同于 $codex-security:validation:后者可以构建或运行代码、创建针对性的测试或概念验证,或操作真实界面,以复现或证伪某个发现。使用 triage 对现有积压进行分类和确定优先级。当静态证据无法确定某个发现,而运行时证据可能解决这一问题时,请使用 validation。
积压整理从现有发现开始。要在仓库中搜索新的漏洞,请运行安全扫描。Triage 不会修改仓库或实现修复。
选择要整理的发现
Section titled “选择要整理的发现”你可以提供来自以下来源的单个发现或一组发现:
| 来源 | 需要提供的内容 | 要求 |
|---|---|---|
| 粘贴的或本地的发现 | SARIF 结果、CVE 或 GHSA、公告、扫描器工单、漏洞赏金报告、Codex Security 发现工件,或使用自然语言描述的漏洞声明。 | 不需要连接器。 |
| Jira 或 Linear | 精确的安全或漏洞问题 URL 或标识符、Jira JQL,或 Linear 团队、项目或搜索短语。Codex 会在 triage 前检索所选问题的内容。 | 通过 Atlassian Rovo 访问 Jira 或 Linear,并具有读取权限。 |
| GitHub | 一个仓库,以及一个发现来源:代码扫描、Dependabot 漏洞和恶意软件、安全公告和私有漏洞报告,或所有来源。如果未指定仓库,且当前 Codex 项目已关联 GitHub 仓库,Codex 会使用该仓库。GitHub Issues 不包含在默认 GitHub 来源中;如果要整理 GitHub Issues,请提供特定 issue,或明确要求使用 GitHub Issues。 |
GitHub,并具有所选仓库和发现类型的访问权限。 |
Codex 会按照输入顺序,为每个提供的发现保留一个结果,以便每个来源发现都可追溯。对于看起来重复的发现,它不会合并或丢弃。
运行只读 triage
Section titled “运行只读 triage”对于粘贴的发现或本地工件,请发送类似以下的提示:
Use $codex-security:triage-finding to triage these existing security findings against this repository:
[Paste the findings or provide the artifact path.]对于 Jira 或 Linear 问题,请确定问题集合,并保持源系统为只读:
Use $codex-security:triage-finding to import and triage the security findings from [Jira or Linear issue URLs, identifiers, or query] against this repository.Do not change the source issues.对于 GitHub 发现,请注明仓库和来源:
Use $codex-security:triage-finding to import and triage [code scanning, Dependabot vulnerabilities and malware, security advisories and private vulnerability reports, or all] from [owner/repository] against this repository.要使用当前 Codex 项目所关联的 GitHub 仓库,只需指定发现来源:
Use $codex-security:triage-finding to import and triage [code scanning, Dependabot vulnerabilities and malware, security advisories and private vulnerability reports, or all] from GitHub against this repository. Use the GitHub repository attached to the current Codex project.工作流按以下顺序执行:
1. 收集并整理发现
Section titled “1. 收集并整理发现”Codex 会检索任何请求的问题或 GitHub 内容,保留来源标识符和引用,并为每个输入创建一个 triage 项目。它会在分配判定前构建完整的项目列表。
2. 确认仓库上下文
Section titled “2. 确认仓库上下文”在可用时,Codex 会解析当前仓库和修订版本。若存在 SECURITY.md,它会读取该文件,使支持的版本、受信任输入、产品边界和范围外产品表面能够为评估提供依据。
3. 检查静态证据
Section titled “3. 检查静态证据”对于每个发现,Codex 会追踪声明中由攻击者控制的源、相关安全控制、易受攻击的汇、可达路径和受支持的安全边界。它会记录支持该声明的证据、反驳该声明的证据以及证据缺口。
4. 分配判定和排名
Section titled “4. 分配判定和排名”Codex 会为每个发现分配判定和置信度,并在单独的队列中,根据可利用性对 confirmed 和 needs_review 发现进行排序。
| 判定 | 含义 |
|---|---|
confirmed |
仓库证据表明,在所述前提条件下,可以到达易受攻击的路径,并跨越受支持的安全边界。 |
not_actionable |
仓库证据排除了该声明,例如显示版本不受影响、路径不可达、保护措施有效,或相关产品表面不会随产品发布。 |
needs_review |
仓库证据不足以作出决定,因为所需信息缺失或存在歧义,或者结果取决于运行时、环境或策略。 |
可利用性排名使用从 1 开始的正整数,并在每个判定队列内独立计算。这样可以将修复优先级与尚未解决的审查工作分开。排名为 1 表示结果集中的最具可利用性的 confirmed 发现,或优先级最高的 needs_review 发现。该排名不是扫描器的严重性评分,not_actionable 发现不参与排名。
对于每个发现,请审查:
- 判定和排名的理由
- 支持该声明的证据以及反驳该声明的证据
- 未解决的问题和剩余的证据缺口
- 受影响的位置和组件
- 产品表面和来源信任级别
- 建议的下一步
- 当发现的判定为
confirmed时,交接给$codex-security:fix-finding
当每个提供的发现都有一个结果、Codex 保留其来源标识符,并明确说明所有不确定性时,triage 即完成。除非你要求 Codex 在审查 triage 结果后写回,否则 Jira、Linear 和其他积压记录会保持不变。
-
confirmed:人员接受该发现并准备修复后,使用$codex-security:fix-finding进行修复和验证。Triage 会准备好可直接用于提示的交接内容,但不会自动调用该技能。 -
needs_review:如果运行代码可以解决证据缺口,请使用$codex-security:validation执行有界动态验证。将 triage 结果中的发现声明、受影响位置、前提条件、静态证据和证据缺口传递给它:Use $codex-security:validation to dynamically validate finding [triage item ID or source ID] from the backlog triage result. Use the strongest realistic, bounded method, record exactly what was tested, and preserve any remaining proof gaps.与 triage 不同,validation 可以构建或运行代码、创建针对性的测试或概念验证,或操作真实界面。请在批准前审查拟执行的命令,并保持 Codex 审批和安全策略启用。
-
needs_review:如果该发现取决于产品策略或部署上下文,请先回答列出的未解决问题,再修改代码。 -
not_actionable:将证据保留在 triage 记录中。Codex 不会自动关闭或更新来源工单。 -
要查找所提供积压之外的漏洞,请运行安全扫描。