本文へスキップ
MameTechNews
バックエンド

GitHub、プルリクエストのAI Scanを一般提供 CodeQL対象外も検査

## POINTS

  • PHPやTerraform、DockerfileなどCodeQL対象外の差分を、プルリクエスト上で参考表示する。
  • 発見はマージを止めない。必須の門にするには、別のチェックをルールセット側へ残す。
  • 公開リポジトリはCopilotライセンス不要。非公開はCode SecurityかAdvanced Securityとクレジットが要る。

GitHubは10月15日、コードスキャンのAI Scan for pull requestsを一般提供した。CodeQLの結果に加え、CodeQLが現在カバーしないPHP、Shell/Bash、Terraformの設定(HCL)、Dockerfile、JavaのJSP、C#のBlazorなどを、プルリクエストの差分から探す。

コードスキャンと、リポジトリで有効なAI Scan設定がオンのとき、プルリクエストで自動実行される。結果はConversationとFiles changedにCodeQLと並び、AIの印が付く。リスクの説明と修正案を含められる。ただし発見は参考であり、コードスキャンのチェックを失敗させず、ルールセットでマージを止めることもできない。フォークからのプルリクエストと、Dependabotが作ったプルリクエストでは動かない。

公開リポジトリは、組織所有でも個人所有でも対象で、GitHub Copilotのライセンスは不要だ。非公開と内部の組織リポジトリにはGitHub Code SecurityかGitHub Advanced Securityが要る。課金はCode SecurityのAIクレジットを消費し、エンタープライズの請求画面ではAdvanced Securityとして表示される。SKU単位で予算も設定できる。

CodeQLのクエリが無い言語の差分を、マージ前に人のレビューへ添える用途になる。ブロック条件にはできないので、落とすと危険な指摘は別の必須チェックと組み合わせる。クレジットを使うため、予想外の消費は予算上限で抑える。