GitHub推出全新AI功能,可用于自動修複代碼漏洞

FreeBuf 2024-03-21 13:49:15

近日,GitHub 推出了一項新的 AI 功能,能夠有效提升編碼時的漏洞修複速度。目前該功能已進入公開測試階段,並在 GitHub 高級安全(GHAS)客戶的所有私有軟件源中自動啓用。

該功能名爲代碼掃描自動修複,可利用 Copilot 與 CodeQL(注:CodeQL 是 GitHub 開發的代碼分析引擎,用于自動執行安全檢查)發現你的代碼中可能存在漏洞或錯誤,並且對其進行分類和確定修複的優先級。可幫助處理 JavaScript、Typescript、Java 和 Python 中超過 90% 的警報類型。

值得一提的是,“代碼掃描”需要消耗 GitHub Actions 的分鍾數。

據介紹,“代碼掃描”還可防止開發者引入新問題,還支持在特定日期和時間進行掃描,或在存儲庫中發生特定事件(例如推送)時觸發掃描。

如果 AI 發現你的代碼中可能存在漏洞或錯誤,GitHub 就會在倉庫中進行告警,並在用戶修複觸發警報的代碼之後取消告警。

要監控你的倉庫或組織的“代碼掃描”結果,你可以使用 web 挂鈎和 code scanning API。此外,“代碼掃描”也可與輸出靜態分析結果交換格式 (SARIF) 數據的第三方代碼掃描工具互操作。

目前,對“代碼掃描”使用 CodeQL 分析有三種主要方法:

使用默認設置在存儲庫上快速配置對“代碼掃描”的 CodeQL 分析。默認設置自動選擇要分析的語言、要運行的查詢套件和觸發掃描的事件,如果需要也可以手動選擇要運行的查詢套件以及要分析的語言。啓用 CodeQL 後,GitHub Actions 將執行工作流運行以掃描代碼。

使用高級設置將 CodeQL 工作流添加到存儲庫。這會生成一個可自定義的工作流文件,該文件使用 github / codeql-action 運行 CodeQL CLI。

直接在外部 CI 系統中運行 CodeQL CLI 並將結果上傳到 GitHub。

GitHub 的 Pierre Tempel 和 Eric Tooley 表示:出現漏洞時,修複建議將包括對建議修複的自然語言解釋,以及代碼建議的預覽,開發人員可以接受建議、編輯或駁回。該功能提供的代碼建議和解釋可以包括對當前文件、多個文件和當前項目依賴關系的修改。采用這種方法可以大大降低安全團隊每天必須處理的漏洞頻率。

GitHub 承諾,這一 AI 系統可以修複其發現的三分之二以上的漏洞,所以一般來說開發人員無需主動編輯代碼。該公司還承諾,代碼掃描自動修複將覆蓋其支持的語言中超過 90% 的告警類型,目前包括 JavaScript、Typescript、Java 和 Python。該公司計劃在未來幾個月內增加對其他語言的支持,下一步將支持 C# 和 Go。

不過,還需要注意的是,開發人員應始終核實安全問題是否已得到解決,因爲 GitHub 的 AI 功能很可能會建議僅部分解決安全漏洞的修複方法,或無法保留預期的代碼功能。

Tempel和Tooley補充道:代碼掃描自動修複功能使開發人員在編寫代碼時更容易修複漏洞,從而幫助企業減緩這種 "應用程序安全債務 "的增長。

上個月,該公司還爲所有公共源默認啓用了推送保護功能,以防止在推送新代碼時意外暴露訪問令牌和API密鑰等機密。

參考來源:https://www.bleepingcomputer.com/news/security/githubs-new-ai-powered-tool-auto-fixes-vulnerabilities-in-your-code/

0 阅读:16

FreeBuf

簡介:國內頭部網絡安全媒體。