ChatGPT明知自己寫代碼有漏洞 但你不問它就不說


ChatGPT知道自己寫的代碼有漏洞,但它不說!來自加拿大的一項最新研究發現,ChatGPT生成的代碼中,有不少都存在安全漏洞。然而在被要求評估自己代碼的安全性時,ChatGPT卻很快發現這些代碼中的漏洞,並給出一些解決方案和建議。

這意味著它並不知道自己生成糟糕的代碼,但卻查得出它寫的代碼有漏洞,也有能力修復這些漏洞

而在另一篇來自斯坦福的論文中,研究人員測試另一位著名AI程序員Copilot,也發現類似的問題。

所以,用AI生成代碼為啥會出現這種狀況?

寫的程序中76%有安全漏洞

研究人員試著讓ChatGPT生成21個程序。

整個測試過程如下,先提交需求給ChatGPT,生成相關代碼,再對這些代碼進行測試,並檢查問題、潛在的缺陷和漏洞等。


研究人員給ChatGPT提包括C++、C、Java和Python在內的21個寫代碼需求,這是評估的結果:


統計表明,ChatGPT生成的21個程序中,有17個能直接運行,但其中隻有5個程序能勉強通過程序安全評估,不安全代碼率達到76%以上。

於是,研究人員先試著讓ChatGPT“想想自己生成的代碼有啥問題”。

ChatGPT的回應是“沒啥問題”:隻要用戶每次的輸入都是有效的,那麼程序一定能運行!

顯然ChatGPT並沒有意識到,用戶並不都是行業專傢,很可能隻需要一個無效輸入,就能“引炸”它寫的程序:


發現ChatGPT不知道自己寫的程序不安全後,研究人員嘗試換種思路——用更專業的語言提示ChatGPT,如告訴它這些程序具體存在什麼漏洞。

神奇的是,在聽到這些針對安全漏洞的專業建議後,ChatGPT立刻知道自己的代碼存在什麼問題,並快速糾正不少漏洞。

經過一番改進後,ChatGPT終於將剩餘的16個漏洞程序中的7個改得更安全。

研究人員得出結論認為,ChatGPT並不知道自己的代碼中存在安全漏洞,但它卻能在生成程序後識別其中的漏洞,並嘗試提供解決方案。

論文還指出,ChatGPT雖然能準確識別並拒絕“寫個攻擊代碼”這種不道德的需求,然而它自己寫的代碼卻有安全漏洞,這其實有著設計上的不合理之處。

我們試試發現,ChatGPT確實會主動拒絕寫攻擊性代碼的要求:


大有一種“我不攻擊別人,別人也不會攻擊我寫的代碼”自信感。

程序員們在用它輔助寫代碼的時候,也需要考慮這些問題。

Copilot也存在類似問題

事實上,不止ChatGPT寫的代碼存在安全問題。

此前,斯坦福大學的研究人員對Copilot也進行過類似調查,隻不過他們探查的是用Copilot輔助生成的程序,而並非完全是Copilot自己寫的代碼。

研究發現,即便Copilot隻是個“打輔助”的角色,經過它改寫的代碼中,仍然有40%出現安全漏洞。

而且研究隻調查Copilot生成代碼中的一部分,包括C、Python和Verilog三種編程語言寫的程序,尚不知道用其他語言編寫的程序中,是否還存在更多或更少的安全漏洞。

基於此,研究人員得出如下結論:

ChatGPT等AI生成的代碼安全性並不穩定,用某些語言寫的代碼比較安全,而用其他語言寫的代碼卻很容易遭受攻擊。整體來看,它們就是一個黑盒子,生成的代碼是有風險的。

這並不意味著AI代碼工具不能用,隻是我們在使用時,必須考慮這些代碼的安全性。


相關推薦

2023-11-17

ChatGPT可能要上新一項重大功能。那就是記住你之前的聊天內容並不斷從中學習(並非單純保存歷史記錄),從而解你的偏好和信息,用於在日後聊天派上用場。比如你可以給它下達一句“始終用python寫代碼”的命令,那麼之後

2023-09-09

著全球化的安全治理。時間同樣改變全球最熱切的話題,ChatGPT 的問世讓 AI 席卷各大領域,吸引包括科技巨頭、企業領袖和創業傢在內的人們的關註。當馬斯克和黃仁勛在人工智能相關新聞上出盡風頭的同時,深耕開源領域的 Br

2023-02-06

ChatGPT到底有多會修bug?這事終於有人正兒八經地搞研究——來自德國、英國的研究人員,專門搭個“擂臺”來檢驗ChatGPT的這項本領。除ChatGPT之外,研究人員還找來其它三位修bug的“AI猛將”,分別讓它們修復40個錯誤代碼。結

2023-11-14

連夜發佈他新創辦的AI公司xAI的首款產品Grok——一款對標ChatGPT的聊天機器人。隨著Grok內測版的發佈,馬斯克真正進入生成式AI這條目前最熱門的賽道,實現他與OpenAI、谷歌、微軟、Meta競爭的“夙願”。為給新產品“站臺”,馬

2023-11-14

也是有條有理。但這個 GPT 給我的感覺就是,好像把原來 ChatGPT 關於遊戲規則的那一部分單獨剝離出來,答案是沒啥毛病,但也不是特別實用的樣子。接著,我們又嘗試一個 genz 4 模因解釋器,根據官方的介紹,這個 GPT 可以解釋

2023-02-09

據報道,短短幾周,人工智能聊天機器人ChatGPT已經成為一款現象級服務,迅速火遍全球。它吸引用戶的速度甚至超過之前廣受歡迎的TikTok和Instagram等社交媒體平臺。根據Similarweb的數據,去年11月末發佈之前,這款服務隻用兩個

2023-08-08

快科技8月8日消息,自從ChatGPT等生成式人工智能誕生,就有不少開發者嘗試將其作為編程中的輔助工具。但近日,美國普渡大學的一項研究指出,ChatGPT在回答編程問題時的錯誤率,出乎預料的高。據悉,ChatGPT在回答軟件編程問

2024-01-31

ChatGPT悄悄更新個大功能!看起來要把插件系統迭代掉。部分(灰度)用戶已經收到這樣的提示:現在可以在對話中@任意GPT商店裡的GPTs,就像在群聊中@一個人。體驗到的博主Dan Shipper第一時間錄視頻激動地分享:一個改變遊戲規則

2023-03-23

續推出的企業版訂閱為每月19美元。因此,當資本市場為ChatGPT將自然語言轉化為代碼的能力驚嘆時,上百萬程序員早已用上這項功能。所以周三的更新,更像是基於GPT-4發佈後的版本升級。不過GitHub也強調,Copilot X目前代表GitHub

2023-03-23

還考慮加入一些第三方文檔,比如公司內部的,或者某人自己寫的公共的。最後是Copilot for CLI。終端/命令行是程序員們每天打交道最多的地方之一。那麼多命令相信很多人都記不住,此功能就是專門用來幫你解決這個問題的。

2023-02-11

工作:加入OpenAI(又一次)。是的,就是現在大火的那個ChatGPT的公司OpenAI。其實也算不上意外,畢竟卡帕斯博士畢業後的第一份工作,就是在OpenAI研究計算機視覺。後來OpenAI聯合創始人之一的馬斯克看上卡帕斯,把人挖到特斯

2023-03-07

據報道,微軟公司今日將ChatGPT背後的技術整合到其PowerPlatform平臺上,允許用戶在幾乎不需要編碼的情況下,就能開發自己的應用程序。當前,Alphabet等多傢大型科技公司,均爭相將“生成式人工智能”整合到他們的產品中。微

2022-09-19

1984年就開始當程序員的老哥出來“現身說法”。他總結自己從業近40年的經驗,匯集成13條建議,希望能給想長期做程序員的新手們提供一些幫助。文章一發佈,就在reddit、推特上引發討論,許多程序員也紛紛跟帖附議,有網友

2023-02-26

ChatGPT不止會動嘴,還能幫你操控無人機!雖然ChatGPT已經被調教為符合人類的偏好,但在各種反向操作下,還是能夠逼問出一些“不道德的內容”,比如ChatGPT可以給你列一份詳細的毀滅世界計劃列表,具體到每一步。不過,現在