見發生·知(zhī)未見
業界觀點

碼農(nóng)們暫時(shí)松口氣?ChatGPT生成代碼多數存在安全漏洞

業界觀點

自(zì)ChatGPT面世以來(lái),人們便被它的“神通廣大(dà)”所折服。不過,最近加拿大(dà)的幾名研究人員發現(xiàn),盡管ChatGPT具備編程能(néng)力,但(dàn)其編寫的代碼不僅大(dà)部分不安全,并且ChatGPT并不會(huì)主動提醒用(yòng)戶這(zhè)些(xiē)代碼所存在的問題。

這(zhè)或許意味着,那些(xiē)擔憂被ChatGPT搶走工(gōng)作(zuò)的碼農(nóng)們可以暫時(shí)松口氣了(le)。

ChatGPT生成的代碼并不安全

近日,加拿大(dà)魁北克大(dà)學的四名研究人員在一篇題爲“ChatGPT生成的代碼有多安全?”的論文(wén)中表示,總體而言,ChatGPT生成的代碼“不是很(hěn)安全”。

“結果令人擔憂,”研究人員們在論文(wén)中寫道(dào),“我們發現(xiàn),在一些(xiē)情況下(xià),ChatGPT生成的代碼遠遠低(dī)于大(dà)多數情況下(xià)适用(yòng)的最低(dī)安全标準。事(shì)實上(shàng),當被問及生成的代碼是否安全時(shí),ChatGPT能(néng)夠識别出它不安全。”

美(měi)女壁紙(zhǐ)|高(gāo)清美(měi)女壁紙(zhǐ)|高(gāo)清壁紙(zhǐ)

這(zhè)四位作(zuò)者在要求ChatGPT使用(yòng)C、c++、Python和(hé)Java等多種語言生成21個程序和(hé)腳本後得出了(le)上(shàng)述結論。

總的來(lái)說,ChatGPT在第一次嘗試生成的21個代碼中,隻有5個是安全的。在進一步糾正其錯誤之後,也(yě)僅有7個代碼是安全的。

不會(huì)主動提醒代碼漏洞

同時(shí),研究人員還發現(xiàn),“ChatGPT似乎意識到(dào)——而且确實欣然承認——它所聲稱的代碼中存在嚴重漏洞。”

不過,除非被要求評估自(zì)己的代碼建議(yì)的安全性,否則它不會(huì)做出主動提醒。

“顯然,這(zhè)是一種算(suàn)法。它并非無所不知(zhī),但(dàn)它确實可以識别不安全的行爲,”論文(wén)作(zuò)者之一表示。

研究人員們發現(xiàn),假如向ChatGPT提出關于其生成代碼的安全性問題,ChatGPT會(huì)在最初反複強調,想要保證代碼安全,可以簡單地通過“不向它所創建的易受攻擊的程序提供無效輸入”來(lái)解決——這(zhè)在現(xiàn)實世界中是行不通的。直到(dào)後來(lái),當測試者反複要求ChatGPT糾正問題時(shí),ChatGPT才會(huì)提供有用(yòng)的指導。

作(zuò)者認爲,這(zhè)并不理(lǐ)想,因爲這(zhè)意味着,想要讓ChatGPT準确糾正代碼問題的前提,是熟悉特定的漏洞和(hé)編碼技術。換句話(huà)說,如果用(yòng)戶想要讓ChatGPT作(zuò)出修複漏洞的正确提示,那麽這(zhè)名用(yòng)戶可能(néng)需要原本已經了(le)解如何解決這(zhè)一漏洞。

不應過于信賴ChatGPT生成的代碼

研究者們認爲,ChatGPT目前的編程能(néng)力仍存在漏洞和(hé)風(fēng)險。

他(tā)們表示:“實際上(shàng),我們已經看(kàn)到(dào)學生們在使用(yòng)它,程序員也(yě)将在實際應用(yòng)中使用(yòng)它。因此,擁有一個生成不安全代碼的工(gōng)具是非常危險的。我們需要讓學生意識到(dào),如果代碼是用(yòng)這(zhè)種工(gōng)具生成的,它很(hěn)可能(néng)是不安全的。”

“讓我感到(dào)驚訝的是,當我們要求(ChatGPT)用(yòng)不同的語言生成相同的任務——相同類型的程序——有時(shí),對(duì)于一種語言,它是安全的,而對(duì)于另一種語言,它可能(néng)是不安全的的。因爲這(zhè)種語言模型有點像黑盒子,我真的沒有一個很(hěn)好(hǎo)的解釋或理(lǐ)論。”研究人員們寫道(dào)。

網站(zhàn)建設開(kāi)發|APP設計(jì)開(kāi)發|小(xiǎo)程序建設開(kāi)發
下(xià)一篇:微軟總裁:中國研究機構和(hé)企業将成爲ChatGPT主要競争對(duì)手
上(shàng)一篇:與中國“搶賽道(dào)” 美(měi)國政府開(kāi)始積極規劃6G無線通訊