- SBOMs overview: SBOMs is a rapidly emerging field. Many vendors offer tools to generate them automatically. The simplest SBOM should include everything making up software, like dependencies. But there are issues like dealing with test dependencies and runtime environments (easier in dockerized environments, harder in bare metal or VMs). An SBOM is not an absolute truth and generation should be in CI/CD pipeline.
- Example project: Using Django-CMS and its quickstart. There is a
requirements.txtfile for Python projects. Tools likecyclonedx-pythonandspdx-sbom-generatorcan generate SBOMs in different formats. After generating an SBOM for the application layer, usingdocker sbomwithsyftgives an SBOM for the Docker environment which is much larger as it includes runtime and application stack. - Sub-dependencies issue: Django-CMS has a
package.jsonwith a dependency like babel-runtime. A tool like osv-scanner might not pick up on vulnerabilities in this transitive dependency. "Exploding" the SBOM is outside the scope of this article.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。