atifismail/AgentShield
GitHub: atifismail/AgentShield
AgentShield 是一个部署在 AI agent 与工具之间的运行时安全网关,负责对每次工具调用执行策略控制、风险检测与审计追踪。
Stars: 1 | Forks: 0
# AgentShield
AgentShield 是一个面向 AI agent 的 runtime 安全网关。它部署在 agent 与其调用的工具之间,对每一次工具调用执行允许/拒绝/审批策略,检测中毒工具与恶意工具响应,并保留完整的审计追踪记录。
## 它的功能
- **网关** — 每个 agent 的工具调用都会经过单一的 `/api/gateway/invoke` endpoint 进行路由,由其决定 ALLOW、DENY 或 APPROVAL_REQUIRED。
- **工具注册表** — 对工具的 schema/description 进行指纹记录,一旦工具偏离上次获批的版本,就会立即将其阻断;MCP server 会被发现并接入同一个注册表,并受限于按 agent 显式授予的同意许可(用于防范混淆代理攻击)以及针对有要求的 server 的 OAuth 2.1 身份验证。
- **供应链溯源** — 每个工具版本都会生成自动校验和记录,并提供可选的 Sigstore 无密签名验证(AgentShield 仅执行验证操作——绝不进行签名或持有私钥)。
- **策略引擎** — 采用带版本控制且可测试的规则集(最小权限、环境感知、审批受控),并辅以基于数据库的覆盖配置,便于运维人员在不修改代码的情况下添加规则。
- **风险引擎** — 基于动作类别、环境、工具信任状态以及 detector 的置信度/类别进行确定性评分。
- **Detector** — 对工具响应执行确定性的 prompt injection 和密钥模式扫描,提供置信度级别和分类,且无需付费 API。
- **审批工作流** — 高风险动作将进入队列等待人工审批;批准后会立即执行该动作,并采用行级锁机制以防止重复审批导致动作被执行两次。
- **响应取证** — 每个工具响应都会生成带有哈希的、经过脱敏处理的取证记录(仅在明确启用并加密的情况下才会保留原始 body)。
- **审计追踪** — 每个请求都会生成可搜索、相互关联且防篡改(哈希链式)的审计记录。
- **指标与文档** — 在 `/actuator/prometheus` 提供 Prometheus 格式的指标,在 `/swagger-ui.html` 提供交互式 API 文档。
请参阅 `docs/architecture.md` 和 `docs/threat-model.md` 以获取完整设计以及各项控制措施所针对的具体风险。
## 技术栈
后端采用 Java 21、Spring Boot、Spring Security、Spring Data JPA、PostgreSQL(默认)或 MariaDB、Flyway 和 Gradle;前端采用服务端渲染的 Bootstrap 5 + jQuery + DataTables + Chart.js。无需任何付费或仅限云端的服务。
## 快速开始
```
# 通过 Docker Compose 实现全栈(app + PostgreSQL)
docker compose up
# 或者针对本地 PostgreSQL 运行
./gradlew bootRun
# 运行测试套件(通过 Testcontainers 使用真实的 MariaDB — 需要运行中的 Docker daemon)
./gradlew test
```
然后访问 `http://localhost:8080` 打开控制面板。
## 文档
- [`docs/architecture.md`](docs/architecture.md) — 组件与请求流程
- [`docs/threat-model.md`](docs/threat-model.md) — AgentShield 应对的六大风险及其控制措施
- [`docs/policy-guide.md`](docs/policy-guide.md) — 默认策略规则、风险评分、检测模式
- [`docs/api.md`](docs/api.md) — REST API 参考
- [`docs/deployment.md`](docs/deployment.md) — Docker Compose、Helm、Kubernetes
- [`docs/operations.md`](docs/operations.md) — 配置、备份、生产环境检查清单
- [`docs/demo-lab.md`](docs/demo-lab.md) — 针对实时实例运行 5 个脚本化攻击场景
## 项目状态
已超越 MVP 阶段:核心网关、策略/风险/检测引擎、审批工作流、防篡改
审计追踪、agent token 生命周期、工具偏移检测、MCP 工具发现与同意/OAuth
授权、工具/技能供应链溯源(校验和 + 可选的 Sigstore 签名
验证)、响应取证、生产环境强化以及 OpenAPI 文档均已实现并
通过测试(涵盖单元测试、集成测试以及安全反向路径覆盖),兼容 PostgreSQL 和
MariaDB。`docs/threat-model.md` 记录了目前尚未覆盖的已知缺陷——特别是本地工具
沙箱化和治理证据导出——这些是当前的优先事项。有关后续规划,请参阅路线图相关 issue。
## 许可证
GPLv3 — 详见 [`LICENSE`](LICENSE)。
标签:AI安全, Chat Copilot, Streamlit, 后台面板检测, 域名枚举, 子域名突变, 审计日志, 测试用例, 网关, 自定义请求头, 访问控制, 请求拦截