CIシステムでのCodeQL code scanningについて
Code scanning は、GitHub リポジトリ内のコードを分析して、セキュリティの脆弱性とコーディング エラーを見つけることができる機能です。 分析によって特定されたすべての問題はGitHub Enterprise Cloudに表示されます。 詳しくは、「About code scanning with CodeQL」をご覧ください。
CodeQL code scanningをGitHub Enterprise Cloud内で、GitHub Actionsを使って実行できます。 または、サードパーティの継続的インテグレーションや継続的デリバリー/デプロイ (CI/CD) システムを使用している場合は、CodeQL の分析を既存のシステム上で実行し、その結果を GitHub.com にアップロードできます。
CodeQL CLIをサードパーティのシステムに追加して、コードを分析するツールを呼び、SARIFの結果をGitHub Enterprise Cloudにアップロードしてください。 結果のcode scanningアラートは、GitHub Enterprise Cloud内で生成されたアラートとともに表示されます。
複数の構成を使用してコード スキャンを実行すると、1 つ以上の構成によって同じアラートが生成されることがあります。 アラートの発生原因が複数の構成である場合、各構成のアラートの状態を、[アラート] ページで確認することができます。 詳しくは、「Code scanningアラートについて」を参照してください。
注: GitHub Enterprise Cloud の結果の 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.com 上で管理されているパブリック リポジトリ上で無料で使うことができます。また、Advanced Security のライセンスを持つ顧客が所有するプライベート リポジトリでも使うことができます。 詳細については、「GitHub Enterprise Cloud CodeQL の使用条件」および「CodeQL CLI」を参照してください。
- CodeQL CLI は現在、glibc 以外の Linux ディストリビューション ((musl ベースの) Alpine Linux など) との互換性がありません。