注: この機能を使うには、サイト管理者が お使いの GitHub Enterprise Server インスタンス の code scanning を有効にする必要があります。 詳しくは、「アプライアンスのコードスキャンを設定する」を参照してください。
CIシステムでのCodeQL code scanningについて
Code scanning は、GitHub リポジトリ内のコードを分析して、セキュリティの脆弱性とコーディング エラーを見つけることができる機能です。 分析によって特定されたすべての問題はGitHub Enterprise Serverに表示されます。 詳しくは、「CodeQL によるコード スキャンについて」をご覧ください。
CodeQL code scanningをGitHub Enterprise Server内で、GitHub Actionsを使って実行できます。 または、サードパーティの継続的インテグレーションや継続的デリバリー/デプロイ (CI/CD) システムを使用している場合は、CodeQL の分析を既存のシステム上で実行し、その結果を お使いの GitHub Enterprise Server インスタンス にアップロードできます。
CodeQL CLIをサードパーティのシステムに追加して、コードを分析するツールを呼び、SARIFの結果をGitHub Enterprise Serverにアップロードしてください。 結果のcode scanningアラートは、GitHub Enterprise Server内で生成されたアラートとともに表示されます。
複数の構成を使用してコード スキャンを実行する場合、アラートに複数の分析元が含まれることがあります。 アラートに複数の分析元がある場合、各分析元でのアラートの状態を、[アラート] ページに表示することができます。 詳しくは、「Code scanningアラートについて」を参照してください。
注: GitHub Enterprise Server の結果の code scanning として表示する SARIF データをアップロードすることは、GitHub Advanced Security が有効にされた組織が所有するリポジトリ。 詳しくは、「リポジトリのセキュリティと分析設定を管理する」を参照してください。
CodeQL CLI について
CodeQL CLIは、コードの分析に利用できるスタンドアローンの製品です。 その主な目的は、コードベースのデータベース表現であるCodeQLデータベースを生成することです。 データベースの準備ができたら、それに対して対話形式でクエリを実行することや、一連のクエリを実行して SARIF 形式で結果セットを生成し、結果を お使いの GitHub Enterprise Server インスタンス にアップロードすることができます。
以下の分析にはCodeQL CLIを使ってください:
- たとえばJavaScriptやPythonのような動的言語。
- コンパイル済みの言語 (C/C++、C#、Java など)。
- 複数言語を組み合わせて書かれたコードベース。
詳しくは、「CIシステムへのCodeQL CLIのインストール」を参照してください。
メモ:
-
CodeQL CLI は、Advanced Security のライセンスを持つ顧客が使うことができます。
-
CodeQL CLI は現在、glibc 以外の Linux ディストリビューション ((musl ベースの) Alpine Linux など) との互換性がありません。