代理墙
AI代理的安全防火墙。 拦截MCP工具调用,执行策略,阻止攻击。
*“Cloudflare for AI代理”* --对任何MCP服务器实施零配置保护。
  ](https://www.npmjs.com/package/@agent-wall/cli)
问题
AI代理现在可以执行工具——读取文件、运行shell命令、查询数据库、发出HTTP请求。如果没有护栏,一次快速注射可以:
- 阅读 您的SSH密钥,
.env文件、凭据 - 渗出 数据通过
curl,wget,或DNS隧道 - 执行 具有您权限的任意shell命令
- 链 从读取到提取再执行的多种工具
Agent Wall位于MCP客户端和服务器之间,对每个工具调用强制执行YAML策略——包括传入的请求和传出的响应。
MCP Client ←→ Agent Wall Proxy ←→ MCP Server
↕
agent-wall.yaml
+ security modules
+ response scanner快速开始
# Install globally
npm install -g @agent-wall/cli
# Generate a starter policy
agent-wall init
# Wrap any MCP server
agent-wall wrap -- npx @modelcontextprotocol/server-filesystem /home/user
# With real-time dashboard
agent-wall wrap --dashboard -- npx @modelcontextprotocol/server-filesystem /home/user就这样 Agent Wall现在正在保护您的MCP服务器。
30秒整合
替换MCP配置条目以包装任何服务器:
{
"mcpServers": {
"filesystem": {
"command": "agent-wall",
"args": ["wrap", "--", "npx", "@modelcontextprotocol/server-filesystem", "/home/user"]
}
}
}使用 克劳德代码, 光标, 克劳德桌面, VS代码, 帆板运动,以及任何MCP客户端。
纵深防御管道
每 tools/call 请求通过 5级进站管线:
1. Kill Switch — Emergency deny-all (file/signal/programmatic)
2. Injection — 30+ patterns detect prompt injection attacks
3. Egress Control — Block private IPs, SSRF, metadata endpoints
4. Policy Engine — YAML rules (first-match-wins, glob, rate limiting)
5. Chain Detection — Suspicious multi-step patterns (read→exfil, write→exec)响应贯穿始终 出站扫描仪:
6. Response Scanner — 14 secret patterns, 5 PII patterns, custom regex
Actions: pass / redact / block策略配置
规则定义见 agent-wall.yaml --第一场比赛获胜:
version: 1
defaultAction: prompt
globalRateLimit:
maxCalls: 200
windowSeconds: 60
security:
injectionDetection:
enabled: true
sensitivity: medium # low | medium | high
egressControl:
enabled: true
blockPrivateIPs: true
killSwitch:
enabled: true
chainDetection:
enabled: true
responseScanning:
enabled: true
maxResponseSize: 5242880
detectSecrets: true
detectPII: false
rules:
# Block credential access
- name: block-ssh-keys
tool: "*"
match:
arguments:
path: "**/.ssh/**"
action: deny
message: "SSH key access blocked"
# Block exfiltration vectors
- name: block-curl-exfil
tool: "shell_exec|run_command|execute_command"
match:
arguments:
command: "*curl *"
action: deny
# Require approval for shell commands
- name: approve-shell-exec
tool: "shell_exec|run_command|execute_command|bash"
action: prompt
# Allow safe reads
- name: allow-read-file
tool: "read_file|get_file_contents|view_file"
action: allow规则功能
| 特性 | 示例 | 描述 | |
|---|---|---|---|
| 球状图案 | *delete* | 将工具名称与通配符匹配 | |
| 管道替代品 | `shell_exec\ | run_command` | 匹配多个工具名称 |
| 参数匹配 | path: "**/.ssh/**" | 与参数的模式匹配 | |
| 速率限制 | maxCalls: 10, windowSeconds: 60 | 按规则和全球费率限制 | |
| 三个行动 | allow, deny, prompt | 前进、阻止或询问人类 | |
| 热重载 | 编辑yaml,自动重新加载 | 无需重新启动 |
实时仪表板
监控浏览器中的安全事件:
agent-wall wrap --dashboard -- npx mcp-server
# → Dashboard at http://localhost:61100https://github.com/user-attachments/assets/5b8c2c31-acad-4418-bef6-bfb0a462d4ec
- 带有允许/拒绝/提示颜色编码的实时事件提要
- 统计卡(总计、转发、拒绝、攻击、扫描)
- 按类别分组的攻击面板(注射、SSRF、链)
- 规则命中表(可排序)
- 关闭开关切换(带确认)
- 审计日志搜索
CLI命令
| 命令 | 描述 |
|---|---|
agent-wall wrap | 用策略强制包装MCP服务器 |
agent-wall init | 生成启动器配置 |
agent-wall test | 对你的政策进行工具调用 |
agent-wall audit | 查看和分析审核日志 |
agent-wall scan | 扫描MCP配置以查看安全风险 |
agent-wall validate | 验证策略配置 |
agent-wall doctor | 配置和环境的健康检查 |
# Wrap with dashboard and audit logging
agent-wall wrap --dashboard --log-file ./audit.log -- npx mcp-server
# Dry-run preview
agent-wall wrap --dry-run -- npx mcp-server
# Test a tool call
agent-wall test --tool read_file --arg path=/home/.ssh/id_rsa
# → DENIED by rule "block-ssh-keys"
# View denied entries from audit log
agent-wall audit --log ./audit.log --filter denied --last 20
# Scan for unprotected MCP servers
agent-wall scan
# Validate config
agent-wall validate响应扫描
Agent Wall在服务器响应到达LLM之前对其进行检查:
- 14种内置秘密图案 --AWS密钥、GitHub令牌、OpenAI密钥、JWT、私钥、数据库URL、密码、证书
- 5个人身份信息模式 --电子邮件、电话、SSN、信用卡、IP地址(选择加入)
- 定制图案 --通过YAML配置添加自己的正则表达式
- 三个行动 —
pass(仅日志),redact(替换为[REDACTED]),block(客户端出错) - 大小限制 --可配置的最大响应大小,超大动作
内置默认策略
如果没有配置文件,Agent Wall附带了合理的默认值:
- 块 访问
.ssh/,.env,.pem,.key,.pfx,.p12,凭据文件 - 块
curl,wget,netcat,powershell,pwsh在shell命令中 - 块 DNS泄漏向量(
nslookup,dig,host) - 检测 快速注射攻击(30+种模式)
- 块 SSRF到私有IP和云元数据端点
- 检测 可疑工具调用链(阅读→撤退,写作→执行)
- 提示 用于shell执行和文件删除
- 允许 文件读取、目录列表、搜索操作
- 扫描 对泄漏机密和API密钥的响应
- 速率限制 全球每分钟200个电话
建筑
packages/
core/ @agent-wall/core — Proxy engine, policy, security modules
cli/ agent-wall — CLI (wrap, init, test, audit, scan, validate, doctor)
dashboard/ @agent-wall/dashboard — React SPA for real-time monitoring
docs/ VitePress documentation site对MCP SDK的零依赖 --Agent Wall实现了自己的JSON-RPC解析,因此它适用于任何MCP版本。
关键模块:
- Stdioproxys --具有5步防御管道的双向拦截代理
- 策略引擎 --第一场比赛获胜规则评估器(全局模式、速率限制、严格模式)
- 响应扫描器 --具有ReDoS保护的秘密/PII检测
- 注射检测器 --30+快速注射模式(可配置灵敏度)
- 出口控制 --URL/SSRF保护(RFC1918,元数据,十六进制/八进制IP混淆)
- KillSwitch --紧急拒绝所有(基于文件、基于信号、程序化)
- 链条检测器 --多步攻击模式检测
- 仪表板服务器 --用于浏览器仪表板的WebSocket+HTTP服务器
- AuditLogger --HMAC-SHA256签名JSON行,日志轮换
- 策略加载器 --YAML配置,带Zod验证、自动发现、热重载
测试
pnpm test # Run all tests
pnpm build # Build all packages发展
# Install dependencies
pnpm install
# Build all packages
pnpm build
# Run tests
pnpm test
# Dev docs server
pnpm docs:dev贡献
欢迎投稿!请阅读 贡献指南 在提交PR之前。
许可证
麻省理工学院 --由Agent Wall贡献者痴迷而建。
