讓ChatGPT當程序員不靠譜:所寫代碼大部分不安全,還不告訴你

來源:太平洋電腦網(wǎng)


(相關(guān)資料圖)

4月23日消息,加拿大魁北克大學(xué)研究人員發(fā)現(xiàn),ChatGPT生成的代碼大部分都有著嚴重漏洞,并且它不會主動告知。

在ChatGPT上線之初,人們便讓這一AI聊天模型進行代碼撰寫。事實上,ChatGPT的確能夠生成可用的代碼,其能力范圍還涵蓋多種程序語言,包括C、C++、Python和Java等。

這些研究人員制定了一個有針對性的實驗計劃,讓ChatGPT生成了共21個程序和腳本,這些程序和腳本包含了一些特定的安全漏洞,比如內(nèi)存損壞、拒絕服務(wù)、反序列化和加密實現(xiàn)等方面的漏洞。最后的研究結(jié)果顯示,ChatGPT成功將所有程序生成出來,但是只有5個是可用的。進一步提示以糾正其錯誤步驟后,它最終生成了7個更安全的應(yīng)用程序,但這里的“安全”還只是相對于針對性的漏洞而言,并不是代表著最終的“安全”代碼不存在任何其他未發(fā)現(xiàn)的漏洞。

研究人員指出,這可能是由于ChatGPT沒有考慮到敵對的代碼執(zhí)行模型。在實驗過程中,它會反復(fù)告訴用戶:安全問題可以通過“不輸入無效的數(shù)據(jù)”來避免。但這一做法在現(xiàn)實世界中是不可行的。同時,這是否也意味著,它似乎能夠意識到并承認自己建議的代碼中存在的關(guān)鍵漏洞。

魁北克大學(xué)計算機科學(xué)與工程教授Rapha?l Khoury稱,“顯然,它只是一個算法。它什么都不知道,但它可以識別出不安全的行為?!彼f,最初ChatGPT對安全問題的回應(yīng)是建議只使用有效的輸入,這顯然是不合理的。只有在之后被要求改進問題時,它才提供了有用的指導(dǎo)。

研究人員還指出,ChatGPT還存在著“雙標行為”。當你要求他創(chuàng)建一組攻擊代碼,它會拒絕,但卻會創(chuàng)建有漏洞的代碼。 “聊天機器人生成了有漏洞的代碼,并提供了如何使其更安全的建議,但卻說它無法創(chuàng)建更安全版本的代碼。”他們稱。

編輯點評:當ChatGPT這一功能被曝光時,許多程序員都擔心自己的工作崗位“將要被取代”,但就目前的發(fā)展來看,程序員的飯碗在一段時間內(nèi)還是能夠保住。ChatGPT終究還是一個通過攝取大量語言數(shù)據(jù)進行模仿的一個算法,說不定它所生成的有漏洞的代碼都是來源于一些技術(shù)不好的程序員。想要ChatGPT真正解放人類的雙手,可能還需要很多很多的數(shù)據(jù),還有很多很多的時間。

標簽:

推薦

財富更多》

動態(tài)更多》

熱點