注: この機能を使うには、サイト管理者が お使いの GitHub Enterprise Server インスタンス の code scanning を有効にする必要があります。 詳しくは、「アプライアンスのコードスキャンを設定する」を参照してください。
Enterprise の所有者が Enterprise レベルで GitHub Advanced Security (GHAS) ポリシーを設定している場合、code scanning を有効または無効にできない場合があります。 詳しくは、「エンタープライズのコード セキュリティと分析のためのポリシーの適用」を参照してください。
CIシステムでのCodeQL code scanningについて
Code scanning は、GitHub リポジトリ内のコードを分析して、セキュリティの脆弱性とコーディング エラーを見つけることができる機能です。 分析によって特定されたすべての問題はGitHub Enterprise Serverに表示されます。 詳しくは、「About code scanning with 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 など) との互換性がありません。