GitHub最近推出了一項 AI 強化的自動修復工具,以協助開發人員修補安全漏洞。這個功能名為「程式碼掃描自動修復」,已經在公開測試階段釋出給所有高級安全客戶使用,旨在提供有針對性的建議,以避免引入新的安全問題。
GitHub的Pierre Tempel和Eric Tooley表示,程式碼掃描自動修復功能由GitHub Copilot和CodeQL驅動,涵蓋了JavaScript、Typescript、Java和Python等超過90%的警報類型,並提供了程式碼建議,顯示了如何修復發現的三分之二以上的漏洞,而這些建議幾乎不需要進行編輯。
這項功能首次在2023年11月預覽,利用了CodeQL、Copilot API和OpenAI GPT-4的結合來生成程式碼建議。這家微軟旗下的子公司還表示,未來還計劃為更多的編程語言增加支持,包括C#和Go。
程式碼掃描自動修復旨在幫助開發人員在編碼時解決漏洞,它通過生成潛在的修復方案以及在發現支持的語言中存在問題時提供自然語言解釋。
公司表示:「程式碼掃描自動修復通過將最佳實踐信息與代碼庫詳細信息和警報相結合,為開發人員提供潛在的修復建議,從而降低了開發者的門檻。」。
儘管如此,開發人員需要評估建議,確定它是否是正確的解決方案,並確保不偏離其預期行為。
GitHub還強調了自動修復程式碼建議目前的限制,使得開發人員在接受建議之前仔細審查變更和依賴項至關重要 -
- 提出的修復方法不是句法正確的程式碼更改
- 提出的修復方法在正確的位置建議句法正確的程式碼但是
- 提出的修復方法是句法有效的但改變了程序的語義
- 提出的修復方法未解決根本原因或引入新的漏洞
- 提出的修復方法僅部分解決了潛在的缺陷
- 提出的不受支持或不安全的依賴項
- 提出任意依賴項,可能導致供應鏈攻擊
公司指出:「該系統對更廣泛的生態系統中發布的依賴項具有不完整的知識。這可能導致建議增加對惡意軟件的新依賴,攻擊者已經以統計上可能的依賴名稱發布。」
這項功能的推出對於開發人員來說無疑是一個重要的利器,有助於加速解決潛在的安全漏洞,提高代碼的品質和可靠性。然而,開發者在使用這項功能時必須謹慎,確保接受的建議不會導致其他問題的產生。
詳情請看:
GitHub Launches AI-Powered Autofix Tool to Assist Devs in Patching Security Flaws