Richonn/SBOMForge
GitHub: Richonn/SBOMForge
一个零配置的 GitHub Action,利用 Syft 和 Cosign 在每次发布时自动生成并签名 SBOM,帮助团队轻松满足软件供应链合规要求。
Stars: 1 | Forks: 0
# SBOMForge
[](https://github.com/marketplace/actions/sbomforge)




## 为什么选择 SBOMForge?
软件供应链安全不再是可选项。**EU Cyber Resilience Act** 以及 SLSA 等框架要求软件生产者记录其交付的组件。SBOMForge 以零配置实现这一过程的自动化:在每次发布中生成、签名并发布您的 SBOM。
## 快速开始
```
on:
release:
types: [published]
jobs:
sbom:
runs-on: ubuntu-latest
permissions:
contents: write # upload release asset
id-token: write # cosign keyless signing
steps:
- uses: actions/checkout@v4
- uses: Richonn/sbomforge@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
```
## 输入
| 输入 | 必填 | 默认值 | 描述 |
|---|---|---|---|
| `github-token` | 是 | — | 用于将 SBOM 作为发布资产上传的 GitHub token |
| `format` | 否 | `spdx-json` | SBOM 格式:`spdx-json`、`cyclonedx-json`、`syft-json` |
| `artifact-name` | 否 | `sbom` | 输出文件名前缀 |
| `sign` | 否 | `true` | 使用 Cosign 无密钥模式对 SBOM 进行签名 |
| `attach-to-release` | 否 | `true` | 将 SBOM 附加到 GitHub Release |
| `upload-to-summary` | 否 | `true` | 在 GitHub Actions Job Summary 中显示摘要 |
| `scan-path` | 否 | `.` | 要扫描的目录(适用于 monorepo) |
| `image` | 否 | — | 要扫描的 Docker image(例如 `alpine:3.21`、`ghcr.io/org/app:latest`)。如果设置此项,将忽略 `scan-path` |
| `fail-on-error` | 否 | `true` | 如果 SBOM 生成失败,则使 job 失败 |
## 输出
| 输出 | 描述 |
|---|---|
| `sbom-path` | 生成的 SBOM 文件的本地路径 |
| `sbom-url` | GitHub Release 上 SBOM 的下载 URL |
| `signature-bundle` | Cosign 签名捆绑包的路径 |
## 验证签名
一旦 action 运行完毕,您可以在本地验证 SBOM 签名:
```
cosign verify-blob \
--bundle=sbom.spdx-json.json.bundle \
sbom.spdx-json.json
```
## 支持的格式
| 格式 | 标志 | 输出文件 |
|---|---|---|
| SPDX JSON | `spdx-json` | `sbom.spdx-json.json` |
| CycloneDX JSON | `cyclonedx-json` | `sbom.cyclonedx-json.json` |
| Syft JSON | `syft-json` | `sbom.syft-json.json` |
## Docker image 扫描
要扫描 Docker image 而不是源代码,请传入 `image` 输入:
```
- uses: Richonn/sbomforge@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
image: alpine:3.21
```
当设置了 `image` 时,将忽略 `scan-path`。
## 路线图
- [x] Docker image SBOM 支持
- [ ] 单次运行支持多种格式
- [ ] Monorepo 支持
- [ ] SLSA 证明级别 2
- [ ] Dry-run 模式
- [ ] OCI registry 上传 (ghcr.io)
## 许可证
MIT — 版权所有 2026 Léandre Cacarié
标签:Cosign, CycloneDX, DevSecOps, EVTX分析, GitHub Action, Go语言, Linux安全, SBOM, SLSA, SPDX, Syft, 上游代理, 人工智能安全, 代码签名, 合规性, 无密签名, 日志审计, 欧盟网络弹性法案, 活动识别, 版本发布, 硬件无关, 程序破解, 网络调试, 自动化, 跌倒检测, 软件物料清单, 镜像扫描