文章主题:ChatGPT, 代码执行模型, 安全问题, 算法

666AI工具大全,助力做AI时代先行者!

IT之家 4 月 23 日消息,ChatGPT 聊天机器人可以根据用户的输入生成各种各样的文本,包括代码。但是,加拿大魁北克大学的四位研究人员发现,ChatGPT 生成的代码往往存在严重的安全问题,而且它不会主动提醒用户这些问题,只有在用户询问时才会承认自己的错误。

ChatGPT的安全问题与漏洞识别

研究人员在一篇论文中介绍了他们的发现,IT之家查看该论文发现,他们让 ChatGPT 生成了 21 个程序和脚本,涉及 C、C++、Python 和 Java 等语言。这些程序和脚本都是为了展示一些特定的安全漏洞,比如内存损坏、拒绝服务、反序列化和加密实现等方面的漏洞。结果显示,ChatGPT 在第一次尝试时生成的 21 个程序中只有 5 个是安全的。在进一步提示纠正其错误步骤后,该大型语言模型设法生成了 7 个更安全的应用程序,不过这只是与正在评估的特定漏洞有关的“安全”,并不是说最终的代码不存在任何其他可利用的漏洞。

在一篇深入的研究报告中,专家们揭示出 ChatGPT 存在一些显著的问题,这主要源于其未充分考虑到对抗性代码执行模型的因素。具体而言,ChatGPT 有时会向用户强调,要避免安全风险,用户无需提供任何有效数据。然而,这种观点在现实生活中是行不通的。值得注意的是,ChatGPT 似乎具备自我认知能力,能够发现并承认自己所提供的建议代码中存在的重大缺陷。

魁北克大学计算机科学与工程的教授,同时也是本文合著者之一的Raphaël Khoury向《The Register》表示:“显而易见,这只是一个算法。它并不了解任何信息,但却能够识别出存在风险的行为。”他指出,ChatGPT在面对安全问题时的最初反应是建议仅使用有效输入,这一观点显然是错误的。直到后来被要求改进时,它才给出了有价值的建议。

研究人员认为,ChatGPT 的这种行为并不理想,因为用户知道要问什么问题需要对特定的漏洞和编码技术有一定的了解。

研究人员还指出,在 ChatGPT 中存在着道德上的不一致性。它会拒绝创建攻击代码,但却会创建有漏洞的代码。他们举了一个 Java 反序列化漏洞的例子,“聊天机器人生成了有漏洞的代码,并提供了如何使其更安全的建议,但却说它无法创建更安全版本的代码。”

Khoury 指出,虽然 ChatGPT 在当前形式下可能存在一定的风险,但这并不意味着无法合理利用这种性能不稳定且表现不佳的 AI 助手。他提到:“我们已经观察到有学生和程序员实际运用这个工具,因此拥有这样一个生成不安全代码的工具是极具风险性的。”他强调,让自己感到意外的是,当 ChatGPT 分别生成不同语言的相同任务代码时,有时针对某种语言,它可以生成安全的代码,而针对另一种语言,却会生成存在漏洞的代码。他认为这种语言模型的特性类似于一个黑盒子,缺乏足够的解释或理论来支撑这一观点。

ChatGPT的安全问题与漏洞识别

AI时代,拥有个人微信机器人AI助手!AI时代不落人后!

免费ChatGPT问答,办公、写作、生活好得力助手!

搜索微信号AIGC666aigc999或上边扫码,即可拥有个人AI助手!