agents-shipgate
ThreeMoonsLab/agents-shipgate加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

想象这样一个场景:你的团队使用 Claude Code 或 Cursor 辅助开发。Coding Agent 生成了一段代码,其中包含调用 stripe.create_refund(退款接口)的逻辑——它认为这只是一个"简单的支付功能"。团队成员 Review PR 时扫了一眼 Diff,觉得没毛病,直接 Merge。
两周后,客户投诉异常退款。你的 Coding Agent 因为获得了 Stripe 退款权限,在某个 Prompt 注入攻击下,批量生成了退款请求。事故回溯时,你发现灾难的源头是一行不起眼的 agent.add_tool("stripe.refund")——而那次 Merge 没有任何人真正审核过这个能力变更。
这是 AI Agent 时代特有的安全盲区: Coding Agent 可以在几分钟内给你的 AI Agent 添加新的工具调用能力,而这些能力变更往往跨越几十个文件、涉及动态生成的代码,传统 CI 根本无法理解"这个 PR 到底给我的 Agent 新增了什么能力"。
这就是 Agents Shipgate 诞生的背景。
Agents Shipgate 由 Three Moons Lab 开发维护,这是一家专注于 AI Agent 安全与治理的实验室。项目以 Apache-2.0 开源,目前处于 Beta 阶段(v0.15.0),代码中包含大量 Golden Test 案例来保证决策引擎的稳定性。
根据项目自述,创始团队观察到一个核心矛盾:AI Coding Agent 的迭代速度远超人类 Code Review 的理解能力。Agent 可以在单次对话中为自己的"主人"添加完整的工具调用链,而这些变更对人类 Reviewer 来说是高度不透明的。传统的 SAST 工具无法理解"这个 PR 新增了哪些工具调用",更无法判断这些工具调用是否经过了充分的授权审批。
项目目前支持 12 种主流 AI Agent 框架,包括 MCP、OpenAPI、OpenAI Agents SDK、Anthropic Messages API、Google ADK、LangChain/CrewAI 等,构建了一个跨框架的能力变更分析标准。
Agents Shipgate 的核心是一个确定性决策引擎——不依赖 LLM,不发起网络请求,不执行任何工具调用,仅通过静态分析来回答一个关键问题:
这个 PR 是否改变了我家 AI Agent 的能力边界?如果是,这些能力变更是否经过了充分的安全审查?
当一个 PR 提交时,Agents Shipgate 的 agents-shipgate verify 命令会:
shipgate.yaml 策略文件,检查能力变更是否满足要求mergeable、blocked、human_review_required、insufficient_evidence 四种结论| 框架/平台 | 支持类型 |
|---|---|
| MCP (Model Context Protocol) | Server Manifest、Permissions |
| OpenAI Agents SDK | Tool Declarations |
| Anthropic Messages API | Tool Use Surface |
| Google ADK | Agent Tool Config |
| LangChain / LangGraph | Tool Bindings |
| CrewAI | Agent Tools |
| OpenAI API | Function Calling Schemas |
| Codex Config / Plugin | Marketplace Tool Definitions |
| n8n / Conductor OSS | Workflow JSON Artifacts |
Agents Shipgate 是一个标准的 Python CLI 工具,支持 pip/uvx 安装:
pip install agents-shipgate
# 或
uvx agents-shipgate verify --diff-base=origin/main
GitHub Action 配置简洁:
- name: Agents Shipgate
uses: ThreeMoonsLab/agents-shipgate@v0.15.0
with:
ci_mode: advisory
fail_on: critical,high

从代码结构看,Agents Shipgate 采用模块化设计:
src/agents_shipgate/checks/:12 个独立 Check 模块,对应 12 种框架的适配器src/agents_shipgate/core/:核心决策引擎,输出确定性判决src/agents_shipgate/packet/:报告生成(Markdown/JSON/SARIF)src/agents_shipgate/ci/:CI 集成逻辑(GitHub Actions、SARIF 上报)src/agents_shipgate/cli/:命令行接口,基于 Typer 构建policies/:内置策略包(MCP Permissions、Host Boundary、Codex Boundary)策略即代码(Policy as Code)是项目核心哲学:安全策略以 YAML 格式声明,与代码一起版本化管理,便于 Diff 和 Review。技术栈为 Python 3.12+,核心依赖 Pydantic(数据校验)、PyYAML(策略解析)、Typer(CLI)、Cryptography(签名校验)。项目拥有 150+ 测试文件,包括大量 Golden Test 和构造对抗案例。
项目官方坦诚披露了当前局限性:
insufficient_evidence 并路由人工审核——这是设计预期must_block 100% 捕获),代价是约 28.6% 良性 PR 被误路由人工审核Agents Shipgate 切入了一个正在快速扩张的需求领域:AI Agent 的 Release Readiness。随着 Coding Agent 从"辅助建议"演进为"自主执行",如何治理 Agent 的能力边界正在成为每个 AI First 团队的必修课。
从 GitHub Topics 来看(agent-governance、mcp-security、release-gate、ai-agent-security),项目定位是 AI Agent 安全生态中的 Gatekeeping 层。目前处于早期,但设计思路和技术实现质量显示出较高的工程成熟度,值得持续关注。
