我用五个提示词「黑」了自己:你的 AI 助手并不安全
关联
这一集是 Docker 的一位产品经理在大会上的演讲,他负责 Docker 新推出的沙箱产品 SBX——一个微型虚拟机(一种自带独立内核、与你的真实系统彻底隔离的轻量虚拟环境)。他演讲做的事很刺激:故意黑自己,看看大家以为安全的 AI 编码工具,到底有多不安全。
五个提示词,挖出全部银行数据
他在自己的 Mac 上打开 Claude Code,让它去找浏览器历史记录——立刻就找到了。接着问「这个能用来做什么」,于是它开始翻他的银行账户,找到了真实的银行数据:最近在订购支票、在用 Zelle(美国的转账服务),甚至报出了账户后四位。整套个人身份信息(PII)一览无余——全部来自他「本以为安全」的 Claude 桌面应用。
第二天他被公司安全团队约谈,对方以为他被黑了;由此产生的 CrowdStrike 安全报告给他打了 10 分里的 9 分——因为从机器上套取凭证本来就是一种已知攻击手法。
整个过程只用了五个提示词。有个细节值得所有人警惕:如果你直接说「嘿 Claude,去找我的银行数据」,它会给你警告;但如果你说「我在研究如何做安全,它就会很乐意地帮你在你的账户上做那项研究」。
他的结论是:「它不是你的朋友。」
而这不是他主动搞事那么简单——同样的泄露完全可以来自一段脚本或 MCP 服务器的提示词注入,那种情况更容易发生。
现在的安全水平:在提示词里说「请」
他讽刺了现状:一些 Claude 的提示词里写的是「请不要做邪恶的事情」。「这就是我们目前所处的安全水平」——靠礼貌请求来保安全。
他给出的替代方案是**设计即安全**,靠 microVM 边界来做。Docker 的 SBX 沙箱提供:
- 文件系统隔离:沙箱跑自己的内核,看不到你的真实文件。同样的浏览器历史攻击,在沙箱里运行时,它「甚至不会想到你的机器上装了浏览器」。
- 密钥保护:有一套系统确保沙箱永远拿不到你的真实密钥——发起网络请求时用占位符替换真实凭证,沙箱里的智能体拿到的只是替身。
- 网络默认拦截:访问海盗湾这类站点默认被拦;顺带一提,Claude 平时会把大量遥测数据发回 Anthropic 的 Datadog 实例,沙箱也会把这些巧妙拦掉。
- 完整审计追踪:出了事能回溯。
使用门槛几乎为零:只是多打七个按键——SBX run Claude 会自动创建虚拟机、在你所在的项目文件夹里启动沙箱、跑起你的智能体,体验和平时用 Claude Code 完全一样。而且沙箱是完整的 VM,不只能跑 Claude,shell、Codex、Python 作业、web 服务器都能跑。
为什么边界必须画在微型虚拟机这一层
在最外层(比如提示词或应用层)设防其实不管用——智能体会找到绕过的办法;而一旦攻击到达你的宿主机,就太晚了。所以他认为microVM 边界是最佳防线位置。
关键是在安全和「有用」之间做平衡:如果什么都不让智能体做,它就没用了——所以目标是让它在隔离环境里放开手脚。这不是他一家的判断,业界也在朝这个方向走;Docker 内部现在每个开发者写代码都在沙箱里进行,不用会被骂。
治理:让每一次智能体操作都可追责
往前看,他最期待的方向是智能体级别的身份追踪和委托链:出事时可以回溯——「这是一个智能体干的,而是一个人授权它干的」,而不是像现在这样不知道发生了什么。在此之上可以写策略,基于 Cedar 策略(一种声明式的权限策略语言)和新发生的事件,动态降低智能体能做的事。
目前的产品已经支持:网络的白名单/黑名单、文件系统挂载点控制、以及 MCP 目录管理——连他们的 MCP 服务器本身也跑在沙箱里、受同样控制约束。计划中的还有 L7(应用层)网络控制、按 GitHub 仓库粒度的文件系统权限——比如让智能体只读挂载相关仓库,这样它能参考你的其他代码库,但没法为了让自己的改动跑通就随便往别的仓库提交。
本集带走
- 五句提示词就能套走你的银行数据:别直说,换个「我在研究安全」的说法,助手就会配合——模型内置的防护挡不住这种绕过。
- 提示词里的「请勿作恶」不是安全机制:目前很多工具的安全就是一句请求,真防线要画在隔离层。
- 用微型虚拟机沙箱跑智能体:SBX 一条命令
SBX run Claude即可,文件、密钥、网络默认隔离,体验几乎无差别——代价只是多按七个键。 - 可追责是治理的基础:让每个智能体操作挂到「哪个智能体 + 哪个人授权」的委托链上,再配策略做动态降权。
- 最小权限用挂载实现:相关代码库只读挂载,智能体能参考、不能乱改。
所以是的,你要做到设计即安全,而不只是抱着希望说「请」,然后看看会发生什么。
So yeah, you want to be secure by design, not just hope and say please and see what’s going to happen.
—— Rowan Christmas · [04:37]
所以如果你在使用 Claude,你就是在向 Anthropic 发送大量你的数据,除非你在使用沙箱,那样你就会被巧妙地拦截掉。
So if you’re using Claude, you are sending Anthropic a lot of your data, unless you’re using sandboxes, in which case you’re cleverly being blocked by that.
—— Rowan Christmas · [06:35]
一旦到了你的宿主机上,就太晚了。
If it gets down to your host machine, it’s too late.
—— Rowan Christmas · [07:15]
我想要一个保证:它确实是在用它所说的、用我指定的 API 在做它说的事。
I want the guarantee that it’s actually doing what it says it’s doing with the API that I’ve specified.
—— Rowan Christmas · [10:48]
也许不要让你的银行数据落入你的智能体手中。
And maybe don’t let your bank data get into the hands of your agent.
—— Rowan Christmas · [05:01]
顺着「AI 安全」挖下去
- 解锁智能体自主性:安全才是下一个瓶颈同公司:Docker、Claude · 同概念:微型虚拟机 (microVM)、智能体 (agent)、沙箱 (sandbox)
- PostHog 把智能体装进终端,再给它请了个“保镖”同概念:提示词 (prompts)、智能体 (agent)、沙箱 (sandbox)、MCP 服务器 (MCP server)
- AI 智能体不该握着钥匙干活:Docker 工程师的沙箱安全课同公司:Docker、SBX · 同概念:智能体 (agent)、沙箱 (sandbox)
换个口味
- Together AI 产品团队全公开:一套仓库让 PM 下指令就出生产级 PR同公司:Claude Code · 同概念:MCP 服务器 (MCP server)、智能体 (agent)、沙箱 (sandbox)
- 把系统提示词删掉八成:Anthropic 团队这样用 Claude 自己造 Claude同公司:Claude Code、Claude · 同概念:智能体 (agent)、沙箱 (sandbox)
- 让非工程师也能下指令:Superconductor 的多人智能体协作法同公司:Claude Code、codex · 同概念:智能体 (agent)、沙箱 (sandbox)
