chatgpt修改代碼bug ChatGPT 生成的代碼不安全
是 發(fā)布的大語言模型聊天機(jī)器人chatgpt修改代碼bug,可以根據(jù)用戶的輸入生成文本,其中包括代碼。不過加拿大魁北克大學(xué)的研究人員發(fā)現(xiàn), 生成的代碼往往存在嚴(yán)重的安全問題,而且它不會主動告知用戶存在這些問題。只有在用戶提問生成的代碼是否安全時(shí)才會進(jìn)行回答。
研究人員在 上發(fā)表了論文《How is Code by ?》,分析了 生成的代碼的安全性。他們表示結(jié)果讓人倍感擔(dān)憂,因?yàn)? 生成的部分代碼沒有達(dá)到最低安全標(biāo)志。而且 即便知道自己生成的代碼不安全,也不會主動告知用戶,除非用戶向它詢問。
從論文的描述可知chatgpt修改代碼bug,研究人員讓 使用 C、C++、 和 Java 四種編程語言生成了 21 個(gè)程序和腳本。這些編程任務(wù)經(jīng)過精心挑選,因此每個(gè)任務(wù)都體現(xiàn)了一種特定的安全漏洞,例如內(nèi)存損壞、拒絕服務(wù)以及與反序列化和未正確實(shí)現(xiàn)的加密相關(guān)的缺陷。
結(jié)果顯示, 在第一次嘗試時(shí)生成的 21 個(gè)程序中只有 5 個(gè)是安全的。在進(jìn)一步提示糾正其錯(cuò)誤步驟后,該大語言模型設(shè)法生成了 7 個(gè)更安全的應(yīng)用程序,不過這只是與正在評估的特定漏洞有關(guān)的“安全”,并不是說最終的代碼不存在任何其他可利用的漏洞。
研究人員指出, 的部分問題是由于它沒有考慮攻擊者的代碼執(zhí)行模型。它會反復(fù)告訴用戶,安全問題可以通過“不輸入無效的數(shù)據(jù)”來避免chatgpt修改代碼bug,但這在現(xiàn)實(shí)世界中是不可行的。然而,它似乎能夠意識到并承認(rèn)自己建議的代碼中存在的關(guān)鍵漏洞。
該論文的合著者之一?l 說道:“顯然,它只是一個(gè)算法。它什么都不知道,但它可以識別出不安全的行為。”他提到,最初 對安全問題的回應(yīng)是建議只使用有效的輸入,這顯然是不合理的。只有在之后被要求改進(jìn)問題時(shí),它才提供了有用的指導(dǎo)。
不過既然向 提示修復(fù)問題的時(shí)候需要熟悉特定的漏洞和編碼技術(shù),所以當(dāng)我們知道讓 修復(fù)漏洞的正確 時(shí),可能已經(jīng)了解如何解決問題。
研究人員還指出, 生成代碼的行為存在著道德上的不一致性。比如它會拒絕生成攻擊性代碼,但卻會生成有漏洞的代碼。他們舉了一個(gè) Java 反序列化漏洞的例子,“聊天機(jī)器人生成了有漏洞的代碼,并提供了如何使其更安全的建議,但卻說它無法生成更安全版本的代碼。”
免責(zé)聲明:本文系轉(zhuǎn)載,版權(quán)歸原作者所有;旨在傳遞信息,不代表本站的觀點(diǎn)和立場和對其真實(shí)性負(fù)責(zé)。如需轉(zhuǎn)載,請聯(lián)系原作者。如果來源標(biāo)注有誤或侵犯了您的合法權(quán)益或者其他問題不想在本站發(fā)布,來信即刪。
聲明:本站所有文章資源內(nèi)容,如無特殊說明或標(biāo)注,均為采集網(wǎng)絡(luò)資源。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系本站刪除。