如果你用 AI 编码代理交付过任何东西 —— Claude Code、Cursor、Aider、Codex、内部工具 —— 那你已经想过这件事了:当代理同时握有 shell 访问、你的 API 密钥、以及不受限的网络出口时会发生什么?「一次被劫持的工具调用就能把凭据泄露到攻击者域名」不是理论,是结构本身。Pipelock 是 Joshua Waldrep 在 PipeLab 项目下发布的开源 AI 代理防火墙,它从那个真正关键的架构选择上回应这个空白:把执行放在代理*进程之外*。Apache 2.0、约 20MB 的 Go 二进制,当前 v2.3.0,GitHub 仓库 luckyPipewrench/pipelock。
能力切分(capability split)是承重的设计。代理进程持有密钥,没有直接的网络访问;代理(proxy)有网络访问,没有密钥;流量在两区之间穿越一道扫描边界。网络隔离在部署层强制 —— 网络命名空间、iptables、Docker、Kubernetes NetworkPolicy —— 而不是在代理可以把它关掉的应用层。11 层扫描流水线覆盖:凭据外泄(48 种模式,涵盖 API key、token、金融账号、加密私钥,配 4 种校验和验证器),提示注入(25 种模式 + 6 道规范化预处理),SSRF,路径穿越,按域名的 DLP 预算,以及响应侧对零宽字符、同形异义字、leetspeak 编码绕过的扫描。协议覆盖 HTTP 正向代理、CONNECT 隧道、WebSocket 帧、Model Context Protocol stdio、以及 Google 的 Agent-to-Agent 协议。Ed25519 签名的证据回执,SARIF v2.1.0 接入 GitHub Code Scanning,合规映射到 OWASP MCP Top 10、MITRE ATT&CK、欧盟 AI 法案、SOC 2、NIST 800-53。
Waldrep 给出的框架,正是代理安全这一领域一直需要听到的那个架构论点:*「大多数代理安全工具仍然需要代理配合。那些控件只在代理还愿意继续调用它们的时候有效。」*这就是 SDK 和代理(proxy)路径的分水岭。每一种「安全靠回调」的设计都有同一个结构性弱点 —— 一个被攻陷或越狱的代理只要不再调用那个安全库,所有控件就蒸发。进程外执行不需要任何配合;网络边界由操作系统强制,不由代理强制。可以预计,这种模式会成为「凡是在生产环境里跑代理、又有真实凭据在场」的部署的标配。Pipelock 不是唯一在这个方向上动的项目(沙箱化执行层、用 mTLS 强制的工具权限、Anthropic 自己 Claude Code 的权限系统都在),但它是这次架构转向最干净的一份开源表达。
如果你在生产环境里跑 AI 代理,带 shell 访问和带凭据的 API 调用,那这种东西就该放在代理和网络之间 —— 不是要替换代理内的护栏,而是当那些护栏被绕开时的兜底。Apache 2.0 + Go 二进制 + MCP + A2A 覆盖意味着今天就能部署。集成之前先读一遍 GitHub README 里的威胁模型;按域名的 DLP 预算和提示注入的规范化预处理需要按你自己的用例调校。SARIF 集成意味着 findings 可以接入你现有的安全管道,不必重建遥测。更大的那个动作是结构性的:别再让代理自己监管自己。
