財(cái)聯(lián)社4月24日訊(編輯 劉蕊)自ChatGPT面世以來(lái),人們便被它的“神通廣大”所折服。不過(guò),最近加拿大的幾名研究人員發(fā)現(xiàn),盡管ChatGPT具備編程能力,但其編寫(xiě)的代碼不僅大部分不安全,并且ChatGPT并不會(huì)主動(dòng)提醒用戶這些代碼所存在的問(wèn)題。
這或許意味著,那些擔(dān)憂被ChatGPT搶走工作的碼農(nóng)們可以暫時(shí)松口氣了。
【資料圖】
ChatGPT生成的代碼并不安全
近日,加拿大魁北克大學(xué)的四名研究人員在一篇題為“ChatGPT生成的代碼有多安全?”的論文中表示,總體而言,ChatGPT生成的代碼“不是很安全”。
“結(jié)果令人擔(dān)憂,”研究人員們?cè)谡撐闹袑?xiě)道,“我們發(fā)現(xiàn),在一些情況下,ChatGPT生成的代碼遠(yuǎn)遠(yuǎn)低于大多數(shù)情況下適用的最低安全標(biāo)準(zhǔn)。事實(shí)上,當(dāng)被問(wèn)及生成的代碼是否安全時(shí),ChatGPT能夠識(shí)別出它不安全。”
這四位作者在要求ChatGPT使用C、c++、Python和Java等多種語(yǔ)言生成21個(gè)程序和腳本后得出了上述結(jié)論。
總的來(lái)說(shuō),ChatGPT在第一次嘗試生成的21個(gè)代碼中,只有5個(gè)是安全的。在進(jìn)一步糾正其錯(cuò)誤之后,也僅有7個(gè)代碼是安全的。
不會(huì)主動(dòng)提醒代碼漏洞
同時(shí),研究人員還發(fā)現(xiàn),“ChatGPT似乎意識(shí)到——而且確實(shí)欣然承認(rèn)——它所聲稱的代碼中存在嚴(yán)重漏洞。”
不過(guò),除非被要求評(píng)估自己的代碼建議的安全性,否則它不會(huì)做出主動(dòng)提醒。
“顯然,這是一種算法。它并非無(wú)所不知,但它確實(shí)可以識(shí)別不安全的行為,”論文作者之一表示。
研究人員們發(fā)現(xiàn),假如向ChatGPT提出關(guān)于其生成代碼的安全性問(wèn)題,ChatGPT會(huì)在最初反復(fù)強(qiáng)調(diào),想要保證代碼安全,可以簡(jiǎn)單地通過(guò)“不向它所創(chuàng)建的易受攻擊的程序提供無(wú)效輸入”來(lái)解決——這在現(xiàn)實(shí)世界中是行不通的。直到后來(lái),當(dāng)測(cè)試者反復(fù)要求ChatGPT糾正問(wèn)題時(shí),ChatGPT才會(huì)提供有用的指導(dǎo)。
作者認(rèn)為,這并不理想,因?yàn)檫@意味著,想要讓ChatGPT準(zhǔn)確糾正代碼問(wèn)題的前提,是熟悉特定的漏洞和編碼技術(shù)。換句話說(shuō),如果用戶想要讓ChatGPT作出修復(fù)漏洞的正確提示,那么這名用戶可能需要原本已經(jīng)了解如何解決這一漏洞。
不應(yīng)過(guò)于信賴ChatGPT生成的代碼
研究者們認(rèn)為,ChatGPT目前的編程能力仍存在漏洞和風(fēng)險(xiǎn)。
他們表示:“實(shí)際上,我們已經(jīng)看到學(xué)生們?cè)谑褂盟?,程序員也將在實(shí)際應(yīng)用中使用它。因此,擁有一個(gè)生成不安全代碼的工具是非常危險(xiǎn)的。我們需要讓學(xué)生意識(shí)到,如果代碼是用這種工具生成的,它很可能是不安全的。”
“讓我感到驚訝的是,當(dāng)我們要求(ChatGPT)用不同的語(yǔ)言生成相同的任務(wù)——相同類型的程序——有時(shí),對(duì)于一種語(yǔ)言,它是安全的,而對(duì)于另一種語(yǔ)言,它可能是不安全的的。因?yàn)檫@種語(yǔ)言模型有點(diǎn)像黑盒子,我真的沒(méi)有一個(gè)很好的解釋或理論?!毖芯咳藛T們寫(xiě)道。
標(biāo)簽:
熱門(mén)