CIシステムでのCodeQL code scanningについて
Code scanning は、GitHub リポジトリ内のコードを分析して、セキュリティの脆弱性とコーディング エラーを見つけることができる機能です。 分析によって特定されたすべての問題はGitHub Enterprise Cloudに表示されます。 詳しくは、「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内で生成されたアラートとともに表示されます。
複数の構成を使用してコード スキャンを実行する場合、アラートに複数の分析元が含まれることがあります。 アラートに複数の分析元がある場合、各分析元でのアラートの状態を、[アラート] ページに表示することができます。 詳しくは、「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 など) との互換性がありません。