SafetyMP/FidusGate
GitHub: SafetyMP/FidusGate
FidusGate 是一个面向自主 AI agent 的零信任治理参考项目,通过 Cedar 策略门控、Ed25519 签名凭证和 WASI 沙箱展示安全左移的 agentic 操作管控方案。
Stars: 0 | Forks: 0
# FidusGate
针对**自主 AI agent 操作**的零信任治理和运行时验证的**常青开源参考** — Cedar policy 门控、Ed25519 凭证、MCP 代理强制执行,以及可运行的管理控制台演示。
FidusGate 将安全左移:在活动的 agentic 工作流上进行程序化访问控制、签名验证和沙箱命令审计。它围绕 AI 工具执行建立明确的、受策略强制执行的边界,以减少未经授权的修改、权限提升和由 prompt injection 驱动的妥协。
[](https://github.com/SafetyMP/FidusGate/actions/workflows/docker-publish.yml)
[](https://github.com/SafetyMP/FidusGate/releases)
[](https://scorecard.dev/viewer/?uri=github.com/SafetyMP/FidusGate)
[](LICENSE)
**跳转至:** [演示](#demo) · [快速开始](#-quick-start--execution-guide) · [架构](#-unified-monorepo-architecture) · [文档](docs/README.md) · [贡献](CONTRIBUTING.md) · [安全](SECURITY.md)
## 演示
```
### 📡 6. 文件系统漂移检测与自动调节
要手动审计沙箱或工作区中的文件系统漂移:
```
bash scripts/sandbox-drift-detect.sh
```
要触发主动回滚并调节所有未跟踪或修改的更改:
```
curl -X POST http://localhost:3001/api/sandbox/reconcile -H "Authorization: Bearer "
```
### 🧠 7. Gemini Cedar 策略 Co-Pilot
使用 Co-Pilot API 从自然语言请求生成 Cedar 策略:
```
curl -X POST http://localhost:3001/api/policy/co-pilot \
-H "Content-Type: application/json" \
-H "Authorization: Bearer " \
-d '{"prompt": "allow pm-sme to write md files"}'
```
## 📦 持续交付与自动化发布
FidusGate 实施了高度标准化的、基于主干的交付模型,该模型由常规提交和自动化发布 pipeline 治理:
* **常规提交合规性:** 代码更改使用语义化范围作为前缀(例如 `feat(secops)`、`chore(release)`、`fix(crypto)`)。这支持确定性的依赖映射和机器可读的更新日志。
* **语义化发布自动化 (`.releaserc.json`):** 在主分支 pipeline 构建期间利用自动化发布步骤来:
1. 解析提交消息并自动计算下一个语义化版本 (Major/Minor/Patch)。
2. 根据标准模板自动生成详细的更新日志。
3. 将发布标签和草稿直接发布到 GitHub。
* **发布 Pipeline 工作流 (`.github/workflows/release.yml`):** 在推送到 `main` 分支时运行,执行自动化测试验证 (`npm run test`)、monorepo 类型检查 (`tsc`),并安全地启动发布运行器。
## 🔬 企业生产与加固指南
虽然 FidusGate 旨在使用本地配置为开发搭建零信任结构,但要过渡到高可用的企业级生产环境,需要升级以下层:
### 1. 数据库架构与持久化策略
* **当前设置**:默认情况下,`@fidusgate/database` 在零依赖的本地 JSON 文件存储模式下运行。但是,使用 **Prisma ORM** 已经集成了完全关系型的数据库功能。
* **过渡到生产环境**:
1. 在 gateway 的 `.env` 文件中定义一个指向您的 PostgreSQL 集群的 `DATABASE_URL`。
2. 运行 `npx prisma db push` 以生成并应用结构化的数据库 schema。
3. 使用高可用、集群化的设置部署 PostgreSQL(例如,使用多可用区部署、Aurora PostgreSQL,或使用 PgBouncer 进行连接池化以在流量高峰期生存)。
4. 实施定期的数据库备份例程和只读副本以进行审计追踪分析。
### 2. 审计日志安全性与仅追加保证
* **当前设置**:将交易凭证存储在 `.memory/receipts` 下,并将日志存储在 `.memory/audit-log.md` 中便于本地检查,但平面文件缺乏防篡改保证、保留合规性或锁并发。
* **过渡到生产环境**:
1. **SIEM / 集中式日志记录**:配置 secure-gateway 的安全日志流,将其直接传输到集中式、安全的审计系统(例如 AWS CloudWatch、Datadog 或 Grafana Loki)。
2. **集中式账本数据库**:集成专用的账本存储(如 Amazon QLDB)或防篡改的区块链账本,以记录加密交易哈希,确保绝对的不可否认性。
3. **哈希链审计**:实施加密链接,其中每个新凭证都包含前一个凭证块的签名,使任何历史删除操作立即可被验证器看到。
4. **保留策略**:配置日志组资源策略以强制执行严格的写一次读多次 (WORM) 参数,并带有标准化的保留规则(例如,SOC 2 / ISO 27001 合规需保留 7 年)。
### 3. Gateway 配置模式
`protect-mcp.config.json` 通过 `"mode"` 键管理 gateway 运行时强制执行行为:
* `"shadow"`:根据 Cedar 访问控制规则评估所有传入的交易请求并记录决策,但不会阻止请求。这对于在强制执行之前针对真实世界开发人员工作流审计和测试策略非常有用。
* `"enforce"`:完全的零信任主动门控。secure-gateway 会主动阻止任何未通过 Ed25519 加密验证或在 Cedar 访问控制下评估为 `"deny"` 的工具执行、凭证提交或控制台命令。
## 🌿 常青参考实现
FidusGate 被设计为针对 AI agent 安全的运行时治理的常青、不断发展的参考实现:
* **持续的演进式交付:** 完全由常规提交和自动化 pipeline 治理,确保最新的安全签名、Cedar 规则和策略映射能够自主编译、版本控制和打标签。
* **真实世界参考能力:** 通过提供具体的模板——包括沙箱命令执行、动态 AST 策略模拟、防篡改的加密日志以及模拟的系统调用建模——FidusGate 建立了一个活跃的、功能性的基准。它推动行业超越理论上的策略 PDF 文档,走向**明确受策略强制执行且在运营上可审计的运行时强制执行**。
* **开源与可扩展核心:** 模块化的 npm workspace monorepo 专为社区扩展而设计。安全架构师可以在 `skills/` 树下编写新的自定义手册,通过我们联合的提供者钩子部署专门的身份验证机制,或者插入基于 LLM 的高级防火墙来评估对抗性的 prompt 参数。
## 🔬 审计与生产质量状态
* **垃圾文件**:100% 已清理。构建目录 (`dist`, `.turbo`)、缓存文件和操作系统噪音已被干净地修剪。
* **密钥检查**:100% 安全。绝对没有提交任何密码、原始私钥或实际开发人员凭据。
* **Lockfile 保真度**:使用 `npm` lockfile (`package-lock.json`) 进行了标准化。
* **测试覆盖率**:使用内置的零依赖 Node.js 测试运行器进行了测试和验证,涵盖了 Ed25519 密码学、Cedar 动态 AST 解析器评估和 shell 命令白名单审计。
## 贡献、安全与许可
| 资源 | 链接 |
|----------|------|
| 贡献 | [CONTRIBUTING.md](CONTRIBUTING.md) |
| 安全 | [SECURITY.md](SECURITY.md) |
| 行为准则 | [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) |
| 支持 | [SUPPORT.md](SUPPORT.md) |
| 维护者展示 | [docs/community/github-presentation.md](docs/community/github-presentation.md) |
| 许可 | [Apache 2.0](LICENSE) |
标签:AI Agent安全, MITM代理, Streamlit, Web报告查看器, 参考架构, 可视化界面, 策略引擎, 签名验证, 网络安全挑战, 自动化攻击, 访问控制, 请求拦截, 零信任架构