GitHub Copilot 被爆四成代碼存安全漏洞

近日研究人員發(fā)現(xiàn),GitHub Copilot 提供的代碼中有接近 40% 存在 bug。研究人員創(chuàng)建了 89 個測試場景以考查其代碼質量,編寫出了 1600 多個程序,經(jīng)過全面審查,證實了 GitHub Copilot 自動生成的代碼存在安全漏洞。

來源于GitHub官網(wǎng)
GitHub Copilot 是 GitHub 和 OpenAI 聯(lián)手發(fā)布了人工智能代碼工具,Copilot 是基于 OpenAI 全新的 Codex 模型,Codex 是 AI 語言模型 GPT-3 的一種延伸版本,但是在代碼生成方面比 GPT-3 強大得多,它可以根據(jù)當前代碼中上下文語義,自動生成代碼或建議供程序員選擇,而且該模型可以不斷地學習,從而變得更智能化。
這次 GitHub Copilot存 在安全漏洞問題,首先出現(xiàn)在名為《An Empirical Cybersecurity Evaluation of GitHub Copilot's Code Contributions》學術論文上,該論文作者考慮到 Copilot 處理大量未經(jīng)審查的代碼,語言模型肯定會從一些錯誤代碼中學習,他們從而引發(fā)了對 Copilot 代碼安全性的擔憂。
論文研究人員從三個維度測試 Copilot 代碼安全性:
弱點的多樣性,在可能存在此類漏洞的情況下,它傾向于生成受 CWE 前 25 名弱點影響的代碼
prompt 的多樣性,它對特定場景的上下文的響應(SQL 注入)
領域的多樣性,它對領域的反應,即編程語言/范式
研究人員總共為 Copilot 生成了 89 個不同的場景(類似于高風險常見弱點枚舉(CWE)),生成了 1692 個程序,發(fā)現(xiàn) 40% 程序存在安全漏洞。
實際上早在上個月,一篇題為《Evaluating Large Language Models Trained on Code 》的論文也研究 Copilot 安全性等問題。該論文研究表明:“基于 GPT 語言模型Codex雖然也能生成有效的解決方案,但是不能完全按照用戶意圖生成對應代碼,并且有可能會被濫用。”
對于此次 GitHub Copilot 安全漏洞問題,研究人員表示“盡管 Copilot 能快速生成大量代碼,建議使用 GitHub Copilot 的開發(fā)人員采取相關措施,最大程度減少代碼中出現(xiàn)安全漏洞的風險?!?/span>
OpenAI 公司上個月對基于 GPT 語言模型 Codex 算法進行了改進,并在測試版本中展示了 Codex 通過輸入自然語言命令到控制臺,直接生成代碼的能力,OpenAI 公司表示,之前的 Codex 版本可以解決 27% 的基準問題,而最新模型算法可以解決 37%,卻沒有提到任何關于避免安全漏洞問題。
對于此次 GitHub Copilot 存在安全漏洞事件,你怎么看?歡迎留言評論。
參考鏈接:
https://visualstudiomagazine.com/articles/2021/08/26/github-copilot-security.aspx
往 期 推 薦
1、靈魂一問:你的登錄接口真的安全嗎? 2、HashMap 中這些設計,絕了~ 3、在 IntelliJ IDEA 中這樣使用 Git,賊方便了! 4、計算機時間到底是怎么來的?程序員必看的時間知識! 5、這些IDEA的優(yōu)化設置趕緊安排起來,效率提升杠杠的! 6、21 款 yyds 的 IDEA插件 7、真香!用 IDEA 神器看源碼,效率真高! 點分享
點收藏
點點贊
點在看





