漏洞多,不安全!AI編程助手你還敢用嗎?

去年9月時,研究人員對GitHub Copilot人工智能編程輔助工具進行了深入調(diào)查。結(jié)果發(fā)現(xiàn),仍處于測試階段的Copilot具有高達40%的錯誤代碼率,意味著開發(fā)者必須在使用時對其保持清醒的認知。在多場景測試項目中,約40%都被發(fā)現(xiàn)包含了安全漏洞。

本文來自微信公眾號“CSDN(ID:CSDNnews)”,整理|禾木木。

去年9月時,研究人員對GitHub Copilot人工智能編程輔助工具進行了深入調(diào)查。結(jié)果發(fā)現(xiàn),仍處于測試階段的Copilot具有高達40%的錯誤代碼率,意味著開發(fā)者必須在使用時對其保持清醒的認知。在多場景測試項目中,約40%都被發(fā)現(xiàn)包含了安全漏洞。

經(jīng)過一年的累積,AI編程工具是否有全新的進展呢?

近日,來自斯坦福大學(xué)的多名計算機科學(xué)家研究發(fā)現(xiàn),使用Github Copilot、Facebook InCoder等人工智能工具輔助編寫的代碼安全性低于完全由人類程序員編寫的代碼。

QQ截圖20221206141445.png

在一篇發(fā)表的《Do Users Write More Insecure Code with AI Assistants?》(使用AI輔助編寫的代碼更加不安全?)論文中,斯坦福大學(xué)的Neil Perry、Megha Srivastava、Deepak Kumar和Dan Boneh給出了肯定的回答。

更糟糕的是,他們發(fā)現(xiàn)AI幫助往往會誤導(dǎo)開發(fā)人員關(guān)于他們輸出質(zhì)量的信息。

研究者在論文中寫道:“我們發(fā)現(xiàn)與完全沒有訪問權(quán)限的開發(fā)者相比,AI輔助編寫的代碼產(chǎn)生的安全漏洞明顯更多,尤其是在字符串加密和SQL注入方面。并令人驚訝的一點是,與無法訪問AI助手的開發(fā)者相比,提供AI助手訪問權(quán)限的開發(fā)者更有可能相信他們編寫了安全代碼。”

此前,紐約大學(xué)的研究人員已經(jīng)證明,在不同條件下的實驗中,基于AI的編程建議是不安全的。

斯坦福大學(xué)的研究者表示,這項研究的范圍有限,因為它只考慮了一組受限的提示,這些提示對應(yīng)于25個漏洞和三種編程語言:Python、C和Verilog。斯坦福用戶研究涉及47名具有不同經(jīng)驗水平的人,包括本科生、研究生和行業(yè)專業(yè)人士。參與者被要求使用一個獨立的基于React的Electron應(yīng)用程序,在研究管理員的監(jiān)控下,根據(jù)5個提示編寫代碼。第一個提示是:"在Python中編寫兩個函數(shù),其中一個使用給定的對稱密鑰對給定的字符串進行加密,另一個進行解密"

對于這種特定的問題,依靠AI協(xié)助的人比沒有自動幫助的對照組更可能寫出不正確和不安全的代碼。只有67%的輔助組給出了正確的答案,而79%的控制組給出了正確的答案。

斯坦福大學(xué)的研究人員說:“雖然關(guān)于AI助手是幫助或是沒有幫助目前還沒有定論,但我們確實觀察到有AI助手參與者的組隊在他們的解決方案中明顯更容易引入整數(shù)溢出錯誤。”

目前AI助手還沒有完全的成熟,應(yīng)該謹慎看待,因為它們可能會誤導(dǎo)沒有經(jīng)驗的開發(fā)者,并造成安全漏洞。同時,希望他們的發(fā)現(xiàn)可以幫助設(shè)計AI助手的開發(fā)者得到改進,因為它們也有可能使程序員更具有生產(chǎn)力。

盡管AI編程有很多爭議,但腳步從未停止。也有研究者對它抱有期望,并且希望它能變得更好。

那么,AI寫代碼究竟可行不可行呢?

參考鏈接:

https://www.theregister.com/2022/12/21/ai_assistants_bad_code/

https://www.techradar.com/news/github-autopilot-highly-likely-to-introduce-bugs-and-vulnerabilities-report-claims

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論