GitHub 今天為所有 Advanced Security(GHAS)許可用戶推出了全新的“代碼掃描”功能(預覽版),用于搜索 GitHub 代碼中潛在的安全漏洞和編碼錯誤。
這項新功能可利用 Copilot 與 CodeQL(IT之家注:CodeQL 是 GitHub 開發的代碼分析引擎,用于自動執行安全檢查)發現你的代碼中可能存在漏洞或錯誤,并且對其進行分類和確定修復的優先級。值得一提的是,“代碼掃描”需要消耗 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 承諾,這一 AI 系統可以修復其發現的三分之二以上的漏洞,所以一般來說開發人員無需主動編輯代碼。該公司還承諾,代碼掃描自動修復將覆蓋其支持的語言中超過 90% 的告警類型,目前包括 JavaScript、Typescript、Java 和 Python。