diff --git a/data.json b/data.json index a950dce3..5c2a06a9 100644 --- a/data.json +++ b/data.json @@ -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 技术架构、数据效果与行业影响深度剖析" } \ No newline at end of file diff --git a/doc/2026-10/面向开源生态的 AI 漏洞发现服务:Anthropic OSS Scanner 技术架构、数据效果与行业影响深度剖析.md b/doc/2026-10/面向开源生态的 AI 漏洞发现服务:Anthropic OSS Scanner 技术架构、数据效果与行业影响深度剖析.md new file mode 100644 index 00000000..77815267 --- /dev/null +++ b/doc/2026-10/面向开源生态的 AI 漏洞发现服务:Anthropic OSS Scanner 技术架构、数据效果与行业影响深度剖析.md @@ -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 能力介入开源治理的又一实例。 +
十条核心判断 1. OSS Scanner 是 Project Glasswing 的「产品化外溢」,本质是把内部扫描能力向开源生态开放。 |
指标 | 数值 | 备注 |
发现的高危/严重漏洞 | 10,000+ | 由约 50 家合作伙伴共同提交 |
Cloudflare 发现缺陷 | 2,000 条 | 其中 400 条为高危/严重;误报率被其团队认为优于人工测试者 |
Mozilla Firefox 150 修复 | 271 个 | 为 Firefox 148 使用 Claude Opus 4.6 时的 10 倍以上 |
扫描的开源项目数 | 1,000+ | 覆盖支撑互联网的关键项目 |
总发现(含中低危) | 23,019 条 | 模型自评口径 |
模型自评高危/严重 | 6,202 条 | 估计值,非人工确认 |
已由独立机构评审 | 1,752 条 | 六家独立安全研究机构(少量为 Anthropic 自评) |
判定为有效真阳性 | 1,587 条 | 占已评审的 90.6% |
确认达高危/严重 | 1,094 条 | 占已评审的 62.4% |
一个容易被忽略的例外条款 虽然 OSS Scanner 的报告本身不设披露期,但官方留了一个后门:如果某条报告后来通过Anthropic 现有的 CVD 程序被人工验证,则该漏洞将回归标准 CVD 政策,从「通知你该报告已被人工验证」之日起计 90 天披露。此外,官方表示随着对 OSS Scanner 表现的信心提升,未来可能对某些高危漏洞报告施加披露期。 |
维度 | 传统 SCA / 依赖组件分析 | OSS Scanner(AI 驱动) |
分析对象 | 依赖清单中的已知组件版本 | 项目自身源码的语义逻辑 |
发现来源 | CVE 数据库 / 漏洞库比对 | 模型对代码语义与数据流的推理 |
典型产出 | 「你用的 X 库 1.2 版本有已知 CVE」 | 「这段处理逻辑存在可被触发的缺陷」 |
能否发现新漏洞 | 否(只能匹配已知漏洞) | 是(可发现未经披露的原创缺陷) |
候选补丁 | 通常无 | 有(模型生成可参考的 diff) |
复现器 | 通常无 | 有(自包含、可在镜像内触发) |
误报特征 | 版本误判、传递依赖噪音 | 语义误判、严重性评级偏高 |
成熟度与治理 | 高(生态成熟、报告规范) | 早期(治理机制仍在演进) |
片段 | 官方原文 | 工程意图 |
基础镜像 | FROM debian:bookworm | 选择稳定、体积适中的 Debian 基础镜像 |
环境变量 | CC=clang | 统一编译器,避免依赖 gcc 默认配置带来的差异 |
依赖安装 | apt-get install -y --no-install-recommends | 装入构建工具链与运行时;--no-install-recommends 控制体积 |
清理缓存 | rm -rf /var/lib/apt/lists/* | 减小镜像体积,加快搬运 |
源码放置 | COPY . /src | 落实 /src 契约 |
构建配置 | cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo | 关键:带调试符号(-g)与帧指针,让 agent 能定位与调试崩溃 |
构建执行 | cmake --build /src/build -j"$(nproc)" | 并行构建;任何一步失败都视为构建失败并通知 contact |
测试 | ctest --output-on-failure -j$(nproc) | 跑便宜测试以确认镜像可用,但失败不中止构建 |
组成部分 | 内容 | 对维护者的价值 |
自包含复现器 | 可在构建好的镜像内独立触发缺陷的操作序列 | 无需猜测如何复现,拿到即可验证 |
漏洞解释 | 缺陷成因、可达路径、影响面、利用前提 | 帮助判断是否真的可利用、影响范围多大 |
引入点二分 | 定位首个引入该缺陷的提交(bisection) | 界定受影响版本区间,指导补丁回溯 |
候选补丁 | 可参考的修复 diff | 降低修复门槛,但可用性由维护者判断 |
命令 | 作用 | 依赖要求 |
tools/validate.py | 按注册规则校验 projects/ | Python 3 + PyYAML |
tools/check | 完全按扫描器的方式构建项目,并在构建完成的镜像中打开一个无网 shell;若测试能在该容器中通过,扫描器大概率也能正常工作 | 本机需安装 git、Docker、Python 3 + PyYAML |
tools/check --qemu | 在按扫描器布局构造的虚拟机内执行同样的检查 | Linux x86-64 + QEMU(替代 Docker) |
字段 | 要求 | 说明 |
repo | 必填 | 待扫描的 git 仓库 https 地址,可用 #branch / #tag 固定版本 |
primary_contact | 必填 | 报告与构建失败通知的唯一主收件地址 |
dockerfile | 条件必填 | 构建镜像的路径;若与 project.yaml 同目录放置可省略 |
threat_model | 可选(强荐) | 项目专属威胁模型的路径,用于约束扫描范围与评级 |
auto_ccs | 可选 | 每封报告额外抄送的地址列表;与 pgp 互斥 |
homepage | 可选 | 项目主页地址 |
pgp | 可选 | Armored OpenPGP 公钥;启用后报告仅发 primary_contact |
disabled | 可选 | true 表示暂停报告但不移除注册 |
repo: https://github.com/example/project#main # 必填:待扫描的 git 仓库 primary_contact: security@example.org # 必填:报告与构建问题发往此处 auto_ccs: # 可选:每封报告额外抄送 - maintainer@example.org homepage: https://example.org # 可选 disabled: false # 可选:true 暂停报告 dockerfile: .oss-scanner/Dockerfile # 条件必填 threat_model: .oss-scanner/threat_model.md # 可选(强荐) |
放置方式 | 写法 | 优点 | 缺点 |
放在自己仓库(推荐) | 在 project.yaml 中设置 dockerfile: 路径 | 可在不提交 PR 到上游仓库的情况下自行更新构建方式 | 需要在项目中新增文件 |
放在注册仓库 | 放在 projects/ | 不污染项目自身仓库 | 每次调整构建都需要向上游提交 PR |
模板章节 | 要回答的问题 | 官方示例 |
What this project does and where untrusted input enters | 项目做什么,不可信输入从哪里进入? | 「一个压缩库;我们假定所有输入都不可信」 |
Components that matter most / least | 哪些组件最重要、哪些最不重要? | 「解码器重要;压缩器次要但仍在范围内;contrib/ 是第三方,不在范围内」 |
How to exercise it | 如何驱动它进行测试? | 「examples/ 有小驱动程序;test/ 有回归语料库」 |
How you rate severity | 你如何评定严重性? | 「任何缓冲区溢出、UAF、double free 至少为高危;若可控并可能导致 RCE 则为严重;所有 DoS 为中危」 |
Anything to leave alone | 有什么是不要碰的? | 「不要报告 x86 上 SIMD 代码路径的未对齐访问」 |
实践建议 对希望接入的项目,本报告建议把 threat_model.md 视为「必填」而非「可选」。它是解决「模型严重性评级偏高」这一已知问题的最低成本手段——与其事后逐条纠正误报的严重性,不如事前把评级标准写清楚。 |
操作 | 方式 |
注册项目 | 提交 PR 新增 projects/ |
变更配置 | 提交 PR 修改 projects/ |
暂停报告 | 设置 disabled: true——暂停报告但不移除注册。 |
完全退出 | 删除 projects/ |
签署 CLA | 首次 PR 合并前需签署贡献者许可协议(CLA),由机器人在首个 PR 中给出指令,回复指定语句即可。只需签一次。 |
阶段 | 数量 | 说明 |
扫描产生的候选漏洞 | 29,439 | 模型原始输出,未经验证 |
人工评审(去噪/复现) | 6,123 | 人力成为瓶颈环节 |
确认为真实漏洞 | 5,674 | 占已评审的 92.7% |
生成报告并通知维护者 | 6,157 | 覆盖 591 个项目 |
维护者确认收到 | 5,103 | 确认率约 82.9% |
已修补(公开统计) | 516 | 公开可统计的修补数 |
分配标识符(CVE/GHSA) | 584 | 219 个 CVE + 365 个 GHSA |
复核结果 | 数量 | 占比 |
达到 CVD 流程标准 | 85 | 87.6% |
真实但属于重复问题 | 11 | 11.3% |
误报(invalid) | 1 | 1.0% |
合计 | 97 | 100% |
维护者 | 项目 | 官方引用原文(节选) |
Noah Misch | PostgreSQL | 「OSS Scanner 的发现中,PostgreSQL 缺陷占比异常之高。数份报告附带的修复几乎可以直接采用,快速通道访问让我们能在 GA 版本发布前解决最新问题。」 |
Anton Arapov | OpenSSL | 「约 18 个月前、Glasswing 之前的早期 AI 报告令人震惊(质量差)。而从 Anthropic 收到的报告——包括原始模型输出——质量与人工报告相当,有时更好。尤其是当报告附带真实利用代码时,工程师几乎立刻就能验证。」 |
Todd Ouska | wolfSSL | 「这些报告的信号很强:我们收到的 74 份报告中,除 2 份外全部有效,其中 5 份成为 CVE。附带补丁的报告能直接嵌入我们现有的验证与修复流程。我们希望收到更多。」 |
Eddie Kohler | HotCRP | 「缺陷报告详尽清晰,对 HotCRP 复杂的权限模型有很强的理解,缺陷优先级排序也很好。」 |
Daniel Stenberg | curl | 「我们使用所有可用的最先进工具来查找问题、强化产品……OSS Scanner 帮助我们发现了多个值得处理的 curl 问题,其中包括近几年最严重的 curl 漏洞之一。」 |
如何解读这些反馈 这些引用的价值在于提供了「可验证的第三方参照点」——例如 wolfSSL 的「74 份报告中 72 份有效、5 份成为 CVE」是一个具体可查的比值。但需注意:这是官方挑选的正面样本,不能据此认为所有维护者的体验都是正面的。第 7 章将呈现对立的观察。 |
项目 | 内容 |
CVE 编号 | CVE-2026-5194 |
受影响项目 | wolfSSL(知名开源密码学库,宣称用于全球数十亿设备) |
漏洞类型 | 证书伪造(certificate forgery)——可伪造证书,进而在用户看来完全合法的网站上假冒银行或邮件服务商 |
CVSS 评分 | Anthropic/通用口径 9.1;Red Hat 评定为 10(最高) |
修复版本 | wolfSSL 5.9.1 |
报告者 | Nicholas Carlini(Anthropic Frontier Red Team) |
根因(公开分析) | wc_SignatureVerify 未校验 digest 长度、未检查 OID |
状态 | 已修补;官方表示将发布完整技术分析 |
争议点 | 口径 A(官方原文) | 口径 B(第三方转述) | 本报告处理 |
Glasswing 已评审数量 | 1,752 条(Glasswing 更新原文) | 1,726 条(部分第三方转述) | 以官方原文 1,752 为准;差异可能源于转述时点或统计口径不同,本报告不采信第三方数字 |
候选漏洞总数 | 29,000+(公告表述) | 29,439(仪表盘精确值) | 两者不矛盾:前者为公告中的概数,后者为仪表盘精确计数 |
已通知维护者数量 | 近 5,000 条(公告) | 6,157 条(仪表盘,含 591 项目) | 时点不同:公告为发布日表述,仪表盘为 10-02 快照,后者更晚 |
高危/严重确认率 | 62.4%(占已评审) | 常被误读为「全部高危中 62.4% 为真」 | 必须强调:分母是「已评审的 1,752 条」,不是全部发现 |
一条通用的数据阅读建议 AI 安全领域的效能数字,务必确认三件事:分子分母分别是什么、样本是否经过挑选、统计时点是何时。本报告在呈现任何数字时都尽量交代这三点;对无法交代的第三方数字,采取不采信或明确标注为「不可溯源」的处理方式。 |
视角 | 收益 | 代价 |
对 Anthropic | 扫描频率与覆盖面大幅提升;不受限于人类审核产能;可对全行业免费提供服务 | 报告质量无兜底;误报可能损害品牌信誉;「免费提供未经确认的缺陷报告」在伦理上存在争议 |
对维护者 | 能更快拿到 AI 发现的所有线索(含未确认的);可以要求「把你们有的一切都发给我」 | 需要自行判断真伪;在维护者本就超负荷的情况下进一步增加工作量;误报可能造成时间浪费与挫败感 |
对生态 | 加速漏洞的整体发现速度 | 若误报率不可控,可能引发「狼来了」效应,削弱维护者对 AI 报告的信任,反而降低整体效率 |
观察项 | 实测结果 | 说明 |
tools/check 构建校验耗时 | 约 3 分钟 | 本地环境实测 |
单次扫描的 agent 步数 | 55 步 | Claude Code + Opus 5.5 环境 |
单次扫描模型开销 | 约 4.43 美元 | 按 API 计费口径估算 |
发现总数 | 7 条 | 4 高危 + 1 中危 + 1 低危 + 1 未确认 |
高危占比 | 4/7 | 与官方「严重性偏高」的观察一致 |
额外发现 | 存在未被确认的条目 | 说明报告确实包含需要维护者自行判断的项 |
官方明示的两项风险 风险一:tools/check 会像 docker build 一样,以网络访问权限运行项目自带的 Dockerfile。配合 --qemu 时,构建在虚拟机内进行,可避免触碰本地文件,但它仍可能访问你机器或本地网络上的服务。官方建议:只检查你信任的项目,或在一台「没什么可失去的」机器上运行。 |
能力环节 | 是否被替代 | 原因 |
依赖组件的已知漏洞告警 | 否 | OSS Scanner 不做组件版本比对,这是 SCA 的专长 |
源码级逻辑缺陷发现 | 部分 | AI 扫描在此具备明显优势,可能挤压部分人工审计与部分静态分析工具的市场 |
可利用性判定与 PoC | 部分 | AI 可生成可利用性判断与复现器,对传统渗透测试的入门环节形成替代 |
修复方案与工程落地 | 否 | 仍高度依赖人工理解与工程判断 |
合规与审计证据链 | 否 | 监管合规要求可溯源、可追责的证据,AI 生成报告在此不占优势 |
待观察问题 | 观察指标 | 为何重要 |
误报的实际负担有多大? | 维护者公开的误报率反馈;社区对 AI 报告态度的变化 | 决定「无人工复核」模式能否长期成立 |
修复侧能否跟上? | 漏斗中「已修补」环节的增速;平均修复时长变化 | 决定该服务最终是净增益还是净负担 |
披露政策会否收紧? | 官方对高危报告施加披露期的实际动作 | 影响维护者的合规义务与可预测性 |
能力会否外溢扩散? | 其他模型厂商是否推出类似服务;开源替代方案的出现 | 决定这是 Anthropic 的独家优势还是行业基线 |
数据点 | 数值 | 来源 |
CyberGym 基准能力跃升 | < 20% → > 85% | Anthropic 公告(2026-10-08) |
候选漏洞总数 | 29,000+ / 29,439 | 公告概数 / 官方仪表盘 |
人工复核数量 | 约 6,000 / 6,123 | 公告 / 官方仪表盘 |
直发维护者报告数 | 近 5,000 / 6,157 | 公告 / 官方仪表盘(10-02) |
88% 抽样验证 | 97 样本中 85 条达标 | Anthropic 公告(2026-10-08) |
Glasswing 高危漏洞 | 10,000+ | Glasswing 更新(2026-05-22) |
OSS 扫描总发现 | 23,019 | Glasswing 更新(2026-05-22) |
模型自评高危 | 6,202 | Glasswing 更新(2026-05-22) |
已完成独立评审 | 1,752 | Glasswing 更新(2026-05-22) |
确认真阳性率 | 90.6% / 62.4% | Glasswing 更新(2026-05-22) |
CVE-2026-5194 | CVSS 9.1 / Red Hat 评 10 | Glasswing 更新 + 多来源交叉 |
仪表盘漏斗序列 | 29,439 → 584 | red.anthropic.com 仪表盘(10-02) |
公告截至日公告数 | 584 个 | The Hacker News(2026-10-09) |
仓库 PR 数量 | 116 个 | The Hacker News(2026-10-09) |
单项目实测成本 | 约 $4.43 / 55 步 | rotecodefraktion.de(独立实测,N=1) |
单项目构建校验耗时 | 约 3 分钟 | rotecodefraktion.de(独立实测,N=1) |
# project.yaml 最小可用配置 repo: https://github.com/your/project # 必填 primary_contact: security@your.org # 必填 dockerfile: .oss-scanner/Dockerfile # 条件必填 # 建议补充(提升扫描质量) threat_model: .oss-scanner/threat_model.md # 强烈建议 # 可选 auto_ccs: - maintainer@your.org homepage: https://your.org disabled: false # 加密报告(与 auto_ccs 互斥) # pgp: | # -----BEGIN PGP PUBLIC KEY BLOCK----- # ... # -----END PGP PUBLIC KEY BLOCK----- |
术语 | 全称 / 释义 |
CVD | Coordinated Vulnerability Disclosure,协调漏洞披露 |
CVP | Cyber Verification Program,Anthropic 的网络安全能力验证计划 |
OSS-Fuzz | Google 发起的开源软件模糊测试计划,OSS Scanner 准入标准参考对象 |
SCA | Software Composition Analysis,软件成分分析 |
ASPM | Application Security Posture Management,应用安全态势管理 |
PoC | Proof of Concept,概念验证(可触发缺陷的最小示例) |
bisection | 二分定位,通过二分搜索确定缺陷首次引入的提交 |
self-contained reproducer | 自包含复现器,不依赖外部条件即可触发缺陷的程序 |
opt-in | 自愿加入(与 opt-out 默认加入相对) |
GHSA | GitHub Security Advisory,GitHub 安全公告标识符 |