GitHub Copilot易受攻擊  專家提供解決方案

編譯/黃竣凱

隨著越來越依賴人工智慧 (AI)完成各種任務,安全隱患也變得越來越嚴重。程式碼安全培訓公司Cydrill就指出,透過AI程式設計助手GitHub Copilot,駭客可能會利用「假程式碼」入侵用戶的設備,造成重大威脅。

GitHub Copilot易受攻擊,專家提供解決方案。示意圖。圖取自微軟

GitHub Copilot易受攻擊

據報導,雖然GitHub Copilot 由 OpenAI 的 Codex 提供支援,透過建議程式碼片段,甚至整個程式碼,證明了AI在程式設計方面的潛力。 然而,多項研究都強調,完全依賴這項技術非常危險。 事實證明,Copilot 產生的程式碼有「很大一部分」可能包含安全缺陷,包括 SQL 注入和緩衝區溢位等常見攻擊的漏洞。

更多新聞:更聰明更具對話性  OpenAI 推出GPT-4 Turbo

AI程式碼有缺陷

雖然像 Copilot 這樣的AI模型是從現有數據中學習的,但其中大部分數據都無人監督,因此如果資料有缺陷,輸出就(包括程式碼建議)就可能會繼承這些缺陷。早期研究就發現, Copilot 的程式碼樣本中約有 40%存在漏洞,凸顯了提高安全意識的必要性。儘管2023 年的一項研究顯示了一些改進,但 Copilot 仍在努力修復漏洞。

解決方案

好消息是,並非沒有解決方法。將 GitHub Copilot 等 AI 工具整合到軟體開發中涉及的風險,需要轉變思維方式和採取強有力的策略來解決漏洞,以下就有一些可以在確保安全性的同時,提高工作效率的實用技巧。

  • 嚴格驗證輸入:強制執行嚴格的輸入驗證,特別是對於使用者處理的數據,以防止被利用。設定規則、建立允許清單並在處理前先進行驗證。
  • 安全地管理依賴關係:在整合之前驗證建議庫的安全狀態,以阻止供應鏈攻擊。 利用 OWASP Dependency-Check 或 npmaudit 等工具,進行自動依賴性分析,找出可能存在的安全問題。
  • 定期進行安全評估:定期進行以安全為重點的程式碼審查和測試。 結合靜態和動態分析、軟體構成分析和手動測試,實現全面覆蓋。
  • 逐步進行:在使用AI時要從非關鍵任務開始,例如產生註腳或偵錯,再逐漸增加AI的參與度。
  • 檢查AI的建議:不要盲目接受AI的建議,要根據預期結果批判性地評估。
  • 實驗與改進:測試各種提示並根據 Copilot 的回應改進程式碼。 透過實驗了解其優點和缺點,以獲得更好的結果。
  • 隨時了解情況:不斷教育自己和團隊了解不斷變化的安全威脅和最佳實踐。 與安全社群互動、參加研討會並隨時了解最新趨勢,以有效緩解漏洞。

參考資料:The Hacker News

瀏覽 187 次

覺得不錯的話就分享出去吧!

發佈留言

Back to top button