法规的要求
第 (EU) 2024/2847 号条例附件 I 第 II 部分第 (1) 点要求制造商识别并记录含数字元素产品中的漏洞和组件,包括以常用的机器可读格式编制软件物料清单,至少涵盖产品的顶层依赖(本站译文,以英文官方文本为准)。该要求自 2027 年 12 月 11 日起适用(第 71 条)。
- 软件物料清单与漏洞处理流程一起,属于技术文件的一部分(附件 VII 第 2 点 (b) 项)。
- 应市场监督机构的合理要求提供(附件 VII 第 8 点)。无须公开(序言第 77 段)。
- 如果您选择向用户提供,用户信息中须说明获取途径(附件 II 第 9 点)。
- 欧盟委员会可通过实施法案规定其格式和要素(第 13 条第 24 款)。CycloneDX 和 SPDX 是常用格式。
本页面生成的内容
一份 CycloneDX 1.6 JSON 文件:以您的产品为主组件,列出每个软件包的确切版本和软件包 URL(purl),并在锁文件说明时写入产品的顶层依赖。可读取:
- npm package-lock.json(lockfileVersion 2 或 3)、Yarn yarn.lock(Yarn 1、2 及更高版本)和 pnpm-lock.yaml(lockfileVersion 9.0);文件标明了仅用于开发的软件包时,这些软件包不计入;
- 每个软件包都固定了版本(name==version)的 Python requirements.txt,即 pip freeze 或 pip-compile 写出的格式;
- Rust Cargo.lock(第 3 或第 4 版)和 Go go.mod(包括间接模块);
- mvn dependency:tree -DoutputFile 写出的 Maven 依赖树,以及 Gradle gradle.lockfile;test 范围的软件包不计入;
- PHP Composer composer.lock(不含 packages-dev)和 NuGet packages.lock.json。
不符合其格式的文件不予读取,页面会指出行号和原因,而不是猜测。来自公共注册中心以外来源的软件包列出时不带软件包 URL,确保文件绝不会指向您未使用的软件包。
已经有其他工具生成的软件物料清单?将其作为 CycloneDX JSON 文件,或作为 SPDX JSON 文件(例如 GitHub 依赖关系图导出的文件,Export SBOM)打开,即可在 OSV.dev 和 KEV 目录中检查其组件。该文件仅用于检查:如需生成新的软件物料清单,请打开锁文件。在没有锁文件固定版本的地方,GitHub 的文件只给出 ^4.17.0 这样的版本范围:这些组件会列为未检查,请打开锁文件来检查它们。
已知被利用漏洞
检查会标出在 OSV.dev 上发现、且其 CVE 编号列入美国网络安全和基础设施安全局(CISA)已知被利用漏洞目录(KEV)的每个漏洞,并注明 CISA 列入的日期。只要有可靠证据表明某个漏洞已被利用,CISA 就会将其列入。自 2026 年 9 月 11 日起,《网络韧性法案》第 14 条要求您在获悉产品中含有被积极利用的漏洞(第 3 条第 42 点)后 24 小时内进行通报。KEV 条目并不能替您的产品作出判断,但指明了应优先查看之处;通报时限页面可计算时限。
未涵盖的内容
软件物料清单只列出锁文件中列出的内容。复制到产品中的代码、操作系统软件包、固件以及其他语言的库不在其中,请自行补充。漏洞检查使用 OSV.dev,它只列出已公开的漏洞,不能替代附件 I 第 II 部分要求的漏洞评估。
其余 CRA 文件可使用 CRA 文件包,它编写技术文件和欧盟符合性声明。《网络韧性法案》页面可查询产品类别。