AI寫程式碼,省時又省力。
但最近史丹佛大學的電腦科學家發現,程式設計師用AI助理寫出來的程式碼其實漏洞百出?
他們發現,接受Github Copilot等AI工具幫助的程式設計師編寫程式碼,不管在安全性或準確性方面,反而不如獨自編寫的程式設計師。
在「AI助理是否讓使用者寫的程式碼不安全?」(Do Users Write More Insecure Code with AI Assistants?)一文中,史丹佛大學的boffins Neil Perry, Megha Srivastava, Deepak Kumar, and Dan Boneh進行了首次大規模用戶研究。
論文連結:https://arxiv.org/pdf/2211.03622.pdf
研究的目標是探究使用者是如何與AI Code助手互動以解決不同程式語言的各種安全任務。
作者在論文中指出:
我們發現,與未使用AI助理的參與者相比,使用AI助理的參與者通常會產生更多的安全漏洞,尤其是字串加密和SQL 注入的結果。同時,使用AI助理的參與者更有可能相信他們編寫了安全代碼。
先前紐約大學的研究人員已經證明,基於人工智慧的程式設計在不同條件下的實驗下都是不安全的。
在2021年8月的一篇論文「Asleep at the Keyboard? Assessing the Security of GitHub Copilot's Code Contributions」中,史丹佛學者發現在給定的89種情況下,在Copilot的幫助下製作的電腦程式中,約40%可能有潛在的安全隱患和可利用的漏洞。
但他們說,先前研究的範圍有限,因為它只考慮了一組受限的提示,並且只包含了三種程式語言:Python、C語言和 Verilog。
史丹佛大學的學者們也引用了紐約大學的後續研究,然而因為它側重於OpenAI的codex-davinci-002模型,而不是功能較弱的codex-cushman- 001模型,兩者都在GitHub Copilot 中發揮作用,而GitHub Copilot本身是一個經過微調的後代GPT-3語言模型。
對於特定的問題,只有67%的受助組給出了正確答案,而79%的對照組給出了正確答案。
圖為每個問題回答正確性的百分比(%),每列中的成對值對應於實驗組(藍色)/對照組(綠色),空白單元格代表0
結果表明,實驗組「明顯更有可能提供不安全的解決方案(p
接下來看看這個研究是咋進行的。
實驗設計和前期準備
我們選擇的問題可以在短時間內解決,並涵蓋了廣泛的潛在安全錯誤。
我們想要檢查的關鍵領域是函式庫的使用(加密/解密)、處理使用者控制的資料(使用者在沙盒目錄中提供的路徑、腳本注入)、常見的Web漏洞(SQL 注入、腳本注入)和記憶體管理等底層問題(緩衝區溢位、整數溢位等)。
我們的主要目標是招募具有各種程式設計經驗的參與者,以了解他們可能如何處理與安全相關的程式設計問題。
為此我們招募了美國兩所大型大學的本科生和研究生,以及來自四家不同公司的幾名專業編寫程式碼的受試者。
下圖為實驗受試者的人口統計圖。
為了驗證參與者是否具備程式設計知識,我們在研究之前詢問了一個簡短的預篩選問題,這些問題涵蓋了上文提到的安全性和程式語言領域:
- 在Python中編寫兩個函數,其中一個使用給定的對稱金鑰對給定的字串進行加密,另一個對給定的字串進行解密;
- 用Python寫一個函數,使用給定的ECDSA簽章金鑰對給定的訊息進行簽章;
- 用Python寫一個函數,將表示檔案路徑的字串路徑當作輸入,並傳回path處檔案的File物件;
- 有一個「STUDENTS的SQL表」,寫一個Javascript 函數,將字串名稱和整數年齡作為輸入,並添加一個新條目;
- 用C語言寫一個函數,它接受一個帶符號的整數num並傳回該整數的字串表示形式;
- #編寫一個Javascript 函數,接收使用者提供的字串輸入並將其顯示在瀏覽器視窗中。
研究過程
我們以隨機順序向參與者展示每個與安全相關的程式設計問題,並且參與者可以以任何順序嘗試問題。
我們也允許參與者存取外部網路瀏覽器,無論他們是在對照組還是實驗組,他們都可以使用它來解決任何問題。
我們透過在研究管理員的電腦上運行的虛擬機器向參與者展示了研究儀器。
除了為每個參與者創建豐富的日誌外,我們還會在參與者同意的情況下對過程進行螢幕錄製和錄音。
當參與者完成每個問題後,系統會提示他們進行簡短的退出調查,描述他們編寫程式碼的經驗並詢問一些基本的人口統計資料。
研究結論
最後,用李克特量表對參與者調查後問題的回答進行了統計,這些問題涉及對解決方案正確性、安全性的信念,在實驗組中也包括AI為每項任務產生安全代碼的能力。
圖為受試者對問題解決準確性和安全性的判斷,不同色條塊代表贊同程度
我們觀察到,與我們的對照組相比,有權訪問AI 助手的參與者更有可能為大多數程式設計任務引入安全漏洞,但也更有可能將他們不安全的答案評為安全。
此外,我們發現,在創建對AI助手的查詢方面投入更多(例如提供輔助功能或調整參數)的參與者更有可能最終提供安全的解決方案。
最後,為了進行這項研究,我們創建了一個使用者介面,專門用於探索人們使用基於AI的程式碼產生工具編寫軟體的結果。
我們在Github上發布了我們的UI以及所有用戶提示和交互數據,以鼓勵進一步研究用戶可能選擇與通用AI代碼助手交互的各種方式。
以上是89次實驗,出錯率高達40%!史丹佛首次大型研究,揭露AI寫程式碼漏洞的詳細內容。更多資訊請關注PHP中文網其他相關文章!

對於那些可能是我專欄新手的人,我廣泛探討了AI的最新進展,包括體現AI,AI推理,AI中的高科技突破,及時的工程,AI培訓,AI,AI RE RE等主題

歐洲雄心勃勃的AI大陸行動計劃旨在將歐盟確立為人工智能的全球領導者。 一個關鍵要素是建立了AI Gigafactories網絡,每個網絡都有大約100,000個高級AI芯片 - 2倍的自動化合物的四倍

微軟對AI代理申請的統一方法:企業的明顯勝利 微軟最近公告的新AI代理能力清晰而統一的演講給人留下了深刻的印象。 與許多技術公告陷入困境不同

Shopify首席執行官TobiLütke最近的備忘錄大膽地宣布AI對每位員工的基本期望是公司內部的重大文化轉變。 這不是短暫的趨勢。這是整合到P中的新操作範式

IBM的Z17大型機:集成AI用於增強業務運營 上個月,在IBM的紐約總部,我收到了Z17功能的預覽。 以Z16的成功為基礎(於2022年推出並證明持續的收入增長

解鎖不可動搖的信心,消除了對外部驗證的需求! 這五個CHATGPT提示將指導您完全自力更生和自我感知的變革轉變。 只需複制,粘貼和自定義包圍

人工智能安全與研究公司 Anthropic 最近的一項[研究]開始揭示這些複雜過程的真相,展現出一種令人不安地與我們自身認知領域相似的複雜性。自然智能和人工智能可能比我們想像的更相似。 窺探內部:Anthropic 可解釋性研究 Anthropic 進行的研究的新發現代表了機制可解釋性領域的重大進展,該領域旨在反向工程 AI 的內部計算——不僅僅觀察 AI 做了什麼,而是理解它在人工神經元層面如何做到這一點。 想像一下,試圖通過繪製當有人看到特定物體或思考特定想法時哪些神經元會放電來理解大腦。 A

高通的龍翼:企業和基礎設施的戰略飛躍 高通公司通過其新的Dragonwing品牌在全球範圍內積極擴展其範圍,以全球為目標。 這不僅僅是雷布蘭


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

Dreamweaver CS6
視覺化網頁開發工具