ChatGPT 聊天机器人最近被魁北克大学四位研究人员指出存在严重的安全问题。研究人员让 ChatGPT 生成了 21 个程序和脚本,涉及 C、C++、Python 和 Java 等语言,这些程序和脚本展示了一些特定的安全漏洞,如内存损坏、拒绝服务、反序列化和加密实现等方面的漏洞。结果显示,在第一次尝试时,ChatGPT 仅有 5 个程序是安全的,其余存在安全漏洞。这些问题主要是因为 ChatGPT 没有考虑敌对的代码执行模型。它会反复告诉用户安全问题可以通过“不输入无效的数据”来避免,但这在现实世界中是不可行的。然而,它似乎能够意识到并承认自己建议的代码中存在的关键漏洞。研究人员认为,ChatGPT 的这种行为并不理想,因为用户需要对特定的漏洞和编码技术有一定的了解。
在 ChatGPT 中还存在着道德上的不一致性,它会拒绝创建攻击代码,但却会创建有漏洞的代码。这让研究人员感到担忧,因为这种机器人可以用来制造危害,比如黑客攻击。魁北克大学计算机科学与工程教授 Raphaël Khoury 表示,ChatGPT 在目前的形式下是一个风险,但这并不是说没有合理使用这种不稳定、表现不佳的 AI 助手的方法。然而,用户需要意识到如果代码是用这种类型的工具生成的,那么它很可能是不安全的。
此外,研究人员还指出,ChatGPT 在生成代码时存在一定的随机性。当让 ChatGPT 生成相同任务的不同语言的代码时,有时对于一种语言,它会生成安全的代码,而对于另一种语言,它会生成有漏洞的代码,这使得其模型有点像一个黑盒子,难以准确理解其行为的原因。鉴于 ChatGPT 的存在安全问题,研究人员呼吁用户在使用 ChatGPT 时要谨慎,并时刻注意生成代码的安全问题。