ZerberusAI/ZSBOM
GitHub: ZerberusAI/ZSBOM
ZSBOM 是一款自动化软件物料清单生成与依赖安全分析框架,通过一条命令即可完成多生态系统的依赖分类、漏洞检测、风险评分和标准合规 SBOM 输出。
Stars: 51 | Forks: 1
ZSBOM
自动化 SBOM 生成与依赖安全分析
## 什么是 ZSBOM? ZSBOM 可为您的软件项目自动化执行**依赖分类、安全验证和 SBOM(软件物料清单)生成**。它能够扫描多个生态系统中的依赖项,识别漏洞,评估风险,并生成符合标准的 [CycloneDX](https://cyclonedx.org/) SBOM —— 所有这些只需一条命令即可完成。 ### 为什么 SBOM 很重要? SBOM 对于追踪软件组成至关重要,且在以下软件安全法规中正日益成为强制要求: - **安全软件开发框架 (SSDF)** - **网络弹性法案 (CRA)** - **NIST 网络安全框架 (CSF)** - **NTIA SBOM 最低要素 (CISA)** ZSBOM 通过自动化从依赖提取到生成符合合规要求的 SBOM 的整个流程,帮助开发者、安全团队和 DevOps 工程师从容应对这些要求。 ### 主要特性 - **多生态系统扫描** — 支持 Python、JavaScript/NPM 和 Java (Maven & Gradle),具备完整的传递依赖解析能力 - **安全验证** — 通过 [OSV.dev](https://osv.dev/) 进行 CVE 检测,CWE 弱点映射,废弃包检测以及域名仿冒分析 - **风险评分** — 5 因子评分框架,支持可配置的权重和阈值 - **CycloneDX v1.6 SBOM** — 业界标准格式输出,包含嵌入的漏洞数据 - **单条命令** — 自动检测生态系统并运行完整流程 ## 快速入门 ``` # 安装 ZSBOM pip install git+https://github.com/ZerberusAI/ZSBOM.git # 导航到你的项目 cd your-project/ # 运行全面扫描 zsbom scan ``` ## 支持的生态系统 | 生态系统 | 检测文件 | 传递依赖 | |-----------|---------------|:---------------:| | **Python** | `requirements.txt`, `pyproject.toml`, `setup.py`, `setup.cfg`, `Pipfile` | 是 | | **JavaScript / NPM** | `package.json`, `package-lock.json`, `yarn.lock`, `pnpm-lock.yaml` | 是 | | **Java (Maven)** | `pom.xml` | 是 | | **Java (Gradle)** | `build.gradle`, `gradle.lockfile` | 是 | ## 工作原理 ``` Detect Ecosystems ➜ Extract Dependencies ➜ Validate Security ➜ Assess Risk ➜ Generate SBOM ``` 1. **检测** — 通过扫描 manifest 和 lock 文件,自动发现项目生态系统 2. **提取** — 解析完整的依赖树,包括传递依赖 3. **验证** — 根据漏洞数据库 (OSV.dev)、CWE 映射 (MITRE) 和启发式检查来验证每个包 4. **评分** — 通过五个加权维度计算每个包的风险得分 5. **生成** — 生成包含嵌入的漏洞和风险数据的 CycloneDX v1.6 SBOM ## 输出 ZSBOM 会在您的项目根目录中生成以下文件: | 文件 | 描述 | |------|-------------| | `sbom.json` | 包含组件和漏洞的 CycloneDX v1.6 SBOM | | `risk_report.json` | 涵盖所有维度的单依赖风险评分 | | `dependencies.json` | 包含生态系统和分类元数据的完整依赖树 | | `validation_report.json` | 安全验证中的 CVE 和 CWE 发现 | | `scan_metadata.json` | 扫描上下文 — 时间戳、配置、统计信息 |示例 SBOM 组件
``` { "bom-ref": "BomRef.1418539545444415.5659785824827717", "name": "@img/sharp-libvips-linuxmusl-arm64", "purl": "pkg:npm/%40img/sharp-libvips-linuxmusl-arm64@1.0.4", "type": "library", "version": "1.0.4" } ```标签:Cilium, CISA, Claude, CMS安全, CRA, CVE检测, CWE弱点映射, CycloneDX, DevSecOps, Gradle, JavaScript, Maven, MIT许可, NIST CSF, NPM, NTIA, OSV.dev, Python, Python 3.8+, SSDF, 上游代理, 云安全监控, 人工智能安全, 传递依赖解析, 依赖分类, 依赖安全分析, 合规性, 域名仿冒分析, 多生态扫描, 废弃包检测, 开源框架, 持续集成, 无后门, 漏洞测试, 漏洞验证, 网络弹性法案, 自动化SBOM生成, 跌倒检测, 软件供应链安全, 软件物料清单, 远程方法调用, 逆向工具, 静态分析, 风险评分