pipelock
开源 AI Agent 防火墙,通过 MCP/HTTP 代理扫描防止密钥泄露、提示词注入和 SSRF
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
开源 AI Agent 防火墙,通过 MCP/HTTP 代理扫描防止密钥泄露、提示词注入和 SSRF
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
一句话评价:在 AI Agent 的每一次网络请求背后,有一双眼睛在审视着"这个请求是真心服务用户,还是在悄悄泄露秘密?"——这就是 Pipelock,AI Agent 防火墙。
2025 年底,某科技公司的 AI 编程助手接到了一个看似无害的请求:帮开发人员整理一段代码。Agent 愉快地执行了,却不知道它刚刚将价值数万美元的 AWS API Key 通过 HTTP 请求发送到了一个陌生的外部域名。这不是 Bug,也不是恶意 Prompt——而是一次精心构造的、社会工程学驱动的"提示词注入攻击"(Prompt Injection)。
这类攻击的可怕之处在于:它不依赖漏洞,而是利用 AI 的"听话"特性。一个精心设计的提示词可以让 Agent 执行任何操作,包括将环境变量中的密钥通过合法请求发送出去。传统的防火墙无法检测,因为从流量角度看,这些请求完全合法。
Pipelock(来自 luckyPipewrench 组织)正是为解决这一问题而诞生的开源项目。它是目前 GitHub 上增长最快的 AI Agent 安全工具之一,获得了 720 个 Stars 和 83 个 Forks,入选了 CNCF Landscape 安全与合规类别,并通过了 OpenSSF Best Practices 银级认证。
想象一下机场安检的流程:你带着随身物品走过 X 光机,安检员检查是否有危险品,发现问题就拦下你、开包检查、记录在案。Pipelock 就是 AI Agent 的"网络安检系统"。
它被部署在 AI Agent 与外部网络之间,扮演 egress proxy(出口代理)的角色。所有从 Agent 发出的 HTTP 请求、WebSocket 通信、MCP(Model Context Protocol)工具调用,首先经过 Pipelock 的 11 层扫描管道(11-Layer URL Scanner):
/../../etc/passwd 类攻击关键设计原则:Pipelock 持有网络访问权限,但不持有 Agent 的密钥;Agent 持有密钥,但无法直接访问网络。两者能力分离,即便 Agent 被 Prompt Injection 攻破,攻击者也无法绕过 Pipelock 的安检。
这是 Pipelock 的基础防线。每个出口 URL 都要经过上述 11 层检查。BIP-39 种子短语检测(加密货币钱包助记词)使用滑动窗口 + SHA-256 校验,专门应对通过 URL 参数外传的加密货币钱包泄露。
MCP(Model Context Protocol)是 AI Agent 连接外部工具的标准协议,Pipelock 实现了完整的 MCP 安全包装:
pipelock mcp proxy -- npx -y @modelcontextprotocol/server-filesystem /tmp当 Agent 通过 /fetch 获取外部网页内容时,Pipelock 对响应进行 6 通道规范化处理(6-pass normalization),可识别:
内置 29 种提示词注入模式,覆盖越狱短语、指令操纵、凭证钓鱼、记忆持久化、偏好污染等。
对 SSE 流式响应(OpenAI/Anthropic 的 chat completions)采用逐 Token 扫描,保持实时对话体验的同时检测注入。
当 Agent 向外部 API 发送请求体(如 JSON、form-data)时,Pipelock 对匹配到的凭证值进行原地替换,生成形如 <pl:aws-access-key:1> 的占位符,并将操作记录在签名的 Action Receipt 中,而非存储明文密钥。
使用 OS 原生内核原语实现无特权进程隔离:
--best-effort 降级模式(Landlock + Seccomp,无 Namespace)紧急关闭开关,支持 4 种独立触发方式:配置文件修改、SIGUSR1 信号、监控文件变化、远程 API 调用。即使 Agent 本身被攻破,也无法关闭 Kill Switch(Pipelock API 可运行在独立端口)。
默认启用,生成哈希链式 JSONL 日志 + Ed25519 签名检查点。每个代理决策都生成一份签名的 Action Receipt——这份收据记录了"哪个扫描器、以什么规则、对什么内容做出了什么决定",外部验证者(如合规审计人员)可以用 pipelock verify-receipt 独立验证,无需信任 Agent 本身。
# macOS/Linux 一键安装(Homebrew)
brew install luckyPipewrench/tap/pipelock
# Docker 镜像
docker pull ghcr.io/luckypipewrench/pipelock:latest
# 源码编译(需要 Go 1.25+)
go install github.com/luckyPipewrench/pipelock/cmd/pipelock@latest
pipelock init
init 命令会自动探测当前 IDE/Editor 的 AI Agent 配置(Claude Code、Cursor、VS Code、JetBrains 等),生成配置文件并验证检测能力是否正常工作。
# 检查单个 URL
pipelock check --url "https://evil.com/?k=AKIAIO...MPLE" # 阻断:AWS Access ID
pipelock check --url "https://docs.python.org/3/" # 允许
# 沙箱运行 Agent
pipelock sandbox --config pipelock.yaml -- python agent.py
# MCP 代理包装
pipelock mcp proxy --config pipelock.yaml -- npx -y @modelcontextprotocol/server-filesystem /tmp
注意:Pipelock 是纯 CLI 工具,通过 --listen 参数暴露 HTTP 代理端口(默认 8888),没有独立的 Web 界面。配置和管理均通过 YAML 配置文件 + CLI 命令行完成。
pipelock assess init --config pipelock.yaml
pipelock assess run assessment-a1b2c3d4/
pipelock assess finalize assessment-a1b2c3d4/
对部署环境进行四阶段安全评估:DLP 检测、注入模拟、配置审计、MCP 服务器发现。生成 A-F 安全评级。
Pipelock 使用 Go 1.25+ 开发,核心设计强调高性能与确定性安全。
关键依赖体现了项目的技术深度:
github.com/landlock-lsm/go-landlock):Linux 内核级文件系统沙箱github.com/spiffe/go-spiffe/v2):mTLS + SPIFFE 身份体系,用于 Conductor 集群管理github.com/prometheus/client_golang):完整的可观测性指标github.com/goccy/go-yaml):配置解析modernc.org/sqlite):本地审计日志存储使用 golangci-lint 进行代码质量检查,完整测试覆盖(make test),包含模糊测试(Fuzz)目标覆盖 URL 扫描、响应内容扫描、Git 差异扫描等关键路径。make release-check 是完整的发布前检查清单:测试 + Lint + 运行时关键路径 + 回归测试 + 发布审计 + 策略审计。
多阶段 Dockerfile 构建:构建阶段使用 golang:1.26-alpine,最终镜像基于 scratch(纯空镜像),包含二进制 + CA 证书,约 15MB。另有独立镜像用于 License Service。
生产级 K8s 部署通过 charts/pipelock/ 提供完整的 Helm Chart,支持 Sidecar 模式(pipelock init sidecar --mcp-upstream),自动生成 ServicePort、NetworkPolicy、ConfigMap 等 K8s 资源。
Pipelock 防护的是网络层和协议层的攻击,但无法阻止 Agent 在其"合法输出"中泄露数据——比如 Agent 被诱导生成一条包含 API Key 的注释代码并写入文件。这类攻击不产生网络流量,防火墙无法感知。Pipelock 的 Filesystem Sentinel(文件系统哨兵)模块在一定程度上缓解了这个问题,但仍依赖进程级监控。
在高流量场景下(大量并发工具调用),11 层扫描管道会带来额外的延迟。对于延迟敏感的交互式 Agent(如实时对话型应用),需要在安全性和响应速度之间做权衡。
YAML 配置文件功能丰富,但对于新手来说存在一定的学习曲线。pipelock init 虽然能自动探测环境,但高级配置(如 TLS 中间人拦截、mTLS/SPIFFE 联邦、Adaptive Enforcement 动态策略)仍需阅读大量文档。
Conductor 集群控制平面、Fleet Monitoring 高级版、Security Assessment 完整报告等企业级功能需要商业 License,开源版本和付费版本的边界可能让部分用户感到困惑。
Pipelock 的出现反映了 AI Agent 安全领域的一个根本性转变:从"相信模型不会作恶"到"默认模型可能被利用"。
随着 Claude Code、OpenAI Codex、CrewAI、AutoGen 等 Agent 框架在企业中的普及,AI Agent 的攻击面正在急剧扩大。OWASP 先后发布了 MCP Top 10 和 Agentic AI Top 15 安全威胁列表,Pipelock 是目前开源社区中覆盖最全面的防御工具之一。
从增长数据看:项目于 2026 年 2 月创建,不到 5 个月积累了 720 Stars、83 Forks,进入了 CNCF Landscape,说明市场(尤其是企业和安全团队)对这类工具的需求是真实且迫切的。
值得关注的演进方向:
图1:Pipelock 官方 Logo
图2:Pipelock 功能概览与安全矩阵
总结:Pipelock 不是万能的银弹——它无法防护 Agent 的合法输出泄露,也无法替代传统的网络安全防护。但作为 AI Agent 出口代理,它填补了当前 AI 安全工具链中最关键的一环:在攻击造成实质损害之前,在网络边界处将其阻断并留下可验证的审计证据。对于任何在生产环境中部署 AI Agent 的团队来说,Pipelock 都是一个值得认真评估的安全层。