rudi193-cmd/openclaw-sap-gate

GitHub: rudi193-cmd/openclaw-sap-gate

SAP/1.0 SAFE 授权协议的 Python 实现,为 MCP 工具调用提供基于 PGP 签名的授权验证网关。

Stars: 0 | Forks: 0

# openclaw-sap-gate [SAP/1.0](https://github.com/rudi193-cmd/sap-rfc) 的 Python 参考实现 — 用于 MCP 工具调用的 SAFE 授权协议。 ``` pip install openclaw-sap-gate ``` ## 用法 ``` from openclaw_sap_gate import authorized, require_authorized # Check (返回 bool) if not authorized("my-app"): return "denied" # Assert (失败时引发 PermissionError) require_authorized("my-app") ``` ## CLI ``` # 验证 app_id 通过完整的 auth 链 sap-gate verify my-app # 构建一个新的 SAFE 文件夹 + manifest 模板 sap-gate init my-app ``` ## 配置 | 环境变量 | 默认值 | 描述 | |---------|---------|-------------| | `SAP_SAFE_ROOT` | `~/.sap/Applications` | SAFE 文件夹的根目录 | | `SAP_PGP_FINGERPRINT` | *(空 — 任何有效签名都通过)* | 固定的主密钥指纹 | | `SAP_LOG_DIR` | `~/.sap/log` | gaps.jsonl 和 grants.jsonl 的存放目录 | ## 工作原理 授权需要全部四个步骤: 1. `SAP_SAFE_ROOT//` 存在 2. `safe-app-manifest.json` 存在且可读 3. `safe-app-manifest.json.sig` 存在 4. `gpg --verify` 通过,且签名者指纹与 `SAP_PGP_FINGERPRINT` 匹配 通过删除该文件夹或 `.sig` 文件来撤销授权。 ## OpenClaw 强制执行技能 → [rudi193-cmd/openclaw-skill-sap](https://github.com/rudi193-cmd/openclaw-skill-sap) ## 协议规范 → [SAP/1.0 RFC](https://github.com/rudi193-cmd/sap-rfc) ## 许可证 MIT — Sean Campbell 2026
标签:MCP, PGP签名, Python, Retryablehttp, SOC Prime, Streamlit, 开发工具, 授权网关, 文档结构分析, 无后门, 访问控制, 逆向工具