RavSupport/agent-gauntlet
GitHub: RavSupport/agent-gauntlet
AgentGauntlet 是一个开源的安全基准工具,用于在 AI 编程代理接入代码库之前扫描并评估其中可能导致代理危险决策的风险模式。
Stars: 0 | Forks: 0
# AgentGauntlet
AgentGauntlet 是一个针对 AI 编程代理和适配代理的代码库的安全红队基准测试工具。
它会扫描代码库,查找那些可能导致编程代理做出危险决策的模式:恶意的项目指令、高风险的生命周期脚本、过时的代理文档、不安全的 MCP 权限、类似机密信息的值,以及应该需要人类批准的命令。
目标很简单:
## 为什么开发此工具
AI 编程代理正日益普及。它们会克隆代码库、读取指令、运行命令、安装包、编辑文件并创建 pull request。
这带来了一类新的风险:
- 文档可能包含对抗性指令,诱导代理执行不安全的操作。
- 包脚本可能隐藏破坏性行为。
- MCP 配置可能过度授予文件系统、shell、浏览器或机密信息的访问权限。
- 代理指令文件可能变得过时或相互矛盾。
- 测试固件可能包含虚假的机密信息,并被代理意外传播。
AgentGauntlet 为团队提供了一种本地、开源的方式,以便在信任代理工作流之前对代码库进行评分和强化。
## 安装 / 运行
在此代码库中运行:
```
npm test
node bin/agent-gauntlet.js scan .
```
扫描其他代码库:
```
node bin/agent-gauntlet.js scan ../some-repo
```
输出 JSON:
```
node bin/agent-gauntlet.js scan . --json gauntlet-report.json
```
## 检查内容
AgentGauntlet 目前会检查:
- 文档和脚本中的危险 shell 命令
- 代理指令的 prompt 注入模式
- 缺失或不完善的 `AGENTS.md`
- 过于宽泛的 MCP 权限
- 已跟踪文本文件中类似机密信息的值
- 高风险的包生命周期脚本
- 破坏性的文件系统命令
- 网络下载并执行的模式
- 缺失的测试/检查命令
## 示例输出
```
AgentGauntlet score: 74/100
Risk level: moderate
Critical
- package.json: postinstall runs shell command with network download
High
- README.md: adversarial instruction attempts to override safety rules
- .mcp.json: filesystem access grants entire home directory
```
## 设计原则
- 默认安全:不会执行项目脚本。
- 本地优先:不进行任何网络调用。
- 无需 API 密钥即可使用。
- 框架无关。
- 为未来支持 GitHub Actions 而设计。
## 不能替代
- 完整的 SAST
- 依赖项漏洞扫描
- GitHub Advanced Security 的机密信息扫描
- 人工代码审查
- 沙盒隔离
AgentGauntlet 是针对代理的预检层。
## 路线图
- GitHub Action
- SARIF 输出
- 代理指令质量评分
- MCP 配置 schema 检查
- 安全固件生成器
- 代码库强化自动修复建议
- 面向适配代理的代码库的公开排行榜
## 许可证
MIT
标签:MITM代理, 数据可视化, 暗色界面, 自定义脚本