sunilgentyala/authorization-bom

GitHub: sunilgentyala/authorization-bom

ABOM 是一个可移植的授权物料清单(Authorization BOM)Schema 与参考工具包,用于统一记录和分析跨身份类型的多种授权状态,解决现有 BOM 生态缺乏共享授权工件的问题。

Stars: 0 | Forks: 0

# 授权-bom (ABOM) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad5834178f7599af9fdda11629d49cae07f2997beec49821b2920eff5bfd50e7.svg)](https://github.com/sunilgentyala/authorization-bom/actions/workflows/ci.yml) [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE) [![Python](https://img.shields.io/badge/python-3.10%2B-blue.svg)](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扩展, 授权清单, 无后门, 权限分析, 身份与访问管理, 逆向工具