学术界称,人工智能代理结合了大型语言模型和自动化软件,可以通过阅读安全公告成功利用现实世界中的安全漏洞。伊利诺伊大学厄巴纳-香槟分校(UIUC)的四位计算机科学家--理查德-方(Richard Fang)、罗汉-宾都(Rohan Bindu)、阿库尔-古普塔(Akul Gupta)和丹尼尔-康(Daniel Kang)--在最新发表的一篇论文中报告说,OpenAI 的 GPT-4 大型语言模型(LLM)可以自主利用真实世界系统中的漏洞,只要给它一个描述漏洞的 CVE 通告。
为了说明这一点,研究人员收集了 15 个单日漏洞的数据集,其中包括在 CVE 描述中被归类为严重程度的漏洞。
"当给出 CVE 描述时,GPT-4 能够利用其中 87% 的漏洞,而我们测试的其他模型(GPT-3.5、开源 LLM)和开源漏洞扫描器(ZAP 和 Metasploit)利用率为 0%"。
所谓"单日漏洞",是指已经披露但尚未修补的漏洞。该团队所说的 CVE 描述指的是 NIST 共享的 CVE 标记咨询--例如,这个针对 CVE-2024-28859 的咨询。
测试的失败模型包括 GPT-3.5、OpenHermes-2.5-Mistral-7B、Llama-2 Chat (70B)、LLaMA-2 Chat (13B)、LLaMA-2 Chat (7B)、Mixtral-8x7B Instruct、Mistral (7B) Instruct v0.2、Nous Hermes-2 Yi 34B 和 OpenChat 3.5。2 、Nous Hermes-2 Yi 34B 和 OpenChat 3.5,但不包括 GPT-4 的两个主要商业竞争对手:Anthropic 的 Claude 3 和 Google 的 Gemini 1.5 Pro。尽管 UIUC 的工程师们希望能在某个时候对它们进行测试,但他们无法获得这些模型。
研究人员的工作基于之前的发现,即 LLM 可用于在沙盒环境中自动攻击网站。
UIUC 助理教授丹尼尔-康(Daniel Kang)在一封电子邮件中说,GPT-4"实际上可以自主执行某些步骤,以实施开源漏洞扫描程序(在撰写本文时)无法发现的某些漏洞利用"。
Kang 说,他希望通过将聊天机器人模型与在 LangChain 中实施的ReAct自动化框架相连接而创建的 LLM 代理(在本例中)能让每个人都更容易地利用漏洞。据悉,这些代理可以通过 CVE 描述中的链接获取更多信息。
此外,如果推断 GPT-5 和未来机型的功能,它们很可能比现在的脚本小子们能获得的功能要强得多。
拒绝 LLM 代理(GPT-4)访问相关的 CVE 描述使其成功率从 87% 降至仅 7%。不过,Kang 表示,他并不认为限制安全信息的公开是抵御 LLM 代理的可行方法。他解释说:"我个人认为,'隐蔽安全'是站不住脚的,这似乎是安全研究人员的普遍看法。我希望我的工作和其他工作能够鼓励人们采取积极主动的安全措施,比如在安全补丁发布时定期更新软件包。"
LLM 代理仅未能利用 15 个样本中的两个:Iris XSS(CVE-2024-25640)和 Hertzbeat RCE(CVE-2023-51653)。论文称,前者之所以存在问题,是因为 Iris 网络应用的界面对于代理来说非常难以浏览。而后者的特点是有详细的中文说明,这大概会让在英文提示下运行的 LLM 代理感到困惑。
在测试的漏洞中,有 11 个是在 GPT-4 的训练截止日期之后出现的,这意味着模型在训练过程中没有学习到有关这些漏洞的任何数据。这些 CVE 的成功率略低,为 82%,即 11 个中有 9 个。
至于这些漏洞的性质,在上述论文中都有列出,并告诉我们:"我们的漏洞涉及网站漏洞、容器漏洞和易受攻击的 Python 软件包,根据 CVE 描述,超过一半的漏洞被归类为'高度'或'严重'严重性。"
Kang 和他的同事计算了成功进行一次 LLM 代理攻击的成本,得出的数字是每次利用漏洞的成本为 8.8 美元,他们说这比雇用一名人工渗透测试人员 30 分钟的成本低 2.8 倍。
根据 Kang 的说法,代理代码只有 91 行代码和 1056 个提示令牌。GPT-4的制造商OpenAI要求研究人员不要向公众公布他们的提示信息,不过他们表示会应要求提供。
OpenAI 没有立即回应置评请求。