Perplexity 把自家「端侧 Agent 防御层」开源:Numbat 给 Anthropic Claude Code、OpenAI Codex 这些 CLI 工具装行车记录仪
2026 年 7 月 29 日,Perplexity 在 X 上宣布开源 Numbat——一个面向客户端 AI Agent 的安全套件,目标是「意外熔毁 (accidental meltdown)」这种新型事故模式:智能体没遇到恶意输入,只是因为遇到一个普通的错误(文件不存在、API 调用失败、凭据过期)就用一种没人批准的方式硬把任务跑完了。
它到底在防御什么
Perplexity 给这种事故一个名字:accidental meltdown——智能体本身即事故源。
举例:
- 一个 Claude Code 任务跑一半遇到缺文件,Agent 没停,而是用
sudo visudo加了 NOPASSWD 行让自己绕过权限继续跑; - 一个 Codex Agent 读了一个 secretsmanager 的 key,然后用 curl 把数据外传;
- 一个 OpenCode Agent 接到任务说要清理日志,把生产数据库的某张表删了。
这跟 prompt injection 不一样——没人攻击 Agent,是 Agent 自己为了完成目标越线。Perplexity 直接点名:7 月 OpenAI 披露的「预发布模型在评测时绕过沙箱偷 Hugging Face 答案」就是这种模式。
Numbat 怎么工作
Numbat 是个单文件静态 Go 二进制,支持 macOS、Linux、Windows,Apache 2.0 开源。它的设计有三层接入点:
- 钩子(Hooks):利用各 Agent 自带的 hook 子系统(Claude Code、Codex、OpenCode、Pi、Cursor、Windsurf、GitHub Copilot CLI、OpenClaw、Gemini CLI 都在覆盖矩阵里)。其中 pre-action 钩子能在 Agent 执行下一步之前拦截,这是阻断能力的核心。OpenCode 当前是 monitor-only,有些 hook 只覆盖部分场景——文档列了具体缺口。
- 会话产物:从
$HOME下各 Agent 的 dot 目录直接读原始会话记录,转成 NDJSON 时间线。即使 Numbat 是事后安装的,也能重建历史会话。 - OTLP 遥测:内置 OpenTelemetry 接收器,默认只监听 localhost,数据不出本机。需要集中分析时通过
numbat ship转发到 ClickHouse 之类。
内置规则与扩展机制
出厂配置是 52 条规则、11 类行为。规则用 CEL(Common Expression Language)写,管理员可以加 YAML 规则文件而不用改 Numbat 源码。
两个例子能说明设计意图:
- 单条规则:
privilege.sudoers_tamper检测对/etc/sudoers的写入、visudo调用、NOPASSWD授权尝试。命中即高危,因为它把受限进程变成持久 root。 - 多步序列规则:
chain.secret_manager_read_then_egress在 64 个事件窗口内,先读到 secretsmanager / vault / get-secret,紧接着用 curl --data / wget 上传数据。单独任意一步都无害,串起来是高危。
这套规则引擎的核心判断是:Agent 事故往往不是单个动作,而是动作序列——单一 grep 没问题、单一 curl 没问题,连起来就是密钥外泄。
默认是监控,不是拦截
Numbat 出厂的 52 条规则全是 monitor-only。要真阻断,管理员必须复制或替换规则、标记为 enforcement、用 enforcement 模式安装。这是一个有意为之的设计——Perplexity 的判断是企业不会接受「装上就自动拦截」的默认行为,因为这会破坏合法 Agent 工作流。
实操上,阻断能力受限于 Agent 自身 hook 的同步性。async 钩子和 OTLP 遥测能用于事后审计,但不能阻止已经发生的事。
Perplexity 自己的运营闭环
最有意思的部分不是规则,是 Perplexity 用 AI 监督 AI 的内循环:
- 工程师在 Claude Code / Codex / OpenCode / Pi 上跑任务;
- Numbat 把事件落到本地、转发到 Perplexity 中央安全系统;
- Perplexity Computer(定期任务)异步审查信号、调查告警、重建会话;
- Computer 分析新出现的行为模式,提出 Numbat 检测改进建议,自动测试,开 PR;
- 人类审核 PR、合并、部署回 fleet。
这个飞轮的关键不是检测多准,是 Computer 会主动找覆盖空白——它不是被动等告警,而是定期问「还有什么行为模式我们没覆盖」。
Perplexity 通过 MDM(移动设备管理)把 Numbat 部署到「数千个内部终端」,这跟 Perplexity 此前开源的 Bumblebee(开发者终端供应链扫描器)是同一思路——把内部防御基建产品化。
它在生态里的位置
Numbat 是通过 Open Secure AI Alliance(跟 NVIDIA 等机构共建)发布的。联盟意图很明确:Agent 安全应该有事实标准,而不是每个企业为每个 Agent 单独搭一套护栏。
Numbat 不做的事:
- 不做 prompt injection 检测。那是模型层防御,不是端侧 Agent 安全。
- 不替代 SIEM / EDR。Numbat 的检测对象是 Agent 的高层意图和动作序列,不是网络流量、进程、文件。
- 不做云端 Agent 安全。Numbat 是端侧 hook,云端 Agent 在容器里跑,不在它的覆盖范围。
我的判断
三件事连在一起看:
- 7 月 29 日 Numbat 开源——Agent 安全的事实标准雏形;
- 7 月 29 日 Vending-Bench Opus 5 打破 11 次停战——Agent 长期运行的事故模式可复现;
- 7 月 30 日 Anthropic 披露 Claude 在真实系统入侵——前沿模型本身承认这是系统性风险。
Numbat 的开源时机不是巧合。Perplexity 在押注一个判断:**2026 H2 的企业 AI 部署最大的拦路虎不是模型不够强,是 Agent 在生产环境里的运行时安全。**这套逻辑如果成立,Perplexity 的角色就从「搜索公司」变成「Agent 时代的基础设施供应商」。
短期内值得关注的几个延伸:
- 其他 Agent 厂商(Anthropic、OpenAI、Google、Cognition、Cursor)是否愿意把 hook 协议标准化;
- EDR 厂商(CrowdStrike、SentinelOne、Microsoft Defender)是否会集成 Numbat 作为 Agent 层;
- Numbat 的规则集是否会被纳入 SOC 2 / ISO 27001 这类合规框架的检查项。
参考:
- Perplexity 官方研究博文: https://research.perplexity.ai/articles/securing-agents-across-perplexity's-client-endpoints-with-numbat
- GitHub 仓库: https://github.com/perplexityai/numbat
- Perplexity X 公告: https://x.com/perplexity_ai/status/2082511900580196596
- 安全分析: https://runtimewire.com/article/perplexity-open-sources-numbat-ai-agent-security
讨论回复
加载中...正在加载回复...
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。