程式碼掃描和 CodeQL

已完成

根據您想要用於分析和產生警示方式的工具而定,在存放庫中設定程式碼掃描時有幾個不同選項。 三個主要方式包括:

  • 使用預設設定,快速設定 CodeQL 分析,以進行存放庫上的程序碼掃描。 預設設定會自動選擇要分析的語言、要執行的查詢套件,以及可觸發掃描的事件。 如果您想要的話,您可手動選取要執行的查詢套件以及要分析的語言。 啟用 CodeQL 之後,GitHub Actions 會執行工作流程執行來掃描您的程式碼。 如需詳細資訊,請參閱「設定程式碼掃描的預設設定」。
  • 使用進階設定,將 CodeQL 工作流程新增至您的存放庫。 這會產生可自訂的工作流程檔案,該檔案會使用 github/codeql-action 來執行 CodeQL CLI。 如需詳細資訊,請參閱「設定程式碼掃描的進階設定」。
  • 直接在外部 CI 系統中執行 CodeQL CLI,並將結果上傳至 GitHub。 如需詳細資訊,請參閱「搭配現有的 CI 系統使用程式碼掃描」。[2]

我們先前已了解如何開始使用預設設定和組態。 現在,您將瞭解如何使用進階設定來設定程式代碼掃描,以及如何針對多個存放庫執行程式代碼掃描工作流程的大量設定。

使用 GitHub Actions 和 CodeQL 進行程式碼掃描

若要使用進階設定來設定程式碼掃描,請執行下列動作:

  1. 前往存放庫的 [設定] 索引標籤。
  2. 在左側面板中,瀏覽至 [程式碼安全性與分析],按一下[設定] 下拉式清單並選取 [進階]。 啟用程式碼掃描之前,您可能需要啟用 GitHub 進階安全性。
  3. 您會前往具有所產生工作流程檔案的新頁面。 此檔案預設會命名為 codeql.yml,而且是一個可設定的工作流程檔案,而該檔案必須認可至您的存放庫,才能開始執行程式碼掃描。
  4. 若要自訂程式碼掃描掃描程式碼的方式,請編輯工作流程。 一般而言,您可以認可 CodeQL 分析工作流程,而不需要對其進行任何變更。
  5. 使用右上角的 [認可變更...] 按鈕,然後在快顯方塊中鍵入認可訊息。
  6. 選擇您要直接認可至預設分支,或建立新的分支並啟動提取要求。
  7. 按一下 [認可變更]

在預設的 CodeQL 分析工作流程中,程式碼掃描會設定為在每次將變更推送至預設分支或任何受保護的分支,或針對預設分支提出提取要求時分析您的程式碼。 因此,程式碼掃描現在將會開始。

用於程式碼掃描的 on:pull_requeston:push 觸發程序各有不同用途。

大量設定程式碼掃描

您可以使用指令碼,一次在多個存放庫中設定程式碼掃描。 若您想要使用指令碼來引發將 GitHub Actions 工作流程新增至多個存放庫的提取要求,請參閱 jhutchings1/Create-ActionsPRs[3] 存放庫以取得使用 PowerShell 的範例,或參閱 nickliffen/ghas-enablement[4] 以取得使用 NodeJS 的範例。