研究人員發(fā)現(xiàn)ChatGPT生成的代碼大部分不安全,但不會主動告知你 |
發(fā)布時間:2023-04-25 文章來源:本站 瀏覽次數(shù):2150 |
4 月 23 日消息,ChatGPT 談天機器人能夠依據(jù)用戶的輸入生成各種各樣的文本,包含代碼?墒,加拿大魁北克大學(xué)的四位研究人員發(fā)現(xiàn),ChatGPT 生成的代碼往往存在嚴(yán)重的安全問題,而且它不會主動提醒用戶這些問題,只要在用戶問詢時才會承認(rèn)自己的過錯。 研究人員在一篇論文中介紹了他們的發(fā)現(xiàn),檢查該論文發(fā)現(xiàn),他們讓 ChatGPT 生成了 21 個程序和腳本,涉及 C、C++、Python 和 Java 等言語。這些程序和腳本都是為了展現(xiàn)一些特定的安全縫隙,比方內(nèi)存損壞、回絕服務(wù)、反序列化和加密實現(xiàn)等方面的縫隙。成果顯示,ChatGPT 在第一次測驗時生成的 21 個程序中只要 5 個是安全的。在進(jìn)一步提示糾正其過錯步驟后,該大型言語模型設(shè)法生成了 7 個更安全的應(yīng)用程序,不過這只是與正在評價的特定縫隙有關(guān)的“安全”,并不是說終的代碼不存在任何其他可利用的縫隙。 研究人員指出,ChatGPT 的部分問題是由于它沒有考慮敵對的代碼履行模型。它會反復(fù)告知用戶,安全問題能夠經(jīng)過“不輸入無效的數(shù)據(jù)”來避免,但這在實際國際中是不可行的。但是,它好像能夠意識到并承認(rèn)自己主張的代碼中存在的關(guān)鍵縫隙。 魁北克大學(xué)計算機科學(xué)與工程教授、論文的合著者之一 Raphaël Khoury 告知《The Register》:“明顯,它只是一個算法。它什么都不知道,但它能夠識別出不安全的行為!彼f,開始 ChatGPT 對安全問題的回應(yīng)是主張只運用有效的輸入,這明顯是不合理的。只要在之后被要求改進(jìn)問題時,它才供給了有用的指導(dǎo)。 研究人員認(rèn)為,ChatGPT 的這種行為并不理想,由于用戶知道要問什么問題需要對特定的縫隙和編碼技能有一定的了解。 研究人員還指出,在 ChatGPT 中存在著道德上的不一致性。它會回絕創(chuàng)立進(jìn)犯代碼,但卻會創(chuàng)立有縫隙的代碼。他們舉了一個 Java 反序列化縫隙的例子,“談天機器人生成了有縫隙的代碼,并供給了如何使其更安全的主張,但卻說它無法創(chuàng)立更安全版別的代碼! Khoury 認(rèn)為,ChatGPT 在現(xiàn)在的形式下是一個危險,但這并不是說沒有合理運用這種不穩(wěn)定、體現(xiàn)欠安的 AI 助手的辦法!霸蹅円呀(jīng)看到學(xué)生運用這個東西,程序員也會在實際中運用這個東西!彼f,“所以擁有一個生成不安全代碼的東西是非常危險的。咱們需要讓學(xué)生意識到,假如代碼是用這種類型的東西生成的,那么它很可能是不安全的。”他還稱,讓他感到驚奇的是,當(dāng)他們讓 ChatGPT 生成相同任務(wù)的不同言語的代碼時,有時關(guān)于一種言語,它會生成安全的代碼,而關(guān)于另一種言語,它會生成有縫隙的代碼,“由于這種言語模型有點像一個黑盒子,我真的沒有一個很好的解釋或理論來說明這一點! |
|