Quy định yêu cầu gì
Phụ lục I, Phần II, điểm (1) Quy định (EU) 2024/2847: nhà sản xuất phải “xác định và lập tài liệu về các lỗ hổng và thành phần có trong sản phẩm có thành phần kỹ thuật số, bao gồm bằng cách lập danh mục thành phần phần mềm ở định dạng phổ biến và máy đọc được, bao gồm ít nhất các phụ thuộc cấp cao nhất của sản phẩm” (bản dịch). Yêu cầu này áp dụng từ ngày 11/12/2027 (Điều 71).
- SBOM thuộc tài liệu kỹ thuật, cùng các quy trình xử lý lỗ hổng (Phụ lục VII, điểm 2(b)).
- Bạn cung cấp SBOM cho cơ quan giám sát thị trường khi có yêu cầu có lý do (Phụ lục VII, điểm 8). Bạn không bắt buộc công khai (đoạn mở đầu 77).
- Nếu bạn chọn cung cấp cho người dùng, thông tin cho người dùng nêu ở đâu (Phụ lục II, điểm 9).
- Ủy ban có thể quy định định dạng và các thành phần bằng văn bản thi hành (Điều 13(24)). CycloneDX và SPDX là các định dạng phổ biến.
Trang này tạo ra gì
Tệp JSON CycloneDX 1.6 với sản phẩm của bạn là thành phần chính, mỗi gói với phiên bản chính xác và package URL (purl), và các phụ thuộc cấp cao nhất của sản phẩm khi tệp khóa cho biết đó là những gói nào. Trang đọc được:
- npm package-lock.json (lockfileVersion 2 hoặc 3), Yarn yarn.lock (Yarn 1, 2 trở lên) và pnpm-lock.yaml (lockfileVersion 9.0); gói chỉ dùng khi phát triển được loại ra khi tệp cho biết đó là gói nào;
- Python requirements.txt với mọi gói được ghim phiên bản (name==version), như pip freeze hoặc pip-compile tạo ra;
- Rust Cargo.lock, phiên bản 3 hoặc 4, và Go go.mod, kèm các mô-đun gián tiếp;
- cây phụ thuộc Maven do mvn dependency:tree -DoutputFile tạo ra, và Gradle gradle.lockfile; gói thuộc phạm vi test được loại ra;
- PHP Composer composer.lock, không có packages-dev, và NuGet packages.lock.json.
Tệp không theo đúng định dạng thì không được đọc, kèm dòng và lý do, thay vì đoán. Gói từ nguồn khác ngoài kho đăng ký công khai được liệt kê không có package URL, để tệp không bao giờ trỏ đến gói bạn không dùng.
Đã có SBOM từ công cụ khác? Mở nó dưới dạng tệp JSON CycloneDX, hoặc tệp JSON SPDX như tệp mà biểu đồ phụ thuộc của GitHub xuất ra (Export SBOM), để kiểm tra các thành phần trên OSV.dev và đối chiếu với danh mục KEV. Tệp chỉ được đọc để kiểm tra: để tạo SBOM mới, hãy mở các tệp khóa. Khi không có tệp khóa ghim phiên bản, tệp của GitHub ghi một khoảng như ^4.17.0: các thành phần đó được liệt kê là chưa kiểm tra, nên hãy mở tệp khóa để kiểm tra.
Lỗ hổng đã biết bị khai thác
Việc kiểm tra đánh dấu mỗi lỗ hổng tìm thấy trên OSV.dev có số CVE nằm trong danh mục Lỗ hổng đã biết bị khai thác (KEV) của Cơ quan An ninh mạng và Cơ sở hạ tầng Hoa Kỳ (CISA), kèm ngày CISA bổ sung. CISA liệt kê một lỗ hổng khi có bằng chứng đáng tin cậy rằng nó đã bị khai thác. Từ ngày 11/9/2026, Điều 14 CRA yêu cầu bạn thông báo lỗ hổng đang bị khai thác có trong sản phẩm (Điều 3(42)) trong vòng 24 giờ kể từ khi biết được. Một mục KEV không quyết định điều đó cho sản phẩm của bạn, nhưng là nơi nên xem trước tiên; trang thời hạn báo cáo tính số giờ.
Không bao gồm những gì
SBOM liệt kê những gì các tệp khóa liệt kê. Mã bạn sao chép vào sản phẩm, gói của hệ điều hành, firmware và thư viện bằng ngôn ngữ khác không có trong đó: hãy tự thêm vào tệp. Việc kiểm tra lỗ hổng dùng OSV.dev, chỉ liệt kê lỗ hổng đã công bố; không thay thế việc đánh giá lỗ hổng mà Phụ lục I, Phần II yêu cầu.
Với các tài liệu CRA còn lại, bộ hồ sơ CRA soạn tài liệu kỹ thuật và tuyên bố về sự phù hợp của EU. Kiểm tra CRA cho biết loại sản phẩm của bạn.