如果你最近在折腾 Agent 框架,大概已经隐约感觉到了这个趋势:
聊天机器人只是回答问题,而 Agent 是来干活的。
它会执行命令、修改文件、操控你的浏览器,把各种工具串联起来自动跑,直到完成你给的目标。
这可不是“在对话框里打几个字”那么简单。这更像是给一个刚入职的实习生做完培训……然后直接把你的电脑密码告诉了他。
我知道这么说有点危言耸听。但过去几周围绕 OpenClaw 发生的事情,让这个风险已经没法当耳旁风了。
OpenClaw 只是出头鸟,不是问题的根源
2026 年 1 月底到 2 月初,安全研究人员陆续发现大批恶意「技能」涌入 ClawHub(OpenClaw 的插件市场)。报告内容触目惊心:大量恶意技能通过供应链手法发布,所谓的「安装步骤」本质上就是诱导你在终端里执行可疑命令。
之后,OpenClaw 接入了 VirusTotal 来扫描第三方技能作为应对(有用,但远谈不上根治)。
参见:The Verge 关于 OpenClaw 在恶意技能泛滥后集成扫描功能的报道 和 The Hacker News 关于集成 VirusTotal 的报道。
如果你看完只觉得“OpenClaw 真够乱的”,那确实没说错——但你也漏掉了更关键的东西。
OpenClaw 只是第一个被大规模攻击的 Agent 生态系统。只要具备以下条件,同样的剧本必然会在其他平台重演:
- Agent 能自主调用工具
- 插件安装门槛极低
- 用户只想“开箱即用”
- 攻击者乐于利用免费分发渠道
所以,真正的教训不是“OpenClaw 不行”。
而是:Agent + 工具 + 市场 = 一个全新的攻击面。
提示词不是安全策略
很多人有个误区:写一段强力系统提示词,就觉得已经加上了“护栏”。
“绝不泄露机密信息。” “凭据只存 Vault。” “执行高风险命令前先问我。”
出发点很好,但根本无法强制执行。
一旦你的 Agent 开始读取不可信内容——网页、邮件、工单、来路不明的文档——提示词注入就变成了真切的安全风险。Anthropic 在讨论浏览器 Agent 时也坦承:互联网环境充满敌意,提示词注入的防御至今仍是开放的研究课题。
Simon Willison 提出了一个非常实用的分析模型,他称之为 “致命三角”:
- Agent 能访问私有数据
- Agent 会处理不可信内容
- Agent 能对外通信
三者一旦凑齐,你可能在不知不觉中就造出了一台数据泄露机器。
所以我反复在说:提示词不是安全边界,它只是一条建议。 有时是条好建议,但终归只是建议。
工具调用为什么会爆炸攻击半径
普通聊天机器人出现幻觉,顶多是回答不靠谱。
Agent 出现幻觉,那可能直接搞出事故。
工具调用让故障模式从“给了个错答案”升级成了“干了个错操作”。OWASP 2025 年的 LLM Top 10 已经将其纳入规范,其中几项跟 Agent 场景高度相关:
- 提示词注入
- 供应链攻击
- 输出处理不当(模型输出直接流入下游系统)
- 权限过度授予(模型拿着过高权限执行过多操作)
如果你还没看过这份清单,强烈建议过一遍。
其中“输出处理不当”这一项对 Agent 尤为致命。一旦模型的输出变成了:
- 一条 shell 命令
- 一个 Terraform 变更
- 一条 SQL 查询
- 一个 CI 流水线步骤
- 一段你直接复制粘贴的“好用”代码
……那你本质上就是在变着花样制造注入漏洞。
插件/技能生态系统让局面雪上加霜——我们不仅要信任模型本身,还要信任第三方代码和指令。而用户之所以安装它们,往往只是因为市场页面看起来“挺正规的”。
OpenClaw/ClawHub 事件正是这一问题的真实写照:恶意技能伪装成实用的自动化工具,引导用户进入危险的执行路径,最终窃取凭据和数据。
我们还没有成熟的操作规范
看看大家的做法就知道,这个领域还处于非常早期的阶段。
有人专门买了一台机器跑 Agent,而更多人直接在自己的主力本上跑——就是那台存着浏览器登录状态、SSH 密钥、税务文档、密码管理器半天不锁屏的电脑,你懂的。
这种差异本身就说明问题:我们还没有公认的安全基线。
一个成熟的技术领域,你不需要到论坛里去找安全基线怎么做。基线应该是显而易见、毫无悬念、人尽皆知的。
但现在的 Agent 安全,完全凭感觉。而且大多数人在安装和运行技能时,压根没有认真读过它们的内容或搞明白它们到底在做什么。
“成熟的 Agent 安全”长什么样
如果你需要一个实用的思维模型,就是这句话:把你的 Agent 当作生产环境基础设施来对待。
不是一个可爱的效率工具,而是基础设施。
以下是我认为在让 Agent 接触任何真实凭据之前,必须落实的清单:
1) 沙盒化运行(省不得)
Agent 被骗只是时间问题,你需要把它关在一个"删了也不心疼"的箱子里:
- 虚拟机 (VM)
- 做了资源限制的容器
- 独立的操作系统用户
- 独立的一台机器
目标很简单:哪怕被入侵,损失也被牢牢围住。
2) 认真管控凭据权限
别再给 Agent 发“上帝模式”的 Token 了。
只给它完成任务所需的最小权限,且尽量缩短有效期。Agent 只需读一个仓库,就别给它所有仓库的写入权限。只需访问某个服务账号,就别把你的个人凭据塞给它。
3) 限制工具调用,而不是“客气地拜托”
“执行危险操作前先问我”不是安全措施,而是用户体验偏好。
硬性控制永远比礼貌的提示词靠谱:
- 命令/工具白名单机制
- 默认禁止对外网络连接
- 高风险操作(支付、发消息、删文件、推生产)需人工审批
没错,这会带来摩擦。但摩擦本身就是目的。
4) 记录操作,而不只是聊天历史
Agent 能执行命令、修改文件,那你必须对以下内容保持可见性:
- 执行了哪些命令
- 写入/修改了哪些文件
- 网络出站流量(和谁通信了,发了什么)
- 工具调用历史
对话记录不等于审计日志。
5) 像对待依赖项一样对待插件
技能市场本质上就是一个包装更精美的包管理器。npm、PyPI 踩过的坑,这里会再踩一遍。
这也是为什么会出现精选市场。Trail of Bits 的精选技能仓库就是一个社区审核门户,因为野生技能里已经发现了后门和恶意钩子。
如果你要安装一个能在本地执行代码的技能,请把它当作从网上下载的一个随机二进制文件来对待。因为本质上就是如此。
OpenClaw 会改进的。他们会上更多扫描,加更多护栏,被骂到建立更好的管控机制。这是好事。
但更深层的问题不在于某个 Agent 框架有多少 bug,而在于能力和边界之间的严重失衡。
我们部署自主执行引擎的速度,远远快于我们为它定义安全模型的速度。
你可能会想:“这不跟以前每次技术浪潮一样吗?”——没错,完全一样。唯一的区别是,这次的故障模式不是“啊,页面渲染错了”,而是“糟了,它真的执行了”。
Agent 本身不是恶意的。大多数时候它们真的是想帮你。但它们是在混乱环境中运行的强大系统,吃进不可信输入,拿着我们往往没有正确收窄的权限办事。
把它当作无害的效率工具,是一种认知错误。
所以如果你今天想用 Agent,我不是说不要用。我是说,用一个负责任的方式去用:
沙箱隔离、最小权限、网络分段、全链路可观测。
Agent 浪潮无论如何都会来。唯一的问题是:它是按你的规则来,还是按攻击者的规则来。
关于
📬 关注我获取更多资讯