Skip to main content
ドキュメントへの更新が頻繁に発行されており、このページの翻訳はまだ行われている場合があります。 最新の情報については、「英語のドキュメント」を参照してください。

CIシステムでのCodeQL Code scanningについて

サード パーティの継続的インテグレーション システムで CodeQL を使ってコードを分析し、結果を GitHub.com にアップロードできます。 結果のcode scanningアラートは、GitHub Enterprise Cloud内で生成されたアラートとともに表示されます。

Code scanning は、GitHub.com のすべてのパブリック リポジトリに使用できます。 Organization によって所有されるプライベート リポジトリで code scanning を使うには、GitHub Advanced Security のライセンスが必要です。 詳細については、「GitHub Advanced Security について」を参照してください。

CIシステムでのCodeQL code scanningについて

Code scanning は、開発者が GitHub リポジトリ内のコードを分析して、セキュリティの脆弱性とコーディングエラーを見つけることができる機能です。 分析によって特定されたすべての問題はGitHub Enterprise Cloudに表示されます。 詳細については、「CodeQL によるcode scanningについて」を参照してください。

CodeQL code scanningをGitHub Enterprise Cloud内で、GitHub Actionsを使って実行できます。 または、サードパーティの継続的インテグレーションや継続的デリバリー/デプロイ (CI/CD) システムを使用している場合は、CodeQL の分析を既存のシステム上で実行し、その結果を GitHub.com にアップロードできます。

CodeQL CLIをサードパーティのシステムに追加して、コードを分析するツールを呼び、SARIFの結果をGitHub Enterprise Cloudにアップロードしてください。 結果のcode scanningアラートは、GitHub Enterprise Cloud内で生成されたアラートとともに表示されます。 詳細については、「CI システムでの CodeQL コード スキャンについて」を参照してください。

複数の構成を使用してコード スキャンを実行する場合、アラートに複数の分析元が含まれることがあります。 アラートに複数の分析元がある場合、各分析元でのアラートの状態を、[アラート] ページに表示することができます。 詳細については、「分析元について」を参照してください。

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