GitHub Copilot易受攻擊 專家提供解決方案
編譯/黃竣凱
隨著越來越依賴人工智慧 (AI)完成各種任務,安全隱患也變得越來越嚴重。程式碼安全培訓公司Cydrill就指出,透過AI程式設計助手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
瀏覽 578 次