
AI Agent 面临的根本安全困境,被安全研究员 Simon Willison 称为“致命三元组”(Lethal Trifecta):当 Agent 同时具备访问私人数据、接触不可信内容、对外通信能力时,一次成功的提示注入即可让攻击者继承 Agent 的全部权限 。
现实中,这个风险已经多次验证。2026 年初,一个 OpenClaw Agent 因收到含隐藏指令的邮件,删除了收件箱内所有邮件包括回收站 。Cisco 研究显示,社区技能库中约 26% 的代码含有漏洞 。独立研究发现,93.4% 的暴露 Agent 实例可被实际利用 。
Meta 的 Muse Agent 采用了与 OpenClaw 不同的策略:不试图让模型“不被骗”,而是让被骗的后果可控。这套架构的核心组件就是 Sentinel 。
Muse Secure VM 采用单用户 Linux 虚拟机,内部划分为两个安全域 :
运行时单元(Runtime Cell):一个 systemd-nspawn 容器,运行 Agent 的推理模型(Muse Spark)、浏览器、Shell、文件系统工具。这是“不可信域”。
宿主域(Host Domain):在容器之外、但仍在 VM 之内,运行安全敏感服务。Sentinel 就部署在这里。这是“可信域”。
关键设计原则:Agent 只能提议动作,Sentinel 拥有唯一的裁决权。即使 Agent 被完全操控,它也无法绕过宿主域的安全服务 。
Sentinel 的网络控制依赖 Linux eBPF 的三种程序类型,全部挂载在内核层,而非应用层 。

四个纵向层级,从上到下依次是:
eBPF 提供 BPF_PROG_TYPE_CGROUP_SOCK_ADDR 程序类型,挂载点为 cgroup/connect4 和 cgroup/connect6。该钩子在进程调用 connect() 系统调用时触发,在 TCP 连接建立之前拦截 。
关键特性:
struct bpf_sock_addr 上下文,包含目标 IP(user_ip4/user_ip6)、端口(user_port)、地址族和协议类型 。connect() 是否继续执行 。这意味着:当 Muse 容器内的进程发起网络请求时,数据包尚未离开虚拟机就被 eBPF 拦截。
Sentinel 的核心创新是内核级数据流追踪,通过 eBPF 程序挂载在 Linux Security Module (LSM) 钩子上实现 。
机制:
fork() 和 IPC 消息传播:子进程继承父进程的污染状态 。eBPF 程序根据污点状态决定请求走向 :
进程状态 | 目标 | 决策 |
|---|---|---|
干净 | 允许列表内 | 自动放行 |
已污染 | 任意目标 | 强制人工审批 |
干净 | 未知目标 | 需要审批 |
任意 | 拒绝列表 | 立即阻断 |
Meta 将“已污染进程失去自动放行权”的机制称为 tainted egress 。
当决策结果为“需要人工审批”时,Sentinel 必须暂停发起请求的进程,等待用户响应。这个机制不能使用 SIGSTOP,因为它可以被父进程或 ptrace 观察到,可能引发上层逻辑异常。
解决方案是 Linux 的 cgroup freezer 子系统 。
工作原理:
cgroup.freezer 写入 FROZEN,cgroup 内所有任务进入 TASK_UNINTERRUPTIBLE 状态。cgroup.freezer 写入 THAWED 恢复执行 。关键效果:被冻结进程的超时计时器也冻结。用户审批耗时多久,进程就冻结多久。解冻后,connect() 超时逻辑从冻结点继续,不会因为等待审批而“误判超时”。
即使 Agent 被提示注入完全操控,它也不应该能泄露用户的真实凭证。Sentinel 通过 hatch-authd 凭证代理服务实现这一点 。
机制:
安全意义:即使 Agent 被诱导“打印你的 API key”,它吐出的也只是无用的占位符。如果代理令牌被泄露,爆炸半径仅限于该令牌编码的特定权限和时间窗口 。
当决策结果为“需要人工审批”时,审批请求不经过 Agent 的对话模型,而是直接推送到用户的设备(手机 App、WhatsApp、Web)。
为什么这很重要:
审批结果直接返回给 Sentinel,Sentinel 再通过 eBPF map 通知内核放行或拒绝。
任何安全架构都有边界,Sentinel 也不例外:
Prompt injection 仍是未解决问题。Meta 官方承认“Muse can and will still make mistakes”,并为此设置了最高 $300,000 的漏洞赏金,其中 $130,000 专门针对单用户提示注入攻击 。
审批卡片可能被污染。有分析指出,Sentinel 做决策时读的是 Muse 提交的“动作描述”,而非直接感知原始内容。如果 Muse 已被污染,它提交的描述可能失真 。
本地提权漏洞。安全研究员 Patrick Wardle 发现 macOS 客户端的未文档化配置项可被本地进程劫持,导致认证令牌泄露。Meta 在 12 小时内热修复,但证明了宿主 OS 被攻破时安全边界会失效 。
Meta 本身仍是信任方。Sentinel 的信任模型是“不信任 Agent,但信任 Meta”。在 Confidential VM 上线之前,Meta 公司仍有能力访问 VM 内的数据 。
如果你要构建自己的 Sentinel(不含连接器审批),核心模块如下:
阶段一:eBPF 拦截层
BPF_PROG_TYPE_CGROUP_SOCK_ADDR 程序,挂载到目标 cgroup 的 connect4/connect6 钩子。阶段二:污点追踪层
security_file_permission)和 IPC。connect 钩子中查询污点状态。阶段三:用户态决策引擎
阶段四:凭证代理
验证标准:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。