還在寫Bug?GitHub官方代碼掃描工具上線,免費查找漏洞
在 GitHub 發布項目之前,你可以用免費的官方代碼掃描程序來檢查 Bug 了。

編程很難,難就難在常有 Bug 而不自知。有程序員調侃:「我不是在寫代碼,我是在寫 Bug。」
從現在開始,你在 GitHub 上傳的代碼可以免費使用 Bug 篩查程序了。早發現,早報告,早診斷…… 以及早修復。
去年 9 月,GitHub 收購代碼分析平臺企業 Semmle,宣布將在 GitHub 的開發者工作流程中引入代碼安全性流程。
代碼掃描是 GitHub Advanced Security 計劃中的一部分。今年 5 月的 Github Satellite 2020 大會,GitHub 率先推出了代碼掃描功能的 beta 版,免費提供開源代碼掃描功能。啟用后,將對每個「git push」進行掃描以查找新的潛在安全漏洞,并將結果直接顯示在請求中。
據 GitHub 介紹,在內測階段,有 12000 個存儲庫接受了代碼掃描,掃描次數達到 140 萬次,總共發現了 20000 多個安全問題,包括遠程代碼執行(RCE)、SQL 注入和跨站腳本(XSS)的漏洞。開發者和維護人員在一個月內修復了 72% 的已報告安全問題,比例遠高于業內統計的 32% 的 30 天內修復率。
經過幾個月來眾多開發者的的測試與反饋,九月的最后一天,GitHub 宣布「代碼掃描」正式上線了。

目前,代碼掃描面向公共存儲庫是免費的。此外,面向使用 GitHub Enterprise 團隊,代碼掃描功能是 GitHub Advanced Security 的一部分,能夠幫助團隊更早地查找出項目中的安全漏洞。

代碼掃描功能首先是基于開發者的需求設計的,默認情況下,代碼掃描不會提供過多的建議以免造成干擾,只會在保證安全的原則下運行,讓開發者能夠專注于手頭的任務。
代碼掃描與 GitHub Actions 或用戶現有的 CI / CD 環境集成在一起,為團隊工作提供最大的靈活度。它會在代碼被創建時進行掃描,并拉取請求以及用戶日常使用的其他 GitHub 服務中可操作的安全性審查,使得自動化安全檢查成為工作流的一部分——這樣做的目的是讓漏洞無法進入生產環境。

該功能由目前功能最強大的代碼分析引擎 CodeQL 提供支持。用戶可以使用 GitHub 及社區創建的 2000 多個 CodeQL 查詢,也可以創建自定義查詢來查找和避免新的安全問題。
運行代碼掃描程序可能需要幾分鐘:首先,在 GitHub 上找到存儲庫的主頁,點擊存儲庫名稱的「Security」按鈕。

然后點擊「代碼掃描」右側的「Set up code scanning」:

在「Get started with code scanning」下,在 CodeQL 分析工作流或第三方工作流上單擊「Set up this workflow」。

之后可以自定義代碼掃描,通常可提交 CodeQL 分析工作流,無需對其進行任何更改。但許多第三方工作流程需要其他配置,因此在提交之前還需要讀一下工作流程中的注釋。使用「Start commit」下拉菜單,然后輸入提交信息,并選擇直接提交到默認分支,還是創建一個新分支。

檢查流程運行完畢后,用戶可以查看已識別的所有代碼掃描警報的詳細信息。比如觸發警報的代碼行以及警報的屬性,還有何時首次出現該問題的地方,對于通過 CodeQL 分析確定的警報,還能看到有關如何解決問題的指引。

操作指南全文:https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/enabling-code-scanning-for-a-repository
基于 SARIF 標準,代碼掃描功能是可擴展的,用戶可以將其他靜態應用安全檢查方案加入 GitHub 原生體驗中,比如集成第三方掃描引擎以實現在單個界面查看所有安全檢查的結果,或者通過單個 API 導出多個掃描結果。后續 GitHub 也會發布一些有關擴展功能和合作伙伴生態的信息。
同時,開發者們也會發現,GitHub 正悄悄完善「同性交友平臺」的功能。就在今天,GitHub 還上線了「限制拉取倉庫」、「關閉互動區」等功能。

比如你可以設置某個項目的互動時限,24 小時、3 天、一個月、半年內。這一幕好像有點熟悉……
不知這樣的「朋友圈」,是不是符合程序員們的口味?
參考鏈接:https://github.blog/2020-09-30-