sunilgentyala/authorization-bom
GitHub: sunilgentyala/authorization-bom
ABOM 是一个可移植的授权物料清单(Authorization BOM)Schema 与参考工具包,用于统一记录和分析跨身份类型的多种授权状态,解决现有 BOM 生态缺乏共享授权工件的问题。
Stars: 0 | Forks: 0
# 授权-bom (ABOM)
[](https://github.com/sunilgentyala/authorization-bom/actions/workflows/ci.yml)
[](LICENSE)
[](pyproject.toml)
**ABOM (Authorization Bill of Materials)** 是一个版本化的、可移植的 schema 和参考工具包,
用于记录授权状态——包括声明的、批准的、计算生效的、观察到的 runtime、异常的、撤销的以及未经验证的——涵盖了人类、workload、服务、应用程序和 AI-agent 身份。它被设计为 SPDX/CycloneDX 风格 BOM 生态系统的候选 profile/扩展,而不是它们的替代品。
## 准确来说,这是什么
本项目的贡献在于提供 **可互操作的 schema + 参考工具**,而非一种新颖的授权算法。有效权限图分析、委派可达性分析以及有毒组合/职责分离检测都有成熟的现有技术(商业和学术领域均有),这些技术在 [research/comparison_matrix.md](research/comparison_matrix.md) 和 [research/novelty_gate.md](research/novelty_gate.md) 中进行了披露和比较。现有的 BOM 生态系统(CycloneDX、SPDX)似乎缺少一种共享的、版本化的工件,能够跨声明/批准/计算/观察/撤销的区别,并跨人类、workload、服务和 AI-agent 身份类型来统一携带授权状态——而这正是此 schema 和工具所提供的。
## 快速开始
```
git clone https://github.com/sunilgentyala/authorization-bom.git
cd authorization-bom
python -m pip install -e ".[dev]"
authbom generate --seed 42 --tenants 2 --output manifest.json
authbom validate manifest.json
authbom analyze manifest.json --now 2026-07-29T12:00:00 --output analysis.json
authbom report analysis.json --format markdown --output report.md
```
## CLI
| 命令 | 用途 |
|---|---|
| `authbom generate` | 生成确定的合成 manifest(用于测试/基准测试) |
| `authbom import` | 将只读源 fixture(K8s RBAC、OPA、Cedar、OpenFGA、OAuth、MCP)解析为 manifest |
| `authbom validate` | 根据 `schema/abom.schema.json` 验证 manifest |
| `authbom sign` | 对每个授权进行 HMAC 签名,并附加 manifest 级别的证明 |
| `authbom verify` | 验证授权签名和证明 |
| `authbom diff` | 对比两个 manifest 的授权差异(添加/删除/更改) |
| `authbom analyze` | 运行有效权限、委派、漂移、有毒组合和撤销分析 |
| `authbom reconcile` | 将观察到的 runtime 证据事件合并到 manifest 中 |
| `authbom report` | 将分析结果渲染为 JSON、Markdown 或 SARIF 格式 |
## 文档
- [Schema](schema/abom.schema.json) 和 [示例 manifest](schema/examples/)
- [形式化模型](docs/formal_model.md)——有效权限闭包、漂移、有毒组合、撤销收敛
- [威胁模型](docs/threat_model.md)——14 种滥用案例及其缓解措施/残余风险
- [架构](docs/architecture.md)
- [局限性](docs/limitations.md)——在依赖任何特定声明之前请阅读此项
- [可复现性指南](docs/reproducibility.md)
- 研究轨迹:[创新性验证](research/novelty_gate.md)、[对比矩阵](research/comparison_matrix.md)、[差距分析/研究问题](research/gap_analysis.md)、[基准测试结果](research/benchmark_findings.md)
## 安全性
`src/authbom/adapters/` 中的每个 adapter 在设计上都是只读且无需凭证的——它只解析已导出的 fixture,从不连接到实际运行的系统。有关漏洞报告政策,请参阅 [SECURITY.md](SECURITY.md);有关完整的威胁模型,请参阅 [docs/threat_model.md](docs/threat_model.md)。
## 状态
Alpha (0.1.0)。目前仅经过合成基准测试的验证;尚未针对生产环境的授权资产进行评估。有关已知缺陷的完整当前列表,请参阅 [docs/limitations.md](docs/limitations.md)。
## 许可证
Apache License 2.0——请参阅 [LICENSE](LICENSE)。
## 引用
请参阅 [CITATION.cff](CITATION.cff)。
标签:Python, SBOM扩展, 授权清单, 无后门, 权限分析, 身份与访问管理, 逆向工具