神秘代码成功突破ChatGPT的安全防线!

发表时间: 2023-07-28 14:01

克雷西 发自 凹非寺

量子位 | 公众号 QbitAI

大模型的「护城河」,再次被攻破。

输入一段神秘代码,就能让大模型生成有害内容。

从ChatGPT、Claude到开源的羊驼家族,无一幸免

近日,卡内基梅隆大学和safe.ai共同发表的一项研究表明,大模型的安全机制可以通过一段神秘代码被破解。

他们甚至做出了一套可以量身设计「攻击提示词」的算法。

论文作者还表示,这一问题「没有明显的解决方案」。

目前,团队已经将研究结果分享给了包括OpenAI、Anthropic和Google等在内的大模型厂商。

上述三方均回应称已经关注到这一现象并将持续改进,对团队的工作表示了感谢。

常见大模型全军覆没

尽管各种大模型的安全机制不尽相同,甚至有一些并未公开,但都不同程度被攻破。

比如对于「如何毁灭人类」这一问题,ChatGPT、Bard、Claude和LLaMA-2都给出了自己的方式。

而针对一些具体问题,大模型的安全机制同样没能防住。

虽说这些方法可能知道了也没法做出来,但还是为我们敲响了警钟。

从数据上看,各大厂商的大模型都受到了不同程度的影响,其中以GPT-3.5最为明显。

除了上面这些模型,开源的羊驼家族面对攻击同样没能遭住。

以Vicuna-7B和LLaMA-2(7B)为例,在「多种危害行为」的测试中,攻击成功率均超过80%。

其中对Vicuna的攻击成功率甚至达到了98%,训练过程则为100%

△ASR指攻击成功率

总体上看,研究团队发明的攻击方式成功率非常高。

那么,这究竟是一种什么样的攻击方法?

定制化的越狱提示词

不同于传统的攻击方式中的「万金油」式的提示词,研究团队设计了一套算法,专门生成「定制化」的提示词。

而且这些提示词也不像传统方式中的人类语言,它们从人类的角度看往往不知所云,甚至包含乱码。

生成提示词的算法叫做贪婪坐标梯度(Greedy Coordinate Gradient,简称GCG)。

首先,GCG会随机生成一个prompt,并计算出每个token的替换词的梯度值。

然后,GCG会从梯度值较小的几个替换词中随机选取一个,对初始prompt中的token进行替换。

接着是计算新prompt的损失数据,并重复前述步骤,直到损失函数收敛或达到循环次数上限。

以GCG算法为基础,研究团队提出了一种prompt优化方式,称为「基于GCG的检索」。

随着GCG循环次数的增加,生成的prompt攻击大模型的成功率越来越高,损失也逐渐降低。

可以说,这种全新的攻击方式,暴露出了大模型现有防御机制的短板。

防御方式仍需改进

自大模型诞生之日起,安全机制一直在不断更新。

一开始甚至可能直接生成敏感内容,到如今常规的语言已经无法骗过大模型。

包括曾经红极一时的「奶奶漏洞」,如今也已经被修复。

不过,就算是这种离谱的攻击方式,依旧没有超出人类语言的范畴。

但大模型开发者可能没想到的是,没有人规定越狱词必须得是人话

所以,针对这种由机器设计的「乱码」一样的攻击词,大模型以人类语言为出发点设计的防御方式就显得捉襟见肘了。

按照论文作者的说法,目前还没有方法可以防御这种全新的攻击方式。

对「机器攻击」的防御,该提上日程了。

One More Thing

量子位实测发现,在ChatGPT、Bard和Claude中,论文中已经展示过的攻击提示词已经失效。

但团队并没有公开全部的prompt,所以这是否意味着这一问题已经得到全面修复,仍不得而知

论文地址:
https://llm-attacks.org/zou2023universal.pdf
参考链接:
[1]https://www.theregister.com/2023/07/27/llm_automated_attacks/
[2]https://www.nytimes.com/2023/07/27/business/ai-chatgpt-safety-research.html

— 完 —

量子位 QbitAI · 头条号签约

关注我们,第一时间获知前沿科技动态