pipelab-org/pipelock

Open-source AI agent firewall for MCP security and agent egress. Scans mediated HTTP, MCP, A2A, and WebSocket traffic for exfiltration, SSRF, and prompt injection, and emits mediator-signed action receipts: verifiable audit evidence from outside the agent.

Pipelock – 开源 AI 代理防火墙

它是什么 – Pipelock 是一个基于 Go 的单二进制代理,位于 LLM 驱动的 AI 代理和互联网之间。它检查每个 HTTP、WebSocket、MCP(消息控制协议)和代理到代理的请求,可选地解密 TLS 隧道,并决定是允许、阻止还是标记流量。对于每个决定,它都会写入一个中介签名的收据,可以在离线状态下验证,为操作员提供防火墙所做操作的加密证明。

为什么重要 – AI 代理通常使用强大的凭据(API 密钥、云令牌、SSH 密钥)运行,并且具有 shell 访问权限。一个简单的 curl 或精心设计的提示可能会泄露这些秘密。Pipelock 创建了一个可验证的“边界”,所有出站流量都必须通过它,将基于信任的仪表板转变为防篡改的审计跟踪。


核心功能(如 README 中所述)

功能 作用
流量检查 调解 HTTP、WebSocket、MCP 和 A2A 流量;启用 TLS 拦截时可以解密 CONNECT 隧道。
威胁检测 阻止秘密泄露、提示注入、SSRF、工具投毒、风险工具调用链、DNS 隧道、分块泄露、高熵 blob 等。
三种操作模式 严格(仅允许列表),平衡(默认 – 阻止简单攻击,检测复杂攻击),审计(记录所有内容,仅核心楼层阻止)。
签名操作收据 每个允许/拒绝决定都使用操作员持有的密钥签名;收据可以在本地或针对透明度日志(Rekor)进行验证。
证据查看器和仪表板 免费的离线 HTML 查看器(pipelock evidence view)和企业级只读仪表板,具有 RBAC、OIDC/mTLS 认证、编辑和舰队范围指标。
集成生态系统 适用于 Claude Code、OpenAI Codex、Cline、OpenCode、Pi、Zed、Cursor、VS Code、JetBrains、OpenAI Agents SDK、Google ADK、AutoGen、CrewAI、LangGraph 等。
报告和监控 pipelock report 生成 HTML/JSON/签名包;提供 Prometheus 和 Grafana 导出器用于实时指标。
策略预设 包括一个 hostile-model 预设,添加了激进熵阈值、工具阻止、会话绑定和针对不受信任模型工具链的紧急停止开关。
开源合规 使用 Apache 2.0(核心)和企业 ELv2 许可证用于付费功能;内置 CI、SLSA 来源、SBOM 和证明验证。

工作原理(高层架构)

  1. 代理入口点 – 代理配置为使用 Pipelock 作为 HTTP/HTTPS 代理(或通过 MCP 包装器)。所有出站请求都流经它。
  2. 扫描管道 – 请求通过一系列确定性检查:URL 解析 → 方案验证 → CRLF/路径遍历 → 允许/阻止列表 → 字面 IP SSRF → DLP 模式 → 熵分析 → 嵌套 URL 检测 → DNS-SSRF 保护 → 速率限制/预算 → 最终策略裁决。
  3. 决定和收据 – 代理允许请求、阻止请求或记录警告。然后它发出一个 JSON 收据,使用操作员的私钥签名,包含请求哈希、裁决、策略版本和可选的审计元数据。
  4. 证据存储 – 收据写入记录器目录(飞行记录器)。操作员可以稍后运行 pipelock evidence view 生成静态 HTML 报告或只读服务。
  5. 锚定(可选) – 收据可以锚定到本地后端或公共透明度日志(Rekor),以实现不可变、第三方验证。

入门(README 中的快速开始步骤)

# 1. 克隆标记的发布版本并构建社区二进制文件
git clone --branch v3.7.0 --depth 1 https://github.com/luckyPipewrench/pipelock.git
make -C pipelock install   # 生成 `pipelock`

# 2. 生成一个发现本地代理集成的起始配置
pipelock init --output ./pipelock.yaml

# 3. 在已知的秘密 URL 上测试扫描器(应该被阻止)
 p ipelock check --config ./pipelock.yaml \
   --url "https://api.vendor.example/?k=$(printf '%s%s' 'AKIA' 'IOSFODNN7EXAMPLE')"

# 4. 为真实代理运行代理
pipelock run --config ./pipelock.yaml   # 然后将代理的 HTTP 代理指向 localhost:PORT

其他安装选项(二进制下载、Docker 镜像、Homebrew)在 README 中列出,以及使用 gh attestation verify 验证发布证明的命令。


何时使用 Pipelock

  • 企业或受监管行业必须证明 AI 代理没有秘密泄露(金融、医疗、国防)。使用严格模式和签名收据链。
  • 开发团队构建自定义代理(AutoGen、CrewAI、LangGraph 等),希望在不重写代码的情况下获得默认的平衡保护。
  • 安全审计员需要可重复、加密可验证的证据,证明代理尝试发送了什么。
  • 多租户 AI 服务的运营商希望通过 Prometheus/Grafana 获得每个代理的 RBAC、预算限制和舰队范围监控。

限制和诚实说明(项目指出的)

  • 代理只能控制通过它路由的流量;忽略代理设置的工具仍然可以访问互联网,除非应用额外的操作系统/容器沙箱。
  • 签名收据证明代理决定和操作员签署了它,但不证明操作员是诚实的或没有发生带外泄露。
  • 企业级功能(仪表板、RBAC、多代理舰队视图、紧急停止开关)需要付费许可证;社区二进制文件提供核心扫描和收据生成。

链接和资源


以上所有信息均直接取自仓库的 README;没有推断任何额外功能。

相关

  • 项目
  • 项目
  • 项目
  • 项目