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, 后台面板检测, 域名枚举, 子域名突变, 审计日志, 测试用例, 网关, 自定义请求头, 访问控制, 请求拦截