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 など) との互換性がありません。