sktelecom/sbom-tools
GitHub: sktelecom/sbom-tools
一款本地化的 SBOM 生成与开源风险评估工具,支持从多种输入产生 SBOM 并进行许可证和漏洞分析。
Stars: 5 | Forks: 1
[](https://github.com/sktelecom/sbom-tools/releases)
[](https://github.com/sktelecom/sbom-tools/pkgs/container/bomlens)
[](LICENSE)
[](https://www.bestpractices.dev/projects/13059)
[](https://securityscorecards.dev/viewer/?uri=github.com/sktelecom/sbom-tools)
**从哪里开始:**
- **使用该工具** — 生成 SBOM、开源声明或安全报告,或者评估你收到的二进制文件或 SBOM。请从[首次扫描](docs/start/first-scan.md)([한국어](docs/start/first-scan.ko.md))开始。使用 Windows 且不想用命令行?[下载 Windows 版 BomLens (.exe)](https://github.com/sktelecom/sbom-tools/releases/latest/download/SBOM-Generator-Setup.exe)并双击运行 —— [无 CLI 快速入门](docs/start/no-cli.ko.md)(韩文)提供了详细的操作指引。
- **为工具本身做贡献** — 构建 Docker image、了解 pipeline 内部原理,或添加新的 package manager?请参阅[贡献指南](CONTRIBUTING.en.md)和[架构](docs/concepts/architecture.md)。
无论哪种方式都需要 Docker engine;免费的 [Rancher Desktop](https://rancherdesktop.io/) 在 Windows 上运行良好。
一个 Docker image,两大功能:
- **生成** — 扫描你的源代码(或 Docker image / 二进制文件),并生成 CycloneDX SBOM、开源声明和安全报告。
- **评估开源风险** — 分析你*接收*到的内容,包括供应商提供的成品 SBOM 或固件二进制文件,并生成开源风险报告(包含许可证 + 已知漏洞,以及 Critical 级别 7 天 / High 级别 30 天的修复期限)。
每次扫描默认也会输出风险报告。你可以通过 CLI 或浏览器 UI 运行该工具。本工具最初由 SK Telecom 为供应链安全开发,现已开源。
支持语言:Java、Python、Node.js、Ruby、PHP、Rust、Go、.NET、C/C++ (Conan/vcpkg)。支持输入:源码文件夹、GitHub URL、ZIP 压缩包、Docker image、二进制文件/RootFS、现有的 SBOM、固件。

## 快速开始
前置条件:Docker engine,版本 20.10+。在 Windows 上可用的免费选项:**Rancher Desktop**(GUI;支持 `.bat` 双击流程)或 **WSL2 + docker-ce**(在 WSL 内运行该工具 —— 完全免费,不需要 Windows named-pipe)。Docker Desktop 也可以使用,但对于大型组织需要付费许可证。Web UI 不需要其他额外环境;Windows CLI 封装脚本额外需要 Git for Windows (Git Bash)。
```
git clone https://github.com/sktelecom/sbom-tools.git && cd sbom-tools
docker pull ghcr.io/sktelecom/bomlens:latest # aliases: sbom-generator and sbom-scanner serve the same image
```
没有安装 git?可以在 GitHub 页面下载该仓库的 ZIP 压缩包(点击绿色的 Code 按钮,然后选择 Download ZIP)并解压。
### Web UI — 最简单的方式(无需 CLI)
启动、扫描并下载 —— 全程在浏览器中完成。运行时会实时输出流式日志。

```
cd ~/sbom-output # any folder — this is where results are saved
/path/to/sbom-tools/scripts/scan-sbom.sh --ui # opens http://localhost:8080
# Windows: 双击 scripts\sbom-ui.bat
```
输入项目名称和版本,选择扫描目标(当前文件夹、GitHub URL、ZIP、SBOM、上传的固件或 Docker image),点击 Run scan(运行扫描),然后查看或下载结果。
#### Windows 环境,无需 CLI — 根据你收到的源码 ZIP 进行操作
常见场景:开发团队交给你一个源码压缩包,你需要为其生成 SBOM。[无 CLI 快速入门](docs/start/no-cli.ko.md)为非开发人员提供了详细的韩文分步指南;以下是简短版本。
1. 安装并启动 Docker engine。**Rancher Desktop** 是此双击流程的免费直接替代方案;Docker Desktop 也可以(但需注意组织的授权限制)。
2. 获取此仓库:在 GitHub 页面点击绿色的 Code 按钮,然后选择 Download ZIP,并解压文件。
3. 在你的主目录下选择一个用于存放结果的文件夹,例如 `C:\Users\你用户名\sbom-output`。它必须位于你的 Docker engine 允许共享的路径(文件共享)内;在 Rancher Desktop 和 Docker Desktop 中,默认共享 `C:\Users`。
4. 双击 `scripts\sbom-ui.bat`。浏览器将会自动打开并访问 http://localhost:8080。
5. 输入项目名称和版本,选择 ZIP 上传作为扫描目标,上传你收到的源码 ZIP,运行扫描,然后下载 SBOM、开源声明和风险报告。
[首次扫描指南](docs/start/first-scan.md)对此进行了更详细的介绍,并展示了 CLI 的操作路径。
比起 `.bat` 更倾向于使用真正的应用程序?有一个桌面应用封装了完全相同的流程,且不会弹出控制台窗口 —— 它会检查 Docker、拉取 Docker image,并在双击后打开 UI。从[最新发布版本](https://github.com/sktelecom/sbom-tools/releases/latest)下载 `SBOM-Generator-*.exe`(或 `.dmg`)。目前该应用尚未签名,如果 Windows SmartScreen 弹出警告,请点击 **More info**(更多信息),然后选择 **Run anyway**(仍要运行)。构建详细信息请参见 [`electron/`](electron/README.md)。

### CLI
```
# 当前项目的所有交付物
./scripts/scan-sbom.sh --project MyApp --version 1.0.0 --all --generate-only
# 其他输入:GitHub URL · 源码包 · Docker image · 固件
./scripts/scan-sbom.sh --git https://github.com/org/repo --project MyApp --version 1.0.0 --all --generate-only
./scripts/scan-sbom.sh --target ./src.zip --project MyApp --version 1.0.0 --all --generate-only
./scripts/scan-sbom.sh --target nginx:latest --project MyApp --version 1.0.0 --all --generate-only
./scripts/scan-sbom.sh --target dev.bin --firmware --project MyApp --version 1.0.0 --all --generate-only
```
在 Windows 上,通过 `scripts\scan-sbom.bat` 运行相同的命令,该脚本会通过 Git Bash(需要 Git for Windows)将命令转发给脚本。
输出文件(`{Project}_{Version}_…`):`bom.json` (SBOM)、`NOTICE.{txt,html}`、`risk-report.{md,html}`(默认)和 `security.{json,md,html}` (Trivy)。各种输入形式的详细说明请参见[输入场景指南](docs/guides/by-input.md)。
## 文档
完整文档 —— 包括入门指南、任务指南、参考手册和基本概念 —— 位于可导航的站点 **[sktelecom.github.io/sbom-tools](https://sktelecom.github.io/sbom-tools/)**(支持搜索、侧边栏、英文/韩文)。同样的内容也存放在本仓库的 [docs/](docs/) 目录下。该站点和 Web UI 均为双语,默认为英文,同时提供韩文。
一些入门指引:
- [首次扫描](docs/start/first-scan.md) — 安装并生成你的第一个 SBOM(Web UI + CLI)
- [无 CLI 快速入门](docs/start/no-cli.ko.md) — 桌面应用或 `.bat`,专为非开发人员准备(韩文)
- [CLI 参考](docs/reference/cli.md) — 所有选项和环境变量
- [输入场景](docs/guides/by-input.md) — GitHub URL、ZIP、本地源码、现有的 SBOM、固件
- [架构](docs/concepts/architecture.md) — 两阶段 pipeline;维护者的设计笔记位于 [docs/internal/](docs/internal/)(韩文)
## 贡献与许可
欢迎提交 Issues 和 PR —— 请参阅 [CONTRIBUTING.md](CONTRIBUTING.en.md)([한국어](CONTRIBUTING.md))和 [GitHub Issues](https://github.com/sktelecom/sbom-tools/issues)。
Apache License 2.0 · © 2026 SK Telecom Co., Ltd. 内置的第三方工具保留其各自的许可证 —— 详见 [NOTICE](NOTICE)和 [THIRD_PARTY_LICENSES.md](THIRD_PARTY_LICENSES.md)。
标签:AES-256, CycloneDX, SBOM生成, 开源合规, 漏洞评估, 请求拦截