Skip to main content

CIシステムでのCodeQL Code scanningについて

サード パーティの継続的インテグレーション システムで CodeQL を使ってコードを分析し、結果を GitHub.com にアップロードできます。 結果のcode scanningアラートは、GitHub内で生成されたアラートとともに表示されます。

Code scanning は、GitHub.com のすべてのパブリック リポジトリに使用できます。 Code scanning は、GitHub Enterprise Cloud を使用していて GitHub Advanced Security のライセンスを持つ Organization によって所有されるプライベート リポジトリでも使用できます。 詳しくは、「GitHub Advanced Security について」を参照してください。

CIシステムでのCodeQL code scanningについて

Code scanning は、GitHub リポジトリ内のコードを分析して、セキュリティの脆弱性とコーディング エラーを見つけることができる機能です。 分析によって特定されたすべての問題はGitHubに表示されます。 詳しくは、「About code scanning with CodeQL」をご覧ください。

CodeQL code scanningをGitHub内で、GitHub Actionsを使って実行できます。 または、サードパーティの継続的インテグレーションや継続的デリバリー/デプロイ (CI/CD) システムを使用している場合は、CodeQL の分析を既存のシステム上で実行し、その結果を GitHub.com にアップロードできます。

CodeQL CLIをサードパーティのシステムに追加して、コードを分析するツールを呼び、SARIFの結果をGitHubにアップロードしてください。 結果のcode scanningアラートは、GitHub内で生成されたアラートとともに表示されます。

複数の構成を使用してコード スキャンを実行すると、1 つ以上の構成によって同じアラートが生成されることがあります。 アラートの発生原因が複数の構成である場合、各構成のアラートの状態を、[アラート] ページで確認することができます。 詳しくは、「Code scanningアラートについて」を参照してください。

注: GitHub の結果の code scanning として表示する SARIF データをアップロードすることは、GitHub Advanced Security が有効にされた組織が所有するリポジトリ、および GitHub.com 上のパブリック リポジトリでサポートされます。 詳しくは、「リポジトリのセキュリティと分析設定を管理する」を参照してください。

CodeQL CLI について

CodeQL CLI は、コードの分析に使うことができるスタンドアロンのコマンドライン ツールです。 その主な目的は、コードベースのデータベース表現であるCodeQLデータベースを生成することです。 データベースの準備ができたら、それに対して対話形式でクエリを実行することや、一連のクエリを実行して SARIF 形式で結果セットを生成し、結果を GitHub.com にアップロードすることができます。

以下の分析にはCodeQL CLIを使ってください:

  • たとえばJavaScriptやPythonのような動的言語。
  • コンパイル済みの言語 (C/C++、C#、 Go、Java など)。
  • 複数言語を組み合わせて書かれたコードベース。

詳しくは、「CIシステムへのCodeQL CLIのインストール」を参照してください。

メモ:

  • CodeQL CLI は、パブリック リポジトリ上で無料で使うことができます。 また、GitHub Enterprise Cloud を使い、GitHub Advanced Security のライセンスを持つ組織が所有するプライベート リポジトリでも、CodeQL CLI を使用できます。 詳細については、「GitHub CodeQL の使用条件」および「CodeQL CLI」を参照してください。
  • CodeQL CLI は現在、glibc 以外の Linux ディストリビューション ((musl ベースの) Alpine Linux など) との互換性がありません。