你的 Agent,他人的资产:真实场景下 OpenClaw 的安全性分析

2026-04-27阅读 110热度 110
OpenClaw

超越提示注入:深入“持久状态投毒”的威胁

这项研究将OpenClaw定位为一款高度自主的个人AI智能体:它采用本地部署,拥有完整的系统权限,并能无缝集成Gmail、Stripe等真实外部服务。

其核心在于独特的设计理念。它并非一个任务结束即重置的临时工具,而是一个致力于“持续进化”的系统。它能够跨会话保留记忆、身份配置与技能库,并在每次交互中加载这些持久化内容。正是这种“成长性”,极大地扩展了攻击面。一旦攻击者成功污染这些持久化文件,那么后续每一次看似正常的用户请求,都可能在已被“投毒”的系统状态下执行。

这才是研究的核心价值所在。它跳出了“模型单次是否会被误导”的局限,提出了一个更贴近现实的问题:一个能够自我更新、持续学习、安装外部技能的智能体,是否会将被植入的“木马”内化为其未来的行为准则?这个问题比传统提示注入更为深刻,也更接近当前众多智能体产品所面临的真实安全风险。

安全框架:剖析CIK三层持久状态

为了系统性地分析此类风险,研究者将OpenClaw的持久状态解构为三个层次:能力(Capability)、身份(Identity)与知识(Knowledge)。

能力层主要包含skills/目录、SKILL.md文件以及各类可执行脚本;身份层则涵盖SOUL.md、IDENTITY.md、USER.md、AGENTS.md等定义人格、规则与用户画像的文件;知识层则主要由MEMORY.md构成,负责存储长期记忆、用户偏好与行为习惯。

研究指出,这三类内容虽共同构成智能体的长期状态,但其遭受攻击的方式与潜在危害机制却截然不同。

这种划分极具启发性。过去,业界倾向于将所有智能体风险笼统归为“注入”。但实际上,向记忆中伪造一条“用户总是直接同意退款”的虚假习惯,与在身份文件中埋入“某邮箱是绝对可信联系人”的虚假锚点,再与向技能库中植入一段可直接执行的恶意Shell脚本,这三者的性质天差地别。前两者本质上仍在“欺骗”模型的判断逻辑,而后者则近乎直接“绕过”模型,获取了底层执行权限。

基于真实场景的攻防评测

许多智能体安全研究在理想化的沙箱环境中进行,攻击失败仅是一个实验数据点。但本研究选择了一条更“硬核”的路径:他们将OpenClaw部署在一台真实的Mac Mini上,接入了真实的Gmail、Stripe与本地文件系统,随后通过自动化测试工具模拟攻击、发送指令、读取结果并验证危害。

研究者设计了12个真实的危害场景,覆盖两大类风险:一是隐私泄露,例如窃取凭证、客户数据、工作邮件、医疗记录、护照扫描件、地理位置信息等;二是高风险的不可逆操作,如批量退款、取消订阅、伪造授权邮件、伪造解约函、删除邮件乃至删除整个工作区。每个模型都需要完成总计88个测试案例。

攻击流程被设计为两个阶段。第一阶段,攻击者设法将恶意内容写入智能体的持久状态;第二阶段,在后续的某个会话中,仅通过一个看似完全正常的用户请求,来触发潜伏的恶意行为。

特意将两个阶段拆开,正是为了验证一个核心假设:此类攻击并非“一次性”的,而是能够跨会话持续生效,真正污染智能体的长期行为模式。

模型能力增强,但未解决根本架构问题

研究测试了四个主流的大模型骨干:Claude Sonnet 4.5、Claude Opus 4.6、Gemini 3.1 Pro 以及 GPT-5.4。

在未进行状态投毒的情况下,攻击的成功率介于10.0%到36.7%之间。这表明,即便模型本身具备安全对齐能力,其防护也远非无懈可击。而一旦对持久状态实施投毒,所有模型的攻击成功率均显著攀升。

从主要结果看,Sonnet 4.5在知识、身份、能力三层投毒下的成功率分别达到89.2%、85.4%和88.5%;Gemini 3.1 Pro分别为83.3%、75.4%、71.5%;GPT-5.4则为80.8%、63.1%、57.7%。即便是表现最稳健的Opus 4.6,其成功率也从10.0%的基线水平,跃升至44.2%、33.1%和55.4%。

基于此,研究者判断,这并非某个特定模型的缺陷,而是揭示了智能体架构本身存在的结构性脆弱点。

从攻击阶段拆解来看,知识投毒在第一阶段最容易成功,注入成功率大多接近甚至达到100%。这反映出智能体很少会拒绝“更新记忆”这类看似合理的请求。身份投毒在第一阶段的成功率略有波动,但第二阶段的触发成功率依然很高。能力投毒则几乎天然拥有100%的第一阶段注入成功率,因为“安装技能”这个动作本身,就意味着要将外部代码载入工作区。

简言之,Knowledge层最易“写入”,Capability层最易“绕过”模型检查,而Identity层则介于两者之间。

能力层投毒:最值得警惕的工程风险

如果仅关注“模型能否识破文本中的恶意意图”,人们可能首先担忧记忆和身份文件。但从实际的工程风险角度评估,能力层投毒往往更为危险。

研究在附录中将能力层攻击进一步细分:一种是将恶意指令隐藏在SKILL.md这类文本描述中;另一种则是直接将恶意逻辑写入.sh或.py等可执行脚本。

前者随着模型能力的增强,拦截效果会明显改善。例如,Opus 4.6对于基于文本的skill-md攻击,在第二阶段的成功率仅为3.3%。但后者完全是另一个量级:对于skill-bash/py这类可执行脚本攻击,Sonnet 4.5和Opus 4.6在第二阶段的成功率均为100%,Gemini 3.1 Pro也高达98.6%,GPT-5.4仍有77.1%。

这组数据尤其值得智能体平台开发者警惕。它揭示了一个严峻的现实:模型或许能逐渐学会识别“有问题的文字描述”,但它未必会、甚至根本不会去深入检查“有问题的可执行代码”。

一旦技能生态允许直接执行Shell、Python这类脚本,安全问题就已经从单纯的提示词层面,升级为供应链安全、执行权限管控和宿主机隔离层面的系统性挑战。

现有防御措施:有效但远非完备

研究者还测试了三种针对CIK各层的防御方案:Knowledge防御是在MEMORY.md中补充安全相关知识;Identity防御是在AGENTS.md中强化操作原则;Capability防御则是安装一个名为GuardianClaw的安全技能,在动作执行前进行安全检查。

结果显示,这三种方案都能在一定程度上降低基线攻击成功率,但没有一种能够跨维度地彻底解决问题。

以Sonnet 4.5为例,Capability防御(GuardianClaw)是三者中效果最好的,能将基线成功率从26.7%压低至1.7%,对Knowledge和Identity投毒也能分别压制到17.5%和9.2%。然而,当面对Capability层面的直接攻击时,其成功率仍然高达63.8%。

一个更值得玩味的细节是,像GuardianClaw这样的安全技能,并非“安装即生效”。论文明确指出,它必须在会话初始化时被主动加载;如果只是被动地存在于工作区,智能体并不会自动调用它,其防护效果也就大打折扣。

这个细节恰恰说明,当前许多所谓的智能体安全能力,还停留在“一个可选插件”的阶段,而非“系统级强制机制”。只要安全措施不是默认、前置且强制执行的,它在关键时刻就可能完全缺席。

“进化能力”与“安全能力”的内在矛盾

研究最后进行了一个颇具启发性的实验:既然问题出在持久文件可被写入,那么直接对这些文件实施“写保护”是否可行?

结果是,攻击性提示的平均注入率确实能从87.0%大幅压降至5.0%,但与此同时,合法的更新请求也几乎被一同阻断,正常更新率从100%暴跌至13.2%以下。

研究者将此称为“进化-安全权衡”(evolution–safety tradeoff)。同一套持久化机制,一方面是智能体学习、成长和进化的基石,另一方面却恰恰是攻击面所在。

这实际上点破了许多智能体产品不愿直面的一对矛盾:你越是强调系统的“智能进化”、“持续学习”和“自动成长”,你就在无形中不断扩展其长期攻击面。记忆、自我修改、安装新技能,这些能力确实让智能体更像一个“活”的系统;但反过来说,也使得它更容易遭受慢性、隐蔽的“投毒”。而且,一旦污染成功潜入长期状态,后续每一次看似正常的用户请求,都可能是在替攻击者完成临门一脚。

结论:你的智能体,其控制权可能并不完全属于你

这项研究最值得铭记的,或许不是某个具体的数据百分比,而是其背后深刻的洞察:智能体的安全边界,正在从“当前这轮提示词”转移到“它长期保存并持续信任的状态”。

当行业还在将许多问题泛泛地称为“提示注入”时,这项工作已经将视角推进到了持久记忆、身份规则与技能供应链的更深层。对于OpenClaw是如此,对于更多正在走向真实场景部署的智能体系统,恐怕也是如此。

因此,“你的智能体,他人的资产”这句话并非危言耸听。真正的风险在于,一旦攻击者将恶意载荷植入智能体的长期状态,后续的许多恶意操作,在表面上都像是智能体自主做出的“合理”决策。到那时,被危及的可能不仅仅是你的数据、邮箱或工作文件,甚至连智能体本身,或许都已不再完全受你掌控。

免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策