sunilgentyala/hwaam-authorization-mesh

GitHub: sunilgentyala/hwaam-authorization-mesh

HWAAM 是一个统一的授权决策网格参考实现,通过共享决策契约为人类、工作负载和 AI agent 提供跨 RBAC、ABAC、ReBAC、OAuth 和 Kubernetes 的确定性策略执行与签名审计凭证。

Stars: 0 | Forks: 0

# HWAAM Authorization Mesh [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad5834178f7599af9fdda11629d49cae07f2997beec49821b2920eff5bfd50e7.svg)](https://github.com/sunilgentyala/hwaam-authorization-mesh/actions/workflows/ci.yml) [![GitHub Pages](https://static.pigsec.cn/wp-content/uploads/repos/cas/56/56e27c6693757dc076d42c29835ebf032f2b2002645c425ae6a400e34f00562d.svg)](https://github.com/sunilgentyala/hwaam-authorization-mesh/actions/workflows/pages.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) HWAAM 是 Human-Workload-Agent Authorization Mesh 的参考实现。它对人类、工作负载、服务账号和 AI agent 应用确定性授权,同时保留租户边界、任务限制、委派上下文、撤销状态以及签名决策证据。 ## 作者 - 主要作者及项目负责人:Sunil Gentyala - 合作者及框架贡献者:Suresh Kumar Darisi ## 为什么使用 HWAAM 现代授权碎片化地分布在基于角色的访问控制、属性规则、关系图、OAuth scope、云身份系统、Kubernetes、服务账号以及 AI agent 工具中。一个请求可能通过了每一项局部检查,但仍然违反了用户的目的、租户边界或最小权限原则。 HWAAM 添加了一个共享决策契约,并强制执行以下控制: - 基准角色权限 - 对象和租户授权 - 关系感知访问 - 任务限定的操作和资源 - 委派深度限制 - 跨委派跳数的权限衰减 - 审批和风险义务 - 持续撤销检查 - fail-closed(默认拒绝)处理 - HMAC 签名决策凭证 ## 仓库内容 ``` hwaam-authorization-mesh/ ├── src/hwaam/ Core authorization package ├── tests/ Standard-library test suite ├── examples/ Policies, requests, and demo script ├── scripts/ Test, benchmark, and report scripts ├── docs/ GitHub Pages website ├── research/ Threat model, impact, and results └── .github/workflows/ CI and Pages deployment ``` ## 快速开始 HWAAM 需要 Python 3.10 或更高版本,并且在运行时仅使用 Python 标准库。 ``` git clone https://github.com/sunilgentyala/hwaam-authorization-mesh.git cd hwaam-authorization-mesh python -m pip install -e . hwaam evaluate \ --policy examples/policy.json \ --request examples/request_allowed.json \ --secret demo-secret ``` 预期结果: ``` { "effect": "allow", "reasons": [ "All mandatory authorization controls passed" ] } ``` 运行完整的测试套件: ``` python scripts/run_tests.py ``` 运行可重现的本地基准测试: ``` python scripts/benchmark.py --iterations 20000 ``` 生成机器可读和 Markdown 报告: ``` python scripts/generate_results.py ``` ## CLI 示例 评估允许的请求: ``` hwaam evaluate \ --policy examples/policy.json \ --request examples/request_allowed.json \ --secret demo-secret ``` 评估拒绝的跨租户请求: ``` hwaam evaluate \ --policy examples/policy.json \ --request examples/request_cross_tenant.json \ --secret demo-secret ``` 验证签名凭证: ``` hwaam verify-receipt \ --receipt decision-receipt.json \ --secret demo-secret ``` ## 核心决策流程 1. 验证请求 schema。 2. 检查主体、任务和资源的撤销状态。 3. 强制执行租户闭包。 4. 验证任务过期时间、操作、资源、影响和委派深度。 5. 检查跨委派跳数的权限衰减。 6. 评估角色和属性要求。 7. 验证所需的关系。 8. 应用审批和风险义务。 9. 返回允许、拒绝或条件允许。 10. 签名决策凭证以供审计和验证。 ## 安全立场 HWAAM 是一个参考实现,而不是一个完整的身份提供者或生产级策略服务。生产部署需要强化密钥管理、经过身份验证的策略分发、持久化撤销、受保护的审计存储、服务间认证、监控以及独立的安全审查。 当缺少所需的策略、属性、关系或撤销信息时,引擎默认拒绝。 ## 测试与基准测试证据 仓库包含了从所含代码生成的可重现结果: - [测试结果](research/test-results.md) - [基准测试结果](research/benchmark-results.md) - [影响分析](research/impact.md) - [威胁模型](research/threat-model.md) 基准测试数据仅描述了本地执行环境。它们不是生产环境的性能声明。 ## GitHub Pages 网站位于 `docs/` 中。在配置 GitHub Pages 使用 GitHub Actions 后,内置的 Pages 工作流会自动部署它。 预期的项目 URL: ``` https://sunilgentyala.github.io/hwaam-authorization-mesh/ ``` ## 项目状态 0.1.0 版本提供了一个可测试的参考引擎和研究工件。有关计划与 OPA、Cedar、OpenFGA、OAuth token exchange、Kubernetes admission control 以及 agent 工具网关的集成,请参阅 [ROADMAP.md](ROADMAP.md)。 ## 引用 引用元数据已在 [CITATION.cff](CITATION.cff) 中提供。 ## 许可证 基于 Apache License 2.0 授权。请参阅 [LICENSE](LICENSE)。
标签:JSONLines, Python, 授权系统, 无后门, 服务网格, 策略引擎, 网络安全挑战, 身份与访问控制, 逆向工具, 零信任