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