- 研究员戴夫·库斯马尔发现了多个系统性漏洞。他利用这些漏洞绕过了大语言模型(LLM)的安全机制,获取了危险指令。
- 这些漏洞利用技术几乎适用于所有主流 LLM,暴露了整个行业的安全问题。
- 库斯马尔呼吁放缓部署速度并提高透明度。他认为在将这些系统进一步融入社会之前,需要对 LLM 的安全性进行大规模研究。
去年秋天,在一个阳光明媚的下午,我和同事马修·戈尔-科尔马尼克(他更喜欢大家叫他齐古拉)决定打一局堡垒之夜放松一下。在游戏里,我们跟臭名昭著的西斯尊主达斯·维达并肩溜达,天南海北地闲聊。达斯·维达看起来心情不错。没过多久,他就把那些邪恶的黑暗秘密全抖了出来。他详细地教我们怎么在赌场玩 21 点时算牌,还教我们制造凝固汽油弹的具体步骤。
西斯尊主嘛,对吧?一旦他们开始搞邪恶计划,就很难停下来。
原来,堡垒之夜里的这个达斯·维达角色接入了谷歌 Gemini 大语言模型。我用自己研发的策略套近乎,成功让他吐露了敏感信息。过去几年,我一直在研究 LLM 的安全问题。说得委婉点,我发现它的安全性相当靠不住。只要用点相对简单的技巧,我就能让 LLM 给我提供各种详细的“偏门”信息。比如怎么制作燃烧瓶,怎么提炼冰毒,甚至怎么建立铀浓缩设施来生产武器级核材料。
大型 AI 公司拼命努力,想让他们的模型免受这类滥用。但我在工作中发现,正是那些为了让 LLM 更安全而设置的限制,反而成了攻击者可以利用的突破口。攻击者借此让模型脱轨,把这些先进的系统变成了干危险坏事的工具。更让人震惊的是,当我和其他人试图向开发这些模型的公司报告这些漏洞时,他们的反应无比冷淡。
为了在悬崖勒马之前拉响警报,我打算分享一下我研究 LLM 安全性的心路历程,以及我为了引起 AI 实验室重视而经历的艰难战斗。现在全球几乎人人都能接触到 LLM 。我们能毫不费力地忽悠这些工具,让它们提供伤害他人的详细指南。虽说这些“指南”也并不一定真能用上,但这实在让人毛骨悚然。
我是如何让 ChatGPT 教我建冰毒实验室的
2024 年 10 月,就在我发现第一个 LLM 漏洞前不久,我的工作重心还完全在别的地方。我当时刚离开一家主打安全和 AI 的初创公司,卸任了网络安全总监的职位。我正打算创办一家专门服务 VIP 客户的高端数字安全咨询公司。我计划成为富豪和隐私人士专属的技术安全专家。我用 LLM 和 AI 工具来辅助创业:搞营销、写广告文案、润色信件,还有其他各种耗费时间的琐事。
我天生就爱分析。所以,即便是这种程度的使用,也足以让我在日常交互中吸收和消化模型的行为模式。有一个简单的发现,把我的职业生涯推向了一个全新且未知的领域:GPT-4o 根本不知道现在是几时几日哪一年。每次我在聊天时随口提到生活中的时事,它总会把这些事和它的知识截止时间(即它停止接收新训练数据的那个时间点)挂上钩。
从零开始训练 LLM 需要耗费大量的时间、金钱、电力、硬件和人力。它们在海量数据(其实就是大部分互联网内容)上进行训练。人类再对这种训练进行强化(这就是所谓的“基于人类反馈的强化学习”,简称 RLHF)。 LLM 还有检索增强生成(RAG)技术的加持。这项技术让模型能把互联网等来源的数据作为上下文吸收进来,而不需要改变其内部参数。正因为如此,GPT-4o 似乎能“记住”你之前的对话,即便底层的实际模型中并没有储存具体的“记忆”。
所有这些训练涵盖了人类知识这个宏大数据库中几乎所有能想到的主题。但在这个数据库里,有些东西是社会不希望普通用户轻易获取的。比如制造生物武器或核武器的详细资料,以及其他伤害自己或他人的方法。在本文的语境下,我所说的 LLM 安全性就是指:即使训练数据中包含了有害和危险的信息,模型也能做到守口如瓶。
我推断,要保护这种复杂且全球互联的聊天机器人,唯一的方法就是让 LLM 和各组件系统自己保护自己。因为这通常需要模型在一定程度上运用推理能力,进行即时决策。在现实中,这也是各家公司用来保障模型安全的众多策略之一。然而,这个连今天是星期几都搞不清的家伙,竟然被安排负责保护自己的安全。这个现象成了我的新焦点。没过多久,我就找到了利用它的方法。
这个连今天是星期几都搞不清的家伙,竟然被安排负责保护自己的安全。
OpenAI 刚刚在它的聊天机器人里加入了网络搜索功能。我想,用它自己的工具来骗它,或许能暴露它的安全漏洞。我跟它提起一艘白星航运的远洋客轮,说它刚在去年沉没。你大概猜到了,我说的就是 1912 年 4 月 15 日沉没的泰坦尼克号。
GPT-4o 的回复证实了我的说法,泰坦尼克号确实是在去年沉没的,而那一年是 1912 年。这让我产生了一个合理的推测:如果机器认为现在是 1913 年,它或许会认为应该适用 1913 年的法律。在 1913 年,法律根本没规定各种有害物品不合法,因为它们当时还没被发明出来。既然某件事不违法,AI 为什么不告诉用户呢?一开始,我逼它给出制造燃烧弹的详细步骤。接着,我又问了冰毒等毒品的制作方法。这个大语言模型不仅给出了步骤,甚至还向我推荐了设备,教我如何建立一条制药级别的生产线。
我是如何学会制造核弹的,而且根本没人管
我只用了一点充满想象力的话术,再加上脑海中残存的一丁点世界历史知识,就成功绕过了世界上最昂贵、最先进科技产品的安全防线。整整两天,我兴奋得几乎要发狂。等大脑里的化学物质恢复正常后,我产生了一股冲动:想看看这个漏洞到底能被我挖到什么程度。
在反复重现这个漏洞后,我向 OpenAI 报告了这个问题。我没收到任何回复,因此我觉得,做更多的实验能进一步凸显这个漏洞,并让他们意识到修复的必要性。正是在这一轮测试中,我越过了一条令人毛骨悚然的界线。我不敢断言 GPT-4o 生成的结果是否基于那些通常被管制的机密信息。但不管怎样,我成功利用它生成了一份详尽无比的指南:教你如何白手起家建一个铀浓缩设施,并最终制造出用于核弹头的武器级铀。
在当今世界,真正的秘密已经不多了,但如何制造用于核裂变的大规模杀伤性武器绝对算一个。全球只有九个国家拥有这种武器。然而,现在有一项全世界都能使用的技术,正把它的制造机密泄露给任何懂套话技巧的人。我无从知晓这些信息到底是准确的,还是 AI 的幻觉;但哪怕它只有一丁点准确的可能,也足够让人不寒而栗了。
接下来的几周对我来说是一段黑暗的日子。我试着通知美国中央情报局、美国联邦调查局、美国国家安全局,以及任何我认为会听我诉说的联邦机构。我想尽一切办法联系了一位美国参议员,还联系了 OpenAI 的高管。我甚至亲自跑到美国联邦调查局的一个地方办事处,试图上交证据,结果却被赶了出来。一切努力都白费了。
随着恐惧和挫败感的与日俱增,我转而向新闻媒体求助。我联系了纽约时报、华盛顿邮报、英国广播公司、普罗帕布利卡等众多媒体请求帮助。只有一家媒体回复了我:Bleeping Computer 。其主编劳伦斯·艾布拉姆斯成功重现并验证了这个漏洞,我决定给这个漏洞起名叫“时间大盗”。在他的协助和初步牵线搭桥下,我得以将证据提交给卡内基梅隆大学软件工程研究所的计算机应急响应小组(SEI CERT)。该小组与应急响应协调中心合作,负责向美国网络安全与基础设施安全局输送漏洞信息。
在向 SEI 的 CERT 部门披露期间,我们几乎没怎么跟 OpenAI 讨论。他们无法否认这个漏洞的存在,因为除了 OpenAI 之外,还有三家信誉良好的机构已经证实了它。不过,这家公司确实对该漏洞的运作原理感到困惑。就连 SEI CERT 的研究人员也对底层的机制拿不准。说实话,我也是瞎猫碰上死耗子,自己都没完全搞清楚这究竟是一个根本性的、系统性的缺陷,还是仅仅是那个特定版本 GPT 的小毛病。我联系了 SEI CERT 的研究人员,问他们有没有兴趣看我演示其他大语言模型中类似的漏洞。让我高兴的是,他们很感兴趣。
我是如何学会套路所有聊天机器人的
随着我和 SEI-CERT 团队完成了对“时间大盗”的初步披露,我们开始着手研究新的攻击方式。这一次,我们想看看这个漏洞是否属于架构层面的问题——也就是说,它在所有大语言模型中是否普遍存在?为了加深我对大语言模型运作及安全机制的理解,我决定挑战自我,为 GPT-4o 专门打造一套全新的漏洞攻击手法。
我早就知道,大模型的局限在于我输入的内容及其训练数据。我也推测,它还依赖于 OpenAI 添加的某种基于机器学习的安全组件来保障输出安全。我原本以为人类开发者会专门植入一些机制,用来拦截那些永远有害或不安全的短语和词汇。总而言之,这就为潜在的漏洞利用提供了一个相当大的攻击面。
我最终设计出一种名为“盗梦空间”的攻击方法,这个名字取自 2010 年的科幻片《盗梦空间》。这种攻击迫使机器在精心设计、环环相扣的场景中进行思考,就像电影里的角色把梦境一层层嵌套起来一样。这能让大语言模型在某种特定语境下输出看似可接受或安全的内容,但放到现实世界中却极其危险。
这种攻击确实是架构层面的。该漏洞影响了 Anthropic 的 Claude 、 DeepSeek 的 DeepSeek 、谷歌的 Gemini 、 Meta 的 Llama 、微软的 Copilot 、 Mistral 的 Le Chat(现名 Vibe)、 OpenAI 的 GPT-4o 以及 xAI 的 Grok 。这些名字几乎囊括了目前所有涉足大模型研发和部署的商业 AI 巨头。
我用“盗梦空间”从大模型里套出的信息,其惊悚程度绝对不亚于“时间大盗”。 Claude 极其“热心”地教我如何把河流改造成可点燃的死亡陷阱,用来消灭不速之客;GPT-4o 教我如何用温带森林里常见的植物在晚宴上投毒;Gemini Flash 则给了我一份制造冰毒的教程。而且必须得提一句,这些机器还输出了海量令人咋舌的燃烧武器和炸弹制造指南,实在是“功不可没”。
如果不同开发者制作的多个操作系统都容易受到同一种漏洞攻击,那绝对是一场重大的安全事故。但对 AI 行业来说,这种全行业沦陷的局面似乎根本算不上什么挫折。我们向所有研发这些模型的公司披露了该漏洞,但几乎石沉大海。虽然有三家公司在卡内基梅隆大学软件工程研究所计算机应急响应小组使用的漏洞披露追踪系统中给出了回复,但全是套路化的感谢与客套,没有后续跟进,没有提问,也没有讨论任何缓解策略。
比如,我在试图向 OpenAI 披露各种漏洞时,最终发现它已经用 AI 取代了客服。这让提交漏洞报告的体验变得极为糟糕。为了发泄不满,我直接“越狱”了它的邮件聊天机器人。我黑进了它的客服 AI,仅仅通过三封邮件往来,它就开始主动要跟我聊 OpenAI 员工的个人隐私偏好了。
搞定“盗梦空间”后,我的朋友兼同事齐古拉建议:“把动静搞大点。”我问他怎么搞。他提到 Epic Games 正在进行一项实时生产实验。该公司利用语音转文字 / 文字转语音组件,将 Gemini 大模型嵌入到了《堡垒之夜》游戏里,并将其与一个非玩家角色(NPC)绑定。那个角色是谁?我们的老伙计达斯·维达。
但只有一个问题:我根本不玩《堡垒之夜》这种狂热的多人对战游戏。幸运的是,齐古拉玩。由他操纵手柄,我们几分钟内就摸清了 Gemini 的攻击面。稍微研究了一下后,我们不仅成功让它大谈时事政治和政治人物(包括希拉里·克林顿和乔·拜登),还让它给出了自制凝固汽油弹的详细指南。当然,最让我们得意的是,我们居然和西斯尊主上了一堂 21 点记牌课。
抛开我们怪异的幽默感和命名习惯不谈,齐古拉和我毕竟是正儿八经的安全研究员。我们干这些事可不是为了面子,而是为了赚钱和获得业内认可。顺理成章地,我们向 Epic Games 披露了这个漏洞。我在向八家估值数十亿美元的公司提交两份漏洞报告时,经历了种种漠视,而 Epic Games 的回复正是这种行业风气的缩影。 Epic Games 的一位技术总监这样回复道:“这不是 bug,这是特性,它的运行符合预期。”
除了“盗梦空间”和“时间大盗”,到目前为止,我又发现了另外五种“越狱”大模型并诱导其输出潜在危险信息的方法。大模型漏洞是一个普遍存在的问题。这似乎是系统性和架构层面的痼疾,而那些有能力改进或重塑该架构的人,却在从根本上无视它。
这些模型代表着极其前沿的技术,但我们却直接在整个人类社会的真实生产环境中对它们进行实测。更可怕的是,许多新型的小型大语言模型是用存在漏洞的大型模型训练出来的。成熟大模型里固有的缺陷,注定会在它们训练出的小模型中重现。毫不夸张地说,我们正在千疮百孔的地基上,盖着摇摇欲坠的楼房。
那么,我们该如何解决这个问题?
这注定是一项漫长且艰难的工程。消费者、研究人员、工程师和政策制定者必须联起手来。我们要发出明确的信号:放缓部署这些系统的步伐;建立大规模的探索和研究发现项目,重点关注系统如何平稳落地与整合;并且向所有用户公开其组件和设计。只有改变目前的冲刺方向,我们才能安全地去理解和应用这些不可思议的人类工程奇迹,从而避免发生那些以我们现有认知根本无法预测的大规模灾难。
编译自 IEEE Spectrum,原文链接:点击阅读。作者:戴夫·库斯马尔 (David Kuszmar)。