mirror of
https://github.com/gelusus/wxvl.git
synced 2026-10-27 19:10:56 +00:00
正在获取URL...
chainreactors: 14 个URL BruceFeIix: 18 个URL Doonsec: 30 个URL 总共去重后: 47 个URL 面向开源生态的 AI 漏洞发现服务:Anthropic OSS Scanner 技术架构、数据效果与行业影响深度剖析、
This commit is contained in:
1 parent
27501007b5
commit
4266b45d97
2 files changed
+646
-1
No files matched your search
@@ -27544,5 +27544,6 @@
|
||||
"https://mp.weixin.qq.com/s/LLy5_UGSbruaFWXzTrhhOw": "极安破奕-给我一个txt,还你一个rce",
|
||||
"https://mp.weixin.qq.com/s/lA8ezIGnnW5Jz5DUoVlvLQ": "每周PDF资源:Atlassian曝严重漏洞;智能硬件企业CRA合规实践",
|
||||
"https://mp.weixin.qq.com/s/x6MFuNmAGqpBNXBCs0vrqw": "美国 (CISA) 警告:Zyxel GS1900 交换机漏洞已被积极用于攻击",
|
||||
"https://mp.weixin.qq.com/s/c_f1XVcDeNXNyNgztkR_UA": "聚恒中台sendvalidatecode接口存在SQL注入 附POC"
|
||||
"https://mp.weixin.qq.com/s/c_f1XVcDeNXNyNgztkR_UA": "聚恒中台sendvalidatecode接口存在SQL注入 附POC",
|
||||
"https://mp.weixin.qq.com/s/Y62H54NR7HZQp15SF3hvEg": "面向开源生态的 AI 漏洞发现服务:Anthropic OSS Scanner 技术架构、数据效果与行业影响深度剖析"
|
||||
}
|
||||
@@ -0,0 +1,644 @@
|
||||
# 面向开源生态的 AI 漏洞发现服务:Anthropic OSS Scanner 技术架构、数据效果与行业影响深度剖析
|
||||
原创 H
|
||||
H AI安全推进计划 2026-10-11 23:14
|
||||
|
||||
1
|
||||
|
||||
引言:为什么 OSS Scanner 值得深入研究
|
||||
|
||||
2026 年 10 月 8 日,Anthropic 发布 OSS Scanner——一个面向开源软件生态的、自愿加入(opt-in)的 AI 漏洞扫描服务。加入的开源项目将由 Anthropic 最强的模型(含尚未公开发布的 Claude Mythos)进行周期性的安全扫描,全部免费。
|
||||
|
||||
这件事本身并不复杂,但它同时释放了三重信号,值得任何关心软件供应链安全的人认真对待:
|
||||
|
||||
● 攻击面信号:AI 发现漏洞的成本已经低到可以让一家商业公司对全行业免费提供——这说明「发现漏洞」这件事的边际成本正在趋近于零。
|
||||
|
||||
● 治理信号:Anthropic 明确表示这些报告不做人工复核、不设 90 天披露期、不主动公开。这在传统的协调漏洞披露(CVD)惯例上开了一个显著的例外。
|
||||
|
||||
● 生态信号:免费服务的对象是「对基础设施和用户安全有关键影响」的开源项目,其准入标准对标 Google 的 OSS-Fuzz。这是大厂以自身 AI 能力介入开源治理的又一实例。
|
||||
<table><tbody><tr><td data-colwidth="574" width="612" valign="top" style="background: rgb(234, 245, 238);border-width: 1pt;border-style: solid;border-color: rgb(46, 139, 87);padding: 0pt 5.4pt;"><p style="margin-top: 4pt;margin-bottom: 1pt;line-height: 1.5em;"><span style="font-size: 10.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(30, 107, 67);font-weight: bold;"><span leaf="">十条核心判断</span></span></p><p style="margin-top: 1pt;margin-bottom: 4pt;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">1. OSS Scanner 是 Project Glasswing 的「产品化外溢」,本质是把内部扫描能力向开源生态开放。 </span><span leaf=""><br/></span><span leaf="">2. 它的技术核心不是「AI 能找漏洞」,而是「两阶段离线审计」这一工程架构——有网构建、断网审计。 </span><span leaf=""><br/></span><span leaf="">3. 配置契约极简:一个 project.yaml + 一个 Dockerfile,可选 threat_model.md。 </span><span leaf=""><br/></span><span leaf="">4. 「不做人工复核」是刻意设计,换来的是扫描频率和覆盖面,代价是误报风险由维护者承担。 </span><span leaf=""><br/></span><span leaf="">5. 官方公布的漏斗数据(29,439 → 584)揭示了真正的瓶颈:不是发现,而是验证与修复。 </span><span leaf=""><br/></span><span leaf="">6. 88% 的抽样验证通过率是在 97 条样本上的结果,样本量有限,不宜过度外推。 </span><span leaf=""><br/></span><span leaf="">7. 维护者反馈总体积极(PostgreSQL/OpenSSL/wolfSSL/curl 均正面),但存在严重性评级争议。 </span><span leaf=""><br/></span><span leaf="">8. 第三方实测显示单项目扫描成本约数美元级别,构建校验约数分钟,门槛显著低于传统渗透测试。 </span><span leaf=""><br/></span><span leaf="">9. 治理争议集中在:无披露期 + 模型生成 + 不可溯源的责任边界。 </span><span leaf=""><br/></span><span leaf="">10. 该服务的长期价值取决于「修复侧」能否同步提速,否则只会加剧维护者负担。</span></span><o:page></o:page></p></td></tr></tbody></table>
|
||||
|
||||
|
||||
2
|
||||
|
||||
背景溯源:从 Project Glasswing 到 OSS Scanner
|
||||
|
||||
要理解 OSS Scanner,必须先理解它从哪来。它不是凭空出现的产品,而是 Anthropic 一系列安全计划在开源领域的一次能力外溢。
|
||||
|
||||
2.1
|
||||
|
||||
AI 漏洞发现能力的跃升曲线
|
||||
|
||||
Anthropic 在公告中引用了一个具有标志意义的基准数据:在 CyberGym 这一学术漏洞发现基准上,大语言模型从 2025 年初只能发现不到 20% 的漏洞,到 2026 年已经能发现超过 85%。
|
||||
|
||||
这个变化带来的直接后果,公告里说得很直白:开源维护者「从过去主要收到 LLM 产生的低质量噪声,转变为收到高质量的缺陷报告」。
|
||||
|
||||

|
||||
|
||||
图 1
|
||||
|
||||
AI 模型漏洞发现能力演进(CyberGym 学术基准)——官方仅给出两个端点
|
||||
|
||||
注:本图刻意只呈现官方原文给出的两个数据点。原文并未提供中间年份的连续数值,任何对中间过程的插值都属于推断,本报告不予呈现。
|
||||
|
||||
2.2
|
||||
|
||||
Project Glasswing 的关键数据
|
||||
|
||||
2026 年 4 月,Anthropic 启动 Project Glasswing:一项与约 50 家合作伙伴协作、使用 Claude Mythos Preview 去发现全球最关键软件中漏洞的联合行动。
|
||||
|
||||
一个月内(截至 5 月 22 日首次更新),该计划交出了一组值得注意的数字:
|
||||
<table><tbody><tr><td data-colwidth="174" width="174" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">指标</span></span></p></td><td data-colwidth="98" width="98" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">数值</span></span></p></td><td data-colwidth="295" width="295" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">备注</span></span></p></td></tr><tr><td data-colwidth="174" width="174" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">发现的高危/严重漏洞</span></span></p></td><td data-colwidth="98" width="98" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">10,000+</span></span></p></td><td data-colwidth="295" width="295" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">由约 50 家合作伙伴共同提交</span></span></p></td></tr><tr><td data-colwidth="174" width="174" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">Cloudflare 发现缺陷</span></span></p></td><td data-colwidth="98" width="98" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">2,000 条</span></span></p></td><td data-colwidth="295" width="295" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">其中 400 条为高危/严重;误报率被其团队认为优于人工测试者</span></span></p></td></tr><tr><td data-colwidth="174" width="174" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">Mozilla Firefox 150 修复</span></span></p></td><td data-colwidth="98" width="98" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">271 个</span></span></p></td><td data-colwidth="295" width="295" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9.5ptLine truncated
|
||||
表 2-1
|
||||
|
||||
Project Glasswing 开源扫描阶段的关键数据(2026-05-22)
|
||||
|
||||

|
||||
|
||||
图 2
|
||||
|
||||
Project Glasswing 开源扫描阶段的关键指标(2026-05-22)
|
||||
|
||||
这些数字中最值得注意的,不是「找到了多少」,而是「确认率」的落差:模型自评的高危漏洞中,经独立复核后只有 62.4% 被确认达到高危/严重。换句话说,模型对严重性的判断有约四成的向上偏移。这一点在后面讨论 OSS Scanner 时同样适用。
|
||||
|
||||
2.3
|
||||
|
||||
瓶颈转移:从「找得到」到「修得完」
|
||||
|
||||
Glasswing 更新中有一句被反复引用的话:
|
||||
|
||||
「软件安全领域的进展,过去受限于我们能多快发现新漏洞。现在,它受限于我们能多快验证、披露和修补 AI 发现的大量漏洞。」
|
||||
|
||||
这构成了理解 OSS Scanner 的钥匙。整个服务的设计逻辑,都是在为「验证与披露」这一环节做减法——因为这一环节严重依赖人力,而人力正是最稀缺的资源。
|
||||
|
||||

|
||||
|
||||
图 3
|
||||
|
||||
OSS Scanner 发展时间线
|
||||
|
||||
2.4
|
||||
|
||||
Cyber Mission 与关键基础设施防御计划
|
||||
|
||||
与 OSS Scanner 同日(或接近)宣布的,还有 Anthropic 的 Cyber Mission 框架下的Critical Infrastructure Defense Program(关键基础设施防御计划),该计划有 11 家创始合作伙伴,目标是保护关键基础设施与开源软件。
|
||||
|
||||
Anthropic 对外的预测是:两年内,AI 在网络安全上将「有利于防御方」——更容易在软件出货前捕获缺陷、从零编写本质安全的软件、以及用模型主动防御系统。这个预测本身是一个立场表述,本报告将其作为「官方观点」呈现,而非既定事实。
|
||||
|
||||
2.5
|
||||
|
||||
Cyber Verification Program 的分级模型访问
|
||||
|
||||
对于希望合规使用先进模型进行安全工作的从业者,Anthropic 提供了 Cyber Verification Program(CVP)。该计划的要义是:经过验证的安全专业人员,可以在减少「阻止分类器」(blocking classifiers)干扰的前提下使用高级能力。简单说,就是为正当的安全研究打开一条不必与安全护栏反复对抗的通道。
|
||||
|
||||
这一设计侧面反映了一个现实矛盾:模型厂商的安全护栏与安全研究者的实际工作需要之间存在张力。对红队与渗透测试团队而言,CVP 的可用性比 OSS Scanner 更值得关注。
|
||||
|
||||
|
||||
3
|
||||
|
||||
产品解剖:OSS Scanner 究竟是什么
|
||||
|
||||
3.1
|
||||
|
||||
定位、准入与免费模式
|
||||
|
||||
用一句话概括:OSS Scanner 是 Anthropic 提供的一项服务,对关键开源仓库进行周期性安全漏洞扫描,免费、自愿加入。
|
||||
|
||||
官方对「哪些项目可以加入」的口径与 Google 的 OSS-Fuzz 类似,核心判据是:项目应当具有「对基础设施和用户安全的关键影响」(critical impact on infrastructure and user security)。审核按个案处理,不是满足条件就自动通过。
|
||||
|
||||
免费这一点值得单独强调。传统上,对一个重量级开源项目做系统的安全审计,成本在人力与时间上都相当可观;而 OSS Scanner 把这一成本降到了零(对项目方而言)。这背后的商业逻辑是:Anthropic 用自身模型能力承担扫描成本,换取对真实世界代码库的大规模实战验证,以及生态影响力。对项目方而言,这几乎是一笔无条件的好交易——唯一的成本是配置工作量与误报处理负担。
|
||||
|
||||
3.2
|
||||
|
||||
「不做人工复核」的设计取舍
|
||||
|
||||
这是 OSS Scanner 最具争议、也最具技术含量的一个设计决定。官方 README 的表述是:
|
||||
|
||||
「报告由模型生成,未经人工复核。正因为如此,我们不对这些发现施加 90 天披露期,也不会将其公开。」
|
||||
|
||||
这里存在一个清晰的逻辑链条:
|
||||
|
||||
● 因为不做人工复核 → 报告可能包含误报;
|
||||
|
||||
● 因为可能包含误报 → 若采取 90 天强制披露,可能造成对维护者的不公(虚假警报被公开);
|
||||
|
||||
● 因此选择:不设披露期、不主动公开,把判断权完全交给维护者。
|
||||
|
||||
这是一个自洽的设计,但它把成本转移给了接收方。维护者收到的可能是未经确认的缺陷报告,需要自行判断真伪。对于人手本就紧张的开源项目,这既是帮助也是负担。我们将在第 7 章详细讨论这一取舍的利弊。
|
||||
<table><tbody><tr><td data-colwidth="612" width="612" valign="top" style="background: rgb(253, 246, 236);border-width: 1pt;border-style: solid;border-color: rgb(181, 107, 18);padding: 0pt 5.4pt;"><p style="margin-top: 4pt;margin-bottom: 1pt;line-height: 1.5em;"><span style="font-size: 10.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(30, 107, 67);font-weight: bold;"><span leaf="">一个容易被忽略的例外条款</span></span></p><p style="margin-top: 1pt;margin-bottom: 4pt;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">虽然 OSS Scanner 的报告本身不设披露期,但官方留了一个后门:如果某条报告后来通过Anthropic 现有的 CVD 程序被人工验证,则该漏洞将回归标准 CVD 政策,从「通知你该报告已被人工验证」之日起计 90 天披露。此外,官方表示随着对 OSS Scanner 表现的信心提升,未来可能对某些高危漏洞报告施加披露期。</span></span></p></td></tr></tbody></table>
|
||||
|
||||
|
||||
3.3
|
||||
|
||||
与传统 SCA 工具的本质差异
|
||||
|
||||
许多人第一次听到「漏洞扫描」会联想到 SCA(软件成分分析)工具,如 Dependabot、Snyk、Sonatype 等。但两者在技术路径上完全不同,不可互相替代。
|
||||
<table><tbody><tr><td data-colwidth="98" width="98" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">维度</span></span></p></td><td data-colwidth="219" width="219" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">传统 SCA / 依赖组件分析</span></span></p></td><td data-colwidth="249" width="249" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">OSS Scanner(AI 驱动)</span></span></p></td></tr><tr><td data-colwidth="98" width="98" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">分析对象</span></span></p></td><td data-colwidth="219" width="219" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">依赖清单中的已知组件版本</span></span></p></td><td data-colwidth="249" width="249" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">项目自身源码的语义逻辑</span></span></p></td></tr><tr><td data-colwidth="98" width="98" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">发现来源</span></span></p></td><td data-colwidth="219" width="219" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">CVE 数据库 / 漏洞库比对</span></span></p></td><td data-colwidth="249" width="249" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">模型对代码语义与数据流的推理</span></span></p></td></tr><tr><td data-colwidth="98" width="98" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">典型产出</span></span></p></td><td data-colwidth="219" width="219" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">「你用的 X 库 1.2 版本有已知 CVE」</span></span></p></td><td data-colwidth="249" width="249" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><Line truncated
|
||||
表 3-1
|
||||
|
||||
两类「漏洞扫描」的本质差异
|
||||
|
||||

|
||||
|
||||
图 4
|
||||
|
||||
能力矩阵对照:AI 驱动扫描 vs 传统 SCA
|
||||
|
||||
从图中可以清楚看到两者的互补性:传统 SCA 在「供应链组件覆盖」和「生态治理成熟度」上占据绝对优势,而 AI 驱动扫描在「语义级缺陷理解」「跨函数路径可达性」和「候选补丁生成」上具有压倒性的能力。理性的做法不是二选一,而是在工具链中同时部署,各司其职。
|
||||
|
||||
4
|
||||
|
||||
技术架构:两阶段离线审计流水线
|
||||
|
||||
这一章是报告的技术核心。OSS Scanner 最值得学习的地方,不是「用 AI 找漏洞」这个口号,而是它如何用一个巧妙的工程架构,解决了「让 AI 在可信环境中审查任意项目」这一难题。
|
||||
|
||||
4.1
|
||||
|
||||
有网构建 → 断网审计
|
||||
|
||||
整个流程被清晰地切成两个阶段,中间由一道「断网闸门」隔开:
|
||||
|
||||
阶段一(有网):
|
||||
扫描器在隔离虚拟机中拉取项目源码,执行项目提供的 Dockerfile,安装依赖、编译项目、运行基础测试。这一阶段网络是开放的,目的是把构建所需的一切都获取到位。
|
||||
|
||||
阶段二(断网):
|
||||
构建完成后,虚拟机被迁移到一个无互联网访问的网络中,AI agent 才开始执行安全审计。
|
||||
|
||||

|
||||
|
||||
图 5
|
||||
|
||||
OSS Scanner 两阶段离线审计流水线
|
||||
|
||||
这个设计的意义远超「省事」:
|
||||
|
||||
● 安全隔离:被扫描的代码在审计阶段无法回连外部(不存在数据外泄或反向控制的网络通道)。
|
||||
|
||||
● 结果确定性:由于审计阶段无法下载新东西,任何复现行为都只能依赖镜像内已有的东西,这迫使 Dockerfile 必须完整声明依赖——复现性由此得到保证。
|
||||
|
||||
● 攻击面收敛:即使被测项目本身含恶意代码,它也失去了在审计阶段向外联络的能力。
|
||||
|
||||
官方 README 用一句话点出了这个设计的硬约束:
|
||||
|
||||
「构建或测试所需的任何东西,都必须在最初的 Dockerfile 安装阶段获取完毕。」
|
||||
|
||||
4.2
|
||||
|
||||
/src 契约与镜像形态
|
||||
|
||||
Dockerfile 模板中有一条注释,定义了扫描器与项目之间的一个隐含契约:
|
||||
|
||||
# scanner contract: the checkout lives inside the image, at /src
|
||||
|
||||
译:扫描器契约——代码检出(checkout)位于镜像内部的 /src 目录。这意味着,项目在编写 Dockerfile 时,必须保证源码被放置到 /src。模板通过 COPY . /src 与 WORKDIR /src 两行标准写法达成这一点。
|
||||
|
||||
4.3
|
||||
|
||||
Dockerfile 工程契约逐行解读
|
||||
|
||||
官方 Dockerfile 模板(以 CMake 项目为例)看似平常,但每一处都藏着工程考虑。下面逐段拆解:
|
||||
<table><tbody><tr><td data-colwidth="76" width="76" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">片段</span></span></p></td><td data-colwidth="249" width="249" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">官方原文</span></span></p></td><td data-colwidth="242" width="242" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">工程意图</span></span></p></td></tr><tr><td data-colwidth="76" width="76" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">基础镜像</span></span></p></td><td data-colwidth="249" width="249" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">FROM debian:bookworm</span></span></p></td><td data-colwidth="242" width="242" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">选择稳定、体积适中的 Debian 基础镜像</span></span></p></td></tr><tr><td data-colwidth="76" width="76" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">环境变量</span></span></p></td><td data-colwidth="249" width="249" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">CC=clang </span><span leaf=""><br/></span><span leaf="">CXX=clang++</span></span></p></td><td data-colwidth="242" width="242" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">统一编译器,避免依赖 gcc 默认配置带来的差异</span></span></p></td></tr><tr><td data-colwidth="76" width="76" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">依赖安装</span></span></p></td><td data-colwidth="249" width="249" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">apt-get install -y --no-install-recommends </span><span leaf=""><br/></span><span leaf="">ca-certificates build-essential </span><span leaf=""><br/></span><spaLine truncated
|
||||
表 4-1
|
||||
|
||||
官方 Dockerfile 模板的逐段技术解读
|
||||
|
||||
其中有两个细节特别值得学习:
|
||||
|
||||
● -g -fno-omit-frame-pointer:这不是常规发布构建的选择,而是为了调试。AI agent 在审计时需要能读懂崩溃现场、能下断点,因此刻意保留调试信息。
|
||||
|
||||
● 测试失败不中止构建:用 || echo 兜住 ctest 的失败返回码。原因是——很多项目的测试在受控环境中本来就会失败(缺少特定硬件、特定数据集等),若因此拒绝构建,会大量排除掉本该扫描的项目。这是「可用性优先」的务实选择。
|
||||
|
||||
4.4
|
||||
|
||||
Agent 流水线的角色分工
|
||||
|
||||
进入断网环境后,执行的是一组协作的 agent。官方对报告产物的描述,反向揭示了这条流水线的构成:
|
||||
|
||||

|
||||
|
||||
图 6
|
||||
|
||||
Agent 流水线的角色分工(结构性还原)
|
||||
|
||||
需要说明的是,Anthropic 并未公开 agent 流水线的内部实现细节。上图是基于两款官方材料——一是对报告产物(复现器、解释、二分、补丁)的描述,二是 Glasswing 更新中对工具链「映射代码库、启动扫描子代理、分诊发现、撰写报告」的说明——所做的结构性还原,用于帮助理解工作逻辑,不代表官方架构。
|
||||
|
||||
4.5
|
||||
|
||||
报告产物的四段式结构
|
||||
|
||||
每条合格的报告包含四个部分,这是一个相当完整的「可用缺陷报告」的标准形态:
|
||||
|
||||

|
||||
|
||||
图 7
|
||||
|
||||
单条漏洞报告的四段式结构
|
||||
<table><tbody><tr><td data-colwidth="106" width="106" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">组成部分</span></span></p></td><td data-colwidth="242" width="242" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">内容</span></span></p></td><td data-colwidth="219" width="219" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">对维护者的价值</span></span></p></td></tr><tr><td data-colwidth="106" width="106" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">自包含复现器</span></span></p></td><td data-colwidth="242" width="242" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">可在构建好的镜像内独立触发缺陷的操作序列</span></span></p></td><td data-colwidth="219" width="219" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">无需猜测如何复现,拿到即可验证</span></span></p></td></tr><tr><td data-colwidth="106" width="106" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">漏洞解释</span></span></p></td><td data-colwidth="242" width="242" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">缺陷成因、可达路径、影响面、利用前提</span></span></p></td><td data-colwidth="219" width="219" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">帮助判断是否真的可利用、影响范围多大</span></span></p></td></tr><tr><td data-colwidth="106" width="106" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">引入点二分</span></span></p></td><td data-colwidth="242" width="242" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">定位首个引入该缺陷的提交(bisection)</span></span></p></td><td data-colwidth="219" width="219" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margLine truncated
|
||||
表 4-2
|
||||
|
||||
报告四段式结构及其价值
|
||||
|
||||
4.6
|
||||
|
||||
本地工具链:validate / check / check --qemu
|
||||
|
||||
为了让项目在提交 PR 前就能确认配置无误,官方提供了两个命令行工具:
|
||||
<table><tbody><tr><td data-colwidth="136" width="136" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">命令</span></span></p></td><td data-colwidth="302" width="302" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">作用</span></span></p></td><td data-colwidth="129" width="129" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">依赖要求</span></span></p></td></tr><tr><td data-colwidth="136" width="136" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">tools/validate.py</span></span></p></td><td data-colwidth="302" width="302" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">按注册规则校验 projects/</span><name><span leaf="">/ 目录的合规性</span></name></span></p></td><td data-colwidth="129" width="129" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">Python 3 + PyYAML</span></span></p></td></tr><tr><td data-colwidth="136" width="136" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">tools/check</span><name></name></span></p></td><td data-colwidth="302" width="302" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">完全按扫描器的方式构建项目,并在构建完成的镜像中打开一个无网 shell;若测试能在该容器中通过,扫描器大概率也能正常工作</span></span></p></td><td data-colwidth="129" width="129" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">本机需安装 git、Docker、Python 3 + PyYAML</span></span></p></td></tr><tr><td data-colwidth="136" width="136" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">tools/check --qemu</span><name></name></span></p></td><td data-colwidth="302" width="302" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">在按扫描器布局构造的虚拟机内执行同样的检查</span></span></p></td><td data-colwidth="129Line truncated
|
||||
表 4-3
|
||||
|
||||
官方本地校验工具链
|
||||
|
||||
这套工具链体现了良好的工程实践:可本地验证、可复现、把「配置错误」的成本前置到提交前,而不是让它在扫描器的远端环境中失败。对希望接入的项目而言,这意味着接入过程本身是可控且可预期的。
|
||||
|
||||
|
||||
5
|
||||
|
||||
配置机制:project.yaml 与 threat_model.md
|
||||
|
||||
OSS Scanner 的接入门槛相当低。核心配置就是两个文件:一个 project.yaml 声明基本信息,一个 Dockerfile 描述如何构建。可选的 threat_model.md 则是提升扫描质量的杠杆。
|
||||
|
||||
5.1
|
||||
|
||||
project.yaml 字段全解
|
||||
|
||||
官方的注册方式非常直接:向仓库提交一个 PR,新增一个目录 projects//,在其中放入 project.yaml。字段设计如下:
|
||||
<table><tbody><tr><td data-colwidth="98" width="98" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">字段</span></span></p></td><td data-colwidth="76" width="76" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">要求</span></span></p></td><td data-colwidth="363" width="363" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">说明</span></span></p></td></tr><tr><td data-colwidth="98" width="98" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">repo</span></span></p></td><td data-colwidth="76" width="76" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">必填</span></span></p></td><td data-colwidth="363" width="363" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">待扫描的 git 仓库 https 地址,可用 #branch / #tag 固定版本</span></span></p></td></tr><tr><td data-colwidth="98" width="98" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">primary_contact</span></span></p></td><td data-colwidth="76" width="76" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">必填</span></span></p></td><td data-colwidth="363" width="363" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">报告与构建失败通知的唯一主收件地址</span></span></p></td></tr><tr><td data-colwidth="98" width="98" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">dockerfile</span></span></p></td><td data-colwidth="76" width="76" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">条件必填</span></span></p></td><td data-colwidth="363" width="363" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;coloLine truncated
|
||||
表 5-1
|
||||
|
||||
project.yaml 字段矩阵(依据官方模板逐字段核对)
|
||||
|
||||
完整示例(官方模板形态):
|
||||
<table><tbody><tr><td data-colwidth="612" width="612" valign="top" style="background: rgb(242, 246, 244);border-width: 1pt;border-style: solid;border-color: rgb(201, 222, 210);padding: 0pt 5.4pt;"><p style="margin-top: 3pt;margin-bottom: 0pt;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: Consolas;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">repo: https://github.com/example/project#main</span><span style=""><span leaf=""> </span></span><span leaf=""># 必填:待扫描的 git 仓库</span></span></p><p style="margin-top: 0pt;margin-bottom: 0pt;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: Consolas;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">primary_contact: security@example.org</span><span style=""><span leaf=""> </span></span><span leaf=""># 必填:报告与构建问题发往此处</span></span></p><p style="margin-top: 0pt;margin-bottom: 0pt;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: Consolas;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">auto_ccs:</span><span style=""><span leaf=""> </span></span><span leaf=""># 可选:每封报告额外抄送</span></span></p><p style="margin-top: 0pt;margin-bottom: 0pt;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: Consolas;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span style=""><span leaf=""> </span></span><span leaf="">-</span><span style=""><span leaf=""> </span></span><span leaf="">maintainer@example.org</span></span></p><p style="margin-top: 0pt;margin-bottom: 0pt;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: Consolas;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">homepage: https://example.org</span><span style=""><span leaf=""> </span></span><span leaf=""># 可选</span></span></p><p style="margin-top: 0pt;margin-bottom: 0pt;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: Consolas;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">disabled: false</span><span style=""><span leaf=""> </span></span><span leaf=""># 可选:true 暂停报告</span></span></p><p style="margin-top: 0pt;margin-bottom: 0pt;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: Consolas;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">dockerfile: .oss-scanner/Dockerfile</span><span style=""><span leaf=""> </span></span><span leaf=""># 条件必填</span></span></p><p style="margin-top: 0pt;margin-bottom: 3pt;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: Consolas;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">threat_model: .oss-scanner/threat_model.md</span><span style=""><span leaf=""> </span></span><span leaf=""># 可选(强荐)</span></span></p></td></tr></tbody></table>
|
||||
代码 5-1
|
||||
|
||||
project.yaml 完整字段示例(源自官方模板)
|
||||
|
||||
有三点必须注意:
|
||||
|
||||
● repo 是「唯一」一个要扫描的仓库,不是多个。可用 #branch 或 #tag 固定版本。
|
||||
|
||||
● project.yaml 中的邮箱地址是公开的。官方明确提示「请使用你乐于被公开的地址,例如一个安全专用别名」。
|
||||
|
||||
● pgp 字段与 auto_ccs 互斥:一旦配置 PGP 加密,报告只发给 primary_contact 本人,因为加密后无法同时抄送多人(除非各自持有私钥)。
|
||||
|
||||
5.2
|
||||
|
||||
Dockerfile 两种放置方式的权衡
|
||||
|
||||
Dockerfile 必须提供,但可以放在两个位置之一,这带来了一个明确的权衡:
|
||||
<table><tbody><tr><td data-colwidth="121" width="121" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">放置方式</span></span></p></td><td data-colwidth="166" width="166" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">写法</span></span></p></td><td data-colwidth="159" width="159" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">优点</span></span></p></td><td data-colwidth="121" width="121" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">缺点</span></span></p></td></tr><tr><td data-colwidth="121" width="121" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">放在自己仓库(推荐)</span></span></p></td><td data-colwidth="166" width="166" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">在 project.yaml 中设置 dockerfile: 路径</span></span></p></td><td data-colwidth="159" width="159" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">可在不提交 PR 到上游仓库的情况下自行更新构建方式</span></span></p></td><td data-colwidth="121" width="121" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">需要在项目中新增文件</span></span></p></td></tr><tr><td data-colwidth="121" width="121" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">放在注册仓库</span></span></p></td><td data-colwidth="166" width="166" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">放在 projects/</span><name><span leaf="">/Dockerfile,并删除 project.yaml 中的 dockerfile 键</span></name></span></p></td><td data-colwidth="159" width="159" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">不污染项目自身仓库</span></span></p></td><td data-colwidth="121" width="121" valign="top" style="background: rgb(243Line truncated
|
||||
表 5-2
|
||||
|
||||
Dockerfile 两种放置方式的对比
|
||||
|
||||
官方推荐第一种——理由是「允许你在不必提交 PR 的情况下更新构建」。这个设计把「构建方式的迭代权」留给了项目维护者自己,减少了协作摩擦。threat_model.md 的放置逻辑与之完全相同。
|
||||
|
||||
5.3
|
||||
|
||||
threat_model.md:把威胁模型喂给扫描器
|
||||
|
||||
如果说 Dockerfile 决定了「能扫什么」,那么 threat_model.md 决定了「扫描器在意什么」。这是 OSS Scanner 中提升结果质量最关键、却也最容易被忽视的配置。
|
||||
|
||||
官方对这个文件的价值有明确的表述:最有用的用法,是给出「如何评定报告严重性」的指引。官方举了几个非常具体的例子:
|
||||
|
||||
● 认证后的 SQL 注入,你算高危还是严重?
|
||||
|
||||
● 没有演示出实际利用的缓冲区溢出,是否封顶为高危?
|
||||
|
||||
● 存储型 XSS 在什么条件下算中危、高危、严重?
|
||||
|
||||
这直接击中了 AI 扫描的一个核心痛点:模型并不了解你的业务语境。同一个缺陷,在一个内网工具里可能无关紧要,在一个面向公网的认证服务里则可能致命。通过 threat_model.md,项目可以把自身的威胁模型显式地传递给模型。
|
||||
|
||||
官方模板包含五个章节,问的都是直击要点的问题:
|
||||
<table><tbody><tr><td data-colwidth="174" width="174" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">模板章节</span></span></p></td><td data-colwidth="151" width="151" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">要回答的问题</span></span></p></td><td data-colwidth="242" width="242" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">官方示例</span></span></p></td></tr><tr><td data-colwidth="174" width="174" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">What this project does and where untrusted input enters</span></span></p></td><td data-colwidth="151" width="151" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">项目做什么,不可信输入从哪里进入?</span></span></p></td><td data-colwidth="242" width="242" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">「一个压缩库;我们假定所有输入都不可信」</span></span></p></td></tr><tr><td data-colwidth="174" width="174" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">Components that matter most / least</span></span></p></td><td data-colwidth="151" width="151" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">哪些组件最重要、哪些最不重要?</span></span></p></td><td data-colwidth="242" width="242" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">「解码器重要;压缩器次要但仍在范围内;contrib/ 是第三方,不在范围内」</span></span></p></td></tr><tr><td data-colwidth="174" width="174" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">How to exercise it</span></span></p></td><td data-colwidth="151" width="151" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">如何驱动它进行测试?</span></span></p></td><td data-colwidth="242" width="242" valign="tLine truncated
|
||||
表 5-3
|
||||
|
||||
threat_model.md 模板的五个章节
|
||||
<table><tbody><tr><td data-colwidth="612" width="612" valign="top" style="background: rgb(234, 245, 238);border-width: 1pt;border-style: solid;border-color: rgb(46, 139, 87);padding: 0pt 5.4pt;"><p style="margin-top: 4pt;margin-bottom: 1pt;line-height: 1.5em;"><span style="font-size: 10.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(30, 107, 67);font-weight: bold;"><span leaf="">实践建议</span></span></p><p style="margin-top: 1pt;margin-bottom: 4pt;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">对希望接入的项目,本报告建议把 threat_model.md 视为「必填」而非「可选」。它是解决「模型严重性评级偏高」这一已知问题的最低成本手段——与其事后逐条纠正误报的严重性,不如事前把评级标准写清楚。</span></span></p></td></tr></tbody></table>
|
||||
|
||||
|
||||
5.4
|
||||
|
||||
注册、变更与退出流程
|
||||
|
||||
整个生命周期管理被设计得相当轻量:
|
||||
<table><tbody><tr><td data-colwidth="113" width="113" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">操作</span></span></p></td><td data-colwidth="454" width="454" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">方式</span></span></p></td></tr><tr><td data-colwidth="113" width="113" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">注册项目</span></span></p></td><td data-colwidth="454" width="454" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">提交 PR 新增 projects/</span><name><span leaf="">/project.yaml(一个 PR 一个项目), </span><span leaf=""><br/></span><span leaf="">先跑 tools/validate.py 与 tools/check</span><name><span leaf="">, </span><span leaf=""><br/></span><span leaf="">填写 PR 检查清单。只有项目核心维护者可以注册,官方合并前会核实身份。</span></name></name></span></p></td></tr><tr><td data-colwidth="113" width="113" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">变更配置</span></span></p></td><td data-colwidth="454" width="454" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">提交 PR 修改 projects/</span><name><span leaf="">/project.yaml。</span></name></span></p></td></tr><tr><td data-colwidth="113" width="113" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">暂停报告</span></span></p></td><td data-colwidth="454" width="454" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">设置 disabled: true——暂停报告但不移除注册。</span></span></p></td></tr><tr><td data-colwidth="113" width="113" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">完全退出</span></span></p></td><td data-colwidth="454" width="454" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">删除 projects/</span><name><span leaf="">/ 目录。</span></name></span></p></td></tr><tr><td data-colwidth="113" width="113" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;">Line truncated
|
||||
表 5-4
|
||||
|
||||
项目全生命周期操作
|
||||
|
||||
6
|
||||
|
||||
数据与效果评估
|
||||
|
||||
这一章集中呈现可量化的证据,并对不同来源的数字做交叉核对。凡是无法溯源的数字,本报告一律标注或虚化。
|
||||
|
||||
6.1
|
||||
|
||||
完整漏斗数据序列
|
||||
|
||||
Anthropic 公开了一个开源漏洞仪表盘,展示了从候选漏洞到分配标识符的完整漏斗。截至 2026 年 10 月 2 日,各阶段数据如下:
|
||||
|
||||

|
||||
|
||||
图 8
|
||||
|
||||
开源漏洞「发现 → 修复」漏斗(截至 2026-10-02)
|
||||
<table><tbody><tr><td data-colwidth="174" width="174" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">阶段</span></span></p></td><td data-colwidth="91" width="91" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">数量</span></span></p></td><td data-colwidth="302" width="302" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">说明</span></span></p></td></tr><tr><td data-colwidth="174" width="174" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">扫描产生的候选漏洞</span></span></p></td><td data-colwidth="91" width="91" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">29,439</span></span></p></td><td data-colwidth="302" width="302" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">模型原始输出,未经验证</span></span></p></td></tr><tr><td data-colwidth="174" width="174" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">人工评审(去噪/复现)</span></span></p></td><td data-colwidth="91" width="91" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">6,123</span></span></p></td><td data-colwidth="302" width="302" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">人力成为瓶颈环节</span></span></p></td></tr><tr><td data-colwidth="174" width="174" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">确认为真实漏洞</span></span></p></td><td data-colwidth="91" width="91" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">5,674</span></span></p></td><td data-colwidth="302" width="302" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55Line truncated
|
||||
表 6-1
|
||||
|
||||
开源漏洞漏斗数据(源自官方仪表盘,截至 2026-10-02)
|
||||
|
||||
这组数字最值得注意的是两个比值:
|
||||
|
||||
● 评审覆盖率:29,439 条候选中,仅 6,123 条(约 21%)得到人工评审。换句话说,近八成的扫描产出尚未被人类看过——这就是「验证瓶颈」的量化体现。
|
||||
|
||||
● 修补落地率:5,103 条被确认收到的报告中,仅 516 条有公开可统计的修补,约 10%。官方对此给出了三点解释:仍在 90 天窗口早期、部分修补无公开公告导致漏计、以及安全生态本身已超载。
|
||||
|
||||
第三点解释尤其值得注意——官方自己承认:「即便以我们相对缓慢的披露节奏,Mythos Preview 也在给一个本已超负荷的安全生态增加负担。」这种坦率在厂商宣传材料中并不常见,也因此更有参考价值。
|
||||
|
||||
6.2
|
||||
|
||||
88% 抽样验证实验
|
||||
|
||||
为验证早期版本 OSS Scanner 的质量,Anthropic 请其 CVD 流程中的专家渗透测试人员,对来自 48 个项目的 97 条高危/严重漏洞做了逐条复核。结果如下:
|
||||
|
||||

|
||||
|
||||
图 9
|
||||
|
||||
早期版本的抽样验证:97 条样本中 88% 达到 CVD 质量门槛
|
||||
<table><tbody><tr><td data-colwidth="227" width="227" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">复核结果</span></span></p></td><td data-colwidth="113" width="113" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">数量</span></span></p></td><td data-colwidth="113" width="113" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">占比</span></span></p></td></tr><tr><td data-colwidth="227" width="227" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">达到 CVD 流程标准</span></span></p></td><td data-colwidth="113" width="113" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">85</span></span></p></td><td data-colwidth="113" width="113" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">87.6%</span></span></p></td></tr><tr><td data-colwidth="227" width="227" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">真实但属于重复问题</span></span></p></td><td data-colwidth="113" width="113" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">11</span></span></p></td><td data-colwidth="113" width="113" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">11.3%</span></span></p></td></tr><tr><td data-colwidth="227" width="227" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">误报(invalid)</span></span></p></td><td data-colwidth="113" width="113" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">1</span></span></p></td><td data-colwidth="113" width="113" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">1.0%</span><Line truncated
|
||||
表 6-2
|
||||
|
||||
97 条高危/严重漏洞样本的专家复核结果
|
||||
|
||||
这组数字非常重要,但必须谨慎解读:
|
||||
|
||||
● 样本量有限:97 条样本来自 48 个项目,且都是「高危/严重」这一子集,不能直接外推到全部 29,439 条候选漏洞。
|
||||
|
||||
● 仅 1 条被判定为误报,但 11 条属于重复——这意味着真实场景中「去重」可能是比「误报」更主要的噪声来源。
|
||||
|
||||
● 官方也承认:仍有维护者反馈严重性评级偏高、或扫描器误解了项目的威胁模型。这与 Glasswing 阶段 62.4% 的确认率相互印证。
|
||||
|
||||
6.3
|
||||
|
||||
维护者一手反馈
|
||||
|
||||
官方公告引用了五位知名开源维护者的评价。这些引用是「官方挑选后呈现」的,因此本报告一并标注这一属性。为便于复核,原文引用如下:
|
||||
<table><tbody><tr><td data-colwidth="91" width="91" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">维护者</span></span></p></td><td data-colwidth="83" width="83" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">项目</span></span></p></td><td data-colwidth="393" width="393" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">官方引用原文(节选)</span></span></p></td></tr><tr><td data-colwidth="91" width="91" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">Noah Misch</span></span></p></td><td data-colwidth="83" width="83" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">PostgreSQL</span></span></p></td><td data-colwidth="393" width="393" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">「OSS Scanner 的发现中,PostgreSQL 缺陷占比异常之高。数份报告附带的修复几乎可以直接采用,快速通道访问让我们能在 GA 版本发布前解决最新问题。」</span></span></p></td></tr><tr><td data-colwidth="91" width="91" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">Anton Arapov</span></span></p></td><td data-colwidth="83" width="83" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">OpenSSL</span></span></p></td><td data-colwidth="393" width="393" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">「约 18 个月前、Glasswing 之前的早期 AI 报告令人震惊(质量差)。而从 Anthropic 收到的报告——包括原始模型输出——质量与人工报告相当,有时更好。尤其是当报告附带真实利用代码时,工程师几乎立刻就能验证。」</span></span></p></td></tr><tr><td data-colwidth="91" width="91" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">Todd Ouska</span></span></p></td><td data-colwidth="83" width="83" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;cLine truncated
|
||||
表 6-3
|
||||
|
||||
维护者反馈(源自 Anthropic 官方公告,为官方挑选后呈现)
|
||||
<table><tbody><tr><td data-colwidth="612" width="612" valign="top" style="background: rgb(253, 246, 236);border-width: 1pt;border-style: solid;border-color: rgb(181, 107, 18);padding: 0pt 5.4pt;"><p style="margin-top: 4pt;margin-bottom: 1pt;line-height: 1.5em;"><span style="font-size: 10.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(30, 107, 67);font-weight: bold;"><span leaf="">如何解读这些反馈</span></span></p><p style="margin-top: 1pt;margin-bottom: 4pt;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">这些引用的价值在于提供了「可验证的第三方参照点」——例如 wolfSSL 的「74 份报告中 72 份有效、5 份成为 CVE」是一个具体可查的比值。但需注意:这是官方挑选的正面样本,不能据此认为所有维护者的体验都是正面的。第 7 章将呈现对立的观察。</span></span></p></td></tr></tbody></table>
|
||||
|
||||
|
||||
6.4
|
||||
|
||||
案例深挖:CVE-2026-5194 wolfSSL 证书伪造
|
||||
|
||||
在 Glasswing 更新中,官方点名了一个具体的、已修补的高危漏洞,作为能力展示的实例。本报告将其作为技术细节的锚点单独剖析。
|
||||
<table><tbody><tr><td data-colwidth="121" width="121" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">项目</span></span></p></td><td data-colwidth="438" width="438" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">内容</span></span></p></td></tr><tr><td data-colwidth="121" width="121" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">CVE 编号</span></span></p></td><td data-colwidth="438" width="438" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">CVE-2026-5194</span></span></p></td></tr><tr><td data-colwidth="121" width="121" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">受影响项目</span></span></p></td><td data-colwidth="438" width="438" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">wolfSSL(知名开源密码学库,宣称用于全球数十亿设备)</span></span></p></td></tr><tr><td data-colwidth="121" width="121" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">漏洞类型</span></span></p></td><td data-colwidth="438" width="438" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">证书伪造(certificate forgery)——可伪造证书,进而在用户看来完全合法的网站上假冒银行或邮件服务商</span></span></p></td></tr><tr><td data-colwidth="121" width="121" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">CVSS 评分</span></span><o:page></o:page></p></td><td data-colwidth="438" width="438" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">Anthropic/通用口径 9.1;Red Hat 评定为 10(最高)</span></span></p></td></tr><tr><td data-colwidth="121" width="121" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">修复版本</span></span></p></td><td data-colwidth="438" width="438" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4ptLine truncated
|
||||
表 6-4
|
||||
|
||||
CVE-2026-5194 关键信息(多来源交叉)
|
||||
|
||||
这个案例的示范意义在于:它不是一个「配置错误」或「已知漏洞的变体」,而是一个需要理解密码学协议语义、并能构造出实际伪造证书的深度缺陷。模型不仅发现了它,还构造了可用的利用路径——这正是「可利用性判定」能力的具体体现。
|
||||
|
||||
同时也要保持审慎:这是一个被官方反复引用的标志性案例,属于「挑选出的最佳样本」。它能证明上限,但不能代表典型产出。
|
||||
|
||||
6.5
|
||||
|
||||
数字口径矛盾点辨析
|
||||
|
||||
在交叉核对多个来源时,本报告发现了若干数字口径不一致之处。这些差异本身值得记录,因为它提示读者:面对 AI 安全效能数据时应保持核对习惯。
|
||||
<table><tbody><tr><td data-colwidth="106" width="106" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">争议点</span></span></p></td><td data-colwidth="136" width="136" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">口径 A(官方原文)</span></span></p></td><td data-colwidth="136" width="136" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">口径 B(第三方转述)</span></span></p></td><td data-colwidth="181" width="181" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">本报告处理</span></span></p></td></tr><tr><td data-colwidth="106" width="106" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">Glasswing 已评审数量</span></span></p></td><td data-colwidth="136" width="136" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">1,752 条(Glasswing 更新原文)</span></span></p></td><td data-colwidth="136" width="136" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">1,726 条(部分第三方转述)</span></span></p></td><td data-colwidth="181" width="181" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">以官方原文 1,752 为准;差异可能源于转述时点或统计口径不同,本报告不采信第三方数字</span></span></p></td></tr><tr><td data-colwidth="106" width="106" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">候选漏洞总数</span></span></p></td><td data-colwidth="136" width="136" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">29,000+(公告表述)</span></span></p></td><td data-colwidth="136" width="136" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">29,439(仪表盘精确值)</span></span></p></td><td data-colwidth="181" width="181" valign="top" style="background: rgb(243, 247, 245);Line truncated
|
||||
表 6-5
|
||||
|
||||
数字口径差异辨析
|
||||
<table><tbody><tr><td data-colwidth="612" width="612" valign="top" style="background: rgb(234, 245, 238);border-width: 1pt;border-style: solid;border-color: rgb(46, 139, 87);padding: 0pt 5.4pt;"><p style="margin-top: 4pt;margin-bottom: 1pt;line-height: 1.5em;"><span style="font-size: 10.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(30, 107, 67);font-weight: bold;"><span leaf="">一条通用的数据阅读建议</span></span></p><p style="margin-top: 1pt;margin-bottom: 4pt;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">AI 安全领域的效能数字,务必确认三件事:分子分母分别是什么、样本是否经过挑选、统计时点是何时。本报告在呈现任何数字时都尽量交代这三点;对无法交代的第三方数字,采取不采信或明确标注为「不可溯源」的处理方式。</span></span></p></td></tr></tbody></table>
|
||||
|
||||
|
||||
7
|
||||
|
||||
争议与第三方质疑
|
||||
|
||||
任何一份只呈现厂商自述的研究报告都是不完整的。这一章集中呈现独立的、来自厂商之外的观察与质疑,并尽可能标注其证据强度。
|
||||
|
||||
7.1
|
||||
|
||||
「无人工复核」的双刃剑
|
||||
|
||||
这是围绕 OSS Scanner 最核心的争议。其利弊可以明确地分为两侧:
|
||||
<table><tbody><tr><td data-colwidth="91" width="91" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">视角</span></span></p></td><td data-colwidth="234" width="234" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">收益</span></span></p></td><td data-colwidth="242" width="242" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">代价</span></span></p></td></tr><tr><td data-colwidth="91" width="91" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">对 Anthropic</span></span></p></td><td data-colwidth="234" width="234" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">扫描频率与覆盖面大幅提升;不受限于人类审核产能;可对全行业免费提供服务</span></span></p></td><td data-colwidth="242" width="242" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">报告质量无兜底;误报可能损害品牌信誉;「免费提供未经确认的缺陷报告」在伦理上存在争议</span></span></p></td></tr><tr><td data-colwidth="91" width="91" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">对维护者</span></span></p></td><td data-colwidth="234" width="234" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">能更快拿到 AI 发现的所有线索(含未确认的);可以要求「把你们有的一切都发给我」</span></span></p></td><td data-colwidth="242" width="242" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">需要自行判断真伪;在维护者本就超负荷的情况下进一步增加工作量;误报可能造成时间浪费与挫败感</span></span></p></td></tr><tr><td data-colwidth="91" width="91" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">对生态</span></span></p></td><td data-colwidth="234" width="234" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41Line truncated
|
||||
表 7-1
|
||||
|
||||
「无人工复核」的利弊矩阵
|
||||
|
||||
值得注意的是,官方对这一取舍是自觉的。Glasswing 更新中提到:部分维护者已明确表示「严重受限于产能」,甚至有人请求 Anthropic 放慢披露速度,以便有时间设计补丁。这既说明需求真实存在,也说明现有节奏已经超出生态承载能力。
|
||||
|
||||
7.2
|
||||
|
||||
社区治理与 PR 接受率
|
||||
|
||||
根据 The Hacker News 报道,截至 2026 年 10 月 9 日,该仓库已提交 116 个 PR。而独立研究者观察到的一个现象值得关注:在早期阶段,提交的 PR 中全部未被立即接受。
|
||||
|
||||
这一观察需要谨慎对待:PR 未被接受可能有多种原因——项目本身不符合准入标准、配置存在问题、审阅排队、或 Anthropic 有意控制接入节奏。它不必然意味着治理失败。但它的确提示了一个现实:接入并非「提交即通过」,存在人工审核关卡。
|
||||
|
||||
7.3
|
||||
|
||||
独立实测:成本、耗时与命中率
|
||||
|
||||
独立研究博客 rotecodefraktion.de 对 OSS Scanner 做了一次实测——以自己的 C 语言项目 f451 接入,观察完整流程。这是本报告能找到的最具参考价值的第三方一手数据。以下数据均标注为「单项目样本」。
|
||||
|
||||

|
||||
|
||||
图 10
|
||||
|
||||
独立研究者对 OSS Scanner 的实测结果(单个中小型 C 项目)
|
||||
<table><tbody><tr><td data-colwidth="159" width="159" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">观察项</span></span></p></td><td data-colwidth="113" width="113" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">实测结果</span></span></p></td><td data-colwidth="287" width="287" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">说明</span></span></p></td></tr><tr><td data-colwidth="159" width="159" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">tools/check 构建校验耗时</span></span></p></td><td data-colwidth="113" width="113" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">约 3 分钟</span></span></p></td><td data-colwidth="287" width="287" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">本地环境实测</span></span></p></td></tr><tr><td data-colwidth="159" width="159" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">单次扫描的 agent 步数</span></span></p></td><td data-colwidth="113" width="113" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">55 步</span></span></p></td><td data-colwidth="287" width="287" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">Claude Code + Opus 5.5 环境</span></span></p></td></tr><tr><td data-colwidth="159" width="159" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">单次扫描模型开销</span></span></p></td><td data-colwidth="113" width="113" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">约 4.43 美元</span></span></p></td><td data-colwidth="287" width="287" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform:Line truncated
|
||||
表 7-2
|
||||
|
||||
独立研究者单项目实测数据(样本量 N=1,不具统计意义)
|
||||
|
||||
这组数据的价值不在于精确性,而在于量级:一次完整的项目扫描,成本在数美元级别、耗时在分钟级别。对比传统人工渗透测试动辄数万到数十万元的成本,经济性差异是数量级的。这也解释了为什么厂商有能力「免费」提供这项服务——其边际成本对厂商而言极低。
|
||||
|
||||
7.4
|
||||
|
||||
安全边界:tools/check 的网络与供应链风险
|
||||
|
||||
官方在 README 中主动披露了本工具链的两项风险,这种坦率值得记录,也应成为使用者必读的安全提示:
|
||||
<table><tbody><tr><td data-colwidth="612" width="612" valign="top" style="background: rgb(253, 236, 234);border-width: 1pt;border-style: solid;border-color: rgb(192, 57, 43);padding: 0pt 5.4pt;"><p style="margin-top: 4pt;margin-bottom: 1pt;line-height: 1.5em;"><span style="font-size: 10.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(30, 107, 67);font-weight: bold;"><span leaf="">官方明示的两项风险</span></span></p><p style="margin-top: 1pt;margin-bottom: 4pt;line-height: 1.5em;"><span style="font-size: 9.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">风险一:tools/check 会像 docker build 一样,以网络访问权限运行项目自带的 Dockerfile。配合 --qemu 时,构建在虚拟机内进行,可避免触碰本地文件,但它仍可能访问你机器或本地网络上的服务。官方建议:只检查你信任的项目,或在一台「没什么可失去的」机器上运行。 </span><span leaf=""><br/></span><span leaf=""><br/></span><span leaf="">风险二:tools/check 会把 Claude Code 安装进它构建的镜像(扫描器也这么做)。Claude Code 受其自身条款约束。</span></span><o:page></o:page></p></td></tr></tbody></table>
|
||||
|
||||
|
||||
这两条提示的实际含义是:工具链本身引入了供应链信任假设。在本地校验一个不受信任的项目,等同于执行一段不受信任的构建脚本。对企业环境而言,建议在隔离的一次性沙箱(而非开发机)中执行校验。
|
||||
|
||||
7.5
|
||||
|
||||
披露政策的模糊地带
|
||||
|
||||
OSS Scanner 的披露政策是「不设披露期、不主动公开」,但它与 Anthropic 既有的 CVD 政策存在交叠,构成了一个需要仔细辨析的地带。三种模式的时间线对比如下:
|
||||
|
||||

|
||||
|
||||
图 11
|
||||
|
||||
披露时间线的三种模式对照(天数)
|
||||
|
||||
关键在于理解「触发条件」而非「时长」:
|
||||
|
||||
● OSS Scanner 报告(未人工验证):不设披露期,不公开。
|
||||
|
||||
● 若同一问题后来被 Anthropic 通过 CVD 程序人工验证:从「通知维护者该报告已被人工验证」之日起,回归标准 90 天披露窗口。
|
||||
|
||||
● 官方保留未来对某些高危报告施加披露期的权利。
|
||||
|
||||
这意味着:一条报告是否最终会被公开,取决于它事后是否被人工验证。对维护者而言,披露义务因此变得不完全可预测。这是一个需要行业持续观察的制度设计问题。
|
||||
|
||||
|
||||
8
|
||||
|
||||
行业影响与竞争格局
|
||||
|
||||
8.1
|
||||
|
||||
对开源维护者生态的冲击
|
||||
|
||||
OSS Scanner 揭示了一个结构性矛盾:AI 让「发现」变得廉价,却没有让「修复」变得更容易。而开源维护者的时间与精力,恰恰是最难以规模化的资源。
|
||||
|
||||
这可能产生几种后果:
|
||||
|
||||
● 负担集中化:关键基础设施项目(如 curl、OpenSSL)本就承载巨大压力,AI 扫描会在短期内进一步放大其工作量。
|
||||
|
||||
● 筛选能力成为核心技能:维护者需要快速从大量报告中辨别出真正重要的几条,这本身是一项需要经验的能力。
|
||||
|
||||
● 支撑侧的响应:官方已与 Open Source Security Foundation 的 Alpha-Omega 项目合作,支持其帮助维护者处理与分诊缺陷报告的努力。这承认了「发现只是开始」。
|
||||
|
||||
8.2
|
||||
|
||||
与商业 SCA / ASPM 厂商的关系
|
||||
|
||||
一个自然的疑问是:OSS Scanner 是否会冲击商业安全厂商?本报告的判断是:短期冲击有限,长期将重构部分价值链。
|
||||
<table><tbody><tr><td data-colwidth="136" width="136" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">能力环节</span></span></p></td><td data-colwidth="83" width="83" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">是否被替代</span></span></p></td><td data-colwidth="348" width="348" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">原因</span></span></p></td></tr><tr><td data-colwidth="136" width="136" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">依赖组件的已知漏洞告警</span></span></p></td><td data-colwidth="83" width="83" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">否</span></span></p></td><td data-colwidth="348" width="348" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">OSS Scanner 不做组件版本比对,这是 SCA 的专长</span></span></p></td></tr><tr><td data-colwidth="136" width="136" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">源码级逻辑缺陷发现</span></span></p></td><td data-colwidth="83" width="83" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">部分</span></span></p></td><td data-colwidth="348" width="348" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">AI 扫描在此具备明显优势,可能挤压部分人工审计与部分静态分析工具的市场</span></span></p></td></tr><tr><td data-colwidth="136" width="136" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">可利用性判定与 PoC</span></span></p></td><td data-colwidth="83" width="83" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">部分</span></span></p></td><td data-colwidth="348" width="348" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-aligLine truncated
|
||||
表 8-1
|
||||
|
||||
OSS Scanner 对各能力环节的影响评估
|
||||
|
||||
8.3
|
||||
|
||||
对甲方安全团队的行动建议
|
||||
|
||||
对于企业安全团队,本报告给出四条务实建议:
|
||||
|
||||
● 不要把 OSS Scanner 当作 SCA 的替代:两者面向不同问题域,应当并行部署,并用统一的风险台账收敛结果。
|
||||
|
||||
● 在隔离环境中试用工具链:若计划本地跑 tools/check,务必在一次性沙箱中进行,不要在生产或开发机上执行不受信任项目的构建。
|
||||
|
||||
● 关注「修复侧」自动化:既然发现已变得廉价,投入应更多转向「自动分诊 + 自动补丁验证 + 回归测试」这一侧的能力建设。
|
||||
|
||||
● 建立 AI 报告的可信度分级:来自 AI 的报告与来自人工确认的报告,应使用不同的处理 SLA 与信任等级,避免把未确认的发现直接当作已确认漏洞跟踪。
|
||||
|
||||
|
||||
9
|
||||
|
||||
结论与展望
|
||||
|
||||
9.1
|
||||
|
||||
十点结论
|
||||
|
||||
01
|
||||
|
||||
定位|
|
||||
OSS Scanner 是 Project Glasswing 能力向开源生态的产品化外溢,以免费、opt-in 的形式提供服务,准入标准对标 OSS-Fuzz。
|
||||
|
||||
02
|
||||
|
||||
技术核心|
|
||||
其真正的技术价值在于「两阶段离线审计」架构——有网构建、断网审计,兼顾了安全隔离与结果可复现。
|
||||
|
||||
03
|
||||
|
||||
配置门槛|
|
||||
接入成本极低:一个 project.yaml + 一个 Dockerfile;threat_model.md 是提升结果质量的关键杠杆,建议视为必填。
|
||||
|
||||
04
|
||||
|
||||
设计取舍|
|
||||
「不做人工复核」是刻意的权衡结果,换来扫描频率与覆盖面,代价是误报风险由维护者承担。
|
||||
|
||||
05
|
||||
|
||||
真实瓶颈|
|
||||
漏斗数据(29,439 → 584)清晰揭示了真正的瓶颈:不是发现,而是验证与修复。评审覆盖率仅约 21%。
|
||||
|
||||
06
|
||||
|
||||
效果证据|
|
||||
88% 抽样通过率与维护者的正面反馈构成了质量支撑,但样本量为 97 条,且为官方挑选的正例,不宜过度外推。
|
||||
|
||||
07
|
||||
|
||||
已知缺陷|
|
||||
严重性评级偏高是反复出现的反馈(Glasswing 阶段高危确认率 62.4% 亦印证)。threat_model.md 是目前最低成本的缓解手段。
|
||||
|
||||
08
|
||||
|
||||
成本量级|
|
||||
独立实测显示单项目扫描成本在数美元、耗时在分钟级别,经济性较传统人工审计有数量级优势。
|
||||
|
||||
09
|
||||
|
||||
治理风险|
|
||||
无披露期 + 模型生成 + 不可溯源的组合,使责任边界模糊;工具链本身亦引入了供应链信任假设。
|
||||
|
||||
10
|
||||
|
||||
长期关键|
|
||||
该服务的生态价值取决于「修复侧」能否同步提速;否则只会把发现过快的问题转化为维护者的负担。
|
||||
|
||||
9.2
|
||||
|
||||
关键分歧与待观察指标
|
||||
|
||||
本报告认为,以下四个问题尚未有定论,值得持续观察:
|
||||
<table><tbody><tr><td data-colwidth="136" width="136" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">待观察问题</span></span></p></td><td data-colwidth="204" width="204" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">观察指标</span></span></p></td><td data-colwidth="219" width="219" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">为何重要</span></span></p></td></tr><tr><td data-colwidth="136" width="136" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">误报的实际负担有多大?</span></span></p></td><td data-colwidth="204" width="204" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">维护者公开的误报率反馈;社区对 AI 报告态度的变化</span></span></p></td><td data-colwidth="219" width="219" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">决定「无人工复核」模式能否长期成立</span></span></p></td></tr><tr><td data-colwidth="136" width="136" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">修复侧能否跟上?</span></span></p></td><td data-colwidth="204" width="204" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">漏斗中「已修补」环节的增速;平均修复时长变化</span></span></p></td><td data-colwidth="219" width="219" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">决定该服务最终是净增益还是净负担</span></span></p></td></tr><tr><td data-colwidth="136" width="136" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">披露政策会否收紧?</span></span></p></td><td data-colwidth="204" width="204" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">官方对高危报告施加披露期的实际动作</span></span></p></td><td data-colwidth="219" width="219" valign="top" style="border-width: 1Line truncated
|
||||
表 9-1
|
||||
|
||||
待观察的关键问题与指标
|
||||
|
||||
最后需要强调的是:OSS Scanner 的意义已经超出了它本身。无论这个具体服务最终如何演进,它都验证了一个不可逆的趋势——AI 已经能够以可接受的成本,在真实世界的代码库中发现高质量的原创缺陷。对防御方而言,问题不再是「这件事会不会发生」,而是「我们准备好了吗」。
|
||||
|
||||
10
|
||||
|
||||
附录
|
||||
|
||||
附录 A
|
||||
|
||||
关键数据引用溯源表
|
||||
|
||||
为便于复核,下表列出本报告引用的关键数据及其来源。
|
||||
<table><tbody><tr><td data-colwidth="166" width="166" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">数据点</span></span></p></td><td data-colwidth="151" width="151" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">数值</span></span></p></td><td data-colwidth="242" width="242" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">来源</span></span></p></td></tr><tr><td data-colwidth="166" width="166" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">CyberGym 基准能力跃升</span></span></p></td><td data-colwidth="151" width="151" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">< 20% → > 85%</span></span></p></td><td data-colwidth="242" width="242" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">Anthropic 公告(2026-10-08)</span></span></p></td></tr><tr><td data-colwidth="166" width="166" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">候选漏洞总数</span></span></p></td><td data-colwidth="151" width="151" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">29,000+ / 29,439</span></span></p></td><td data-colwidth="242" width="242" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">公告概数 / 官方仪表盘</span></span></p></td></tr><tr><td data-colwidth="166" width="166" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">人工复核数量</span></span></p></td><td data-colwidth="151" width="151" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">约 6,000 / 6,123</span></span></p></td><td data-colwidth="242" width="242" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 8pt;font-family: 微软雅黑;font-variant: normal;textLine truncated
|
||||
表 A-1
|
||||
|
||||
关键数据溯源表
|
||||
|
||||
附录 B
|
||||
|
||||
project.yaml 配置速查
|
||||
<table><tbody><tr><td data-colwidth="612" width="612" valign="top" style="background: rgb(242, 246, 244);border-width: 1pt;border-style: solid;border-color: rgb(201, 222, 210);padding: 0pt 5.4pt;"><p style="margin-top: 3pt;margin-bottom: 0pt;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: Consolas;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf=""># project.yaml 最小可用配置</span></span></p><p style="margin-top: 0pt;margin-bottom: 0pt;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: Consolas;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">repo: https://github.com/your/project</span><span style=""><span leaf=""> </span></span><span leaf=""># 必填</span></span></p><p style="margin-top: 0pt;margin-bottom: 0pt;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: Consolas;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">primary_contact: security@your.org</span><span style=""><span leaf=""> </span></span><span leaf=""># 必填</span></span></p><p style="margin-top: 0pt;margin-bottom: 0pt;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: Consolas;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">dockerfile: .oss-scanner/Dockerfile</span><span style=""><span leaf=""> </span></span><span leaf=""># 条件必填</span></span></p><p style="margin-top: 0pt;margin-bottom: 0pt;line-height: 1.5em;"><span style="font-family: 微软雅黑;font-variant: normal;text-transform: none;"><o:p><span leaf=""> </span></o:p></span></p><p style="margin-top: 0pt;margin-bottom: 0pt;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: Consolas;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf=""># 建议补充(提升扫描质量)</span></span></p><p style="margin-top: 0pt;margin-bottom: 0pt;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: Consolas;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">threat_model: .oss-scanner/threat_model.md # 强烈建议</span></span></p><p style="margin-top: 0pt;margin-bottom: 0pt;line-height: 1.5em;"><span style="font-family: 微软雅黑;font-variant: normal;text-transform: none;"><o:p><span leaf=""> </span></o:p></span></p><p style="margin-top: 0pt;margin-bottom: 0pt;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: Consolas;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf=""># 可选</span></span></p><p style="margin-top: 0pt;margin-bottom: 0pt;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: Consolas;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">auto_ccs:</span></span></p><p style="margin-top: 0pt;margin-bottom: 0pt;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: Consolas;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span style=""><span leaf=""> </span></span><span leaf="">-</span><span style=""><span leaf=""> </span></span><span leaf="">maintainer@your.org</span></span></p><p style="margin-top: 0pt;margin-bottom: 0pt;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: Consolas;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">homepage: https://your.org</span></span></p><p style="margin-top: 0pt;margin-bottom: 0pt;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: Consolas;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">disabled: false</span></span></p><p style="margin-top: 0pt;margin-bottom: 0pt;line-height: 1.5em;"><span style="font-family: 微软雅黑;font-variant: normal;text-transform: none;"><o:p><span leaf=""> </span></o:p></span></p><p style="margin-top: 0pt;margin-bottom: 0pt;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: Consolas;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf=""># 加密报告(与 auto_ccs 互斥)</span></span></p><p style="margin-top: 0pt;margin-bottom: 0pt;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: Consolas;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf=""># pgp: |</span></span></p><p style="margin-top: 0pt;margin-bottom: 0pt;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: Consolas;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">#</span><span style=""><span leaf=""> </span></span><span leaf="">-----BEGIN PGP PUBLIC KEY BLOCK-----</span></span><o:page></o:page></p><p style="margin-top: 0pt;margin-bottom: 0pt;line-height: 1.5em;"><span style="font-size: 8.5pt;font-family: Consolas;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">#</span><span style=""><span leaf=""> </span></span><span leaf="">...</span></span></p><p style="margin-top: 0pt;margin-bottoLine truncated
|
||||
代码 B-1
|
||||
|
||||
project.yaml 配置速查
|
||||
|
||||
附录 C
|
||||
|
||||
术语表
|
||||
<table><tbody><tr><td data-colwidth="121" width="121" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">术语</span></span></p></td><td data-colwidth="438" width="438" valign="top" style="background: rgb(30, 107, 67);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2.5pt;margin-bottom: 2.5pt;text-align: center;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(255, 255, 255);font-weight: bold;"><span leaf="">全称 / 释义</span></span></p></td></tr><tr><td data-colwidth="121" width="121" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">CVD</span></span></p></td><td data-colwidth="438" width="438" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">Coordinated Vulnerability Disclosure,协调漏洞披露</span></span></p></td></tr><tr><td data-colwidth="121" width="121" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">CVP</span></span></p></td><td data-colwidth="438" width="438" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">Cyber Verification Program,Anthropic 的网络安全能力验证计划</span></span></p></td></tr><tr><td data-colwidth="121" width="121" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">OSS-Fuzz</span></span></p></td><td data-colwidth="438" width="438" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">Google 发起的开源软件模糊测试计划,OSS Scanner 准入标准参考对象</span></span></p></td></tr><tr><td data-colwidth="121" width="121" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">SCA</span></span></p></td><td data-colwidth="438" width="438" valign="top" style="background: rgb(243, 247, 245);border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">Software Composition Analysis,软件成分分析</span></span></p></td></tr><tr><td data-colwidth="121" width="121" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;line-height: 1.5em;"><span style="font-size: 9pt;font-family: 微软雅黑;font-variant: normal;text-transform: none;color: rgb(31, 41, 55);"><span leaf="">ASPM</span></span></p></td><td data-colwidth="438" width="438" valign="top" style="border-width: 1pt;border-style: solid;border-color: windowtext;padding: 0pt 5.4pt;"><p style="margin-top: 2pt;margin-bottom: 2pt;text-align: left;lLine truncated
|
||||
表 C-1
|
||||
|
||||
术语表
|
||||
|
||||
— 报告完 —
|
||||
|
||||
本报告基于截至 2026-10-09 的公开信息编制,所引用数据均标注来源;厂商自述数据与第三方观察已分别标识。
|
||||
|
||||
Reference in new issue
Block a user