注: この機能を使用するには、サイト管理者が code scanning を有効にする必要があります。 詳しくは、「アプライアンス用コードスキャンの構成」を参照してください。
Enterprise の所有者が Enterprise レベルで GitHub Advanced Security (GHAS) ポリシーを設定している場合、code scanning を有効または無効にできない場合があります。 詳しくは、「エンタープライズのコード セキュリティと分析のためのポリシーの適用」を参照してください。
ツールの状態ページについて
ツールの状態ページには、すべての code scanning ツールに関する有用な情報が表示されます。 code scanningが期待どおりに機能しない場合、ツールの状態ページは問題をデバッグするための出発点として適しています。
ツールの状態ページを使用すると、リポジトリ内のファイルが最初にスキャンされたときと最後にスキャンされたとき、およびスキャンがスケジュールされているときに、リポジトリに対してコード スキャン ツールがどの程度うまく機能しているかを確認できます。 CodeQL などの統合ツールについては、スキャンされたファイルの割合や特定のエラー メッセージなど、より詳細な情報を確認することもできます。
また、code scanningツールの構成別に、コードと照合されたルールを確認し、結果の概要をダウンロードすることもできます。
注: ツールの状態ページには、Organization レベルではなくリポジトリ レベルでのツールの動作方法が表示されます。 ツールの状態は、そのツールが構成されているリポジトリの既定のブランチについてのみ表示されます。
リポジトリのツールの状態ページを表示する
各リポジトリのコード スキャン アラート ページには、コード スキャン分析の正常性の概要を示すツール バナーと、設定を調べるためのツールの状態ページへのアクセスが含まれています。
- GitHub で、リポジトリのメイン ページに移動します。
- リポジトリ名の下にある [ セキュリティ] をクリックします。 [セキュリティ] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [セキュリティ] をクリックします。
- 左側のサイドバーで、[ Code scanning をクリックします。
- ツール バナーの [ツールの状態] をクリックします。
ツールの状態ページの使用
ツールの状態ページに、サイドバーで強調表示された 1 つのツールの概要が表示されます。 サイドバーを使用すると、さまざまなツールの概要を表示することができます。
CodeQL などの統合ツールの場合、リポジトリ内で最近スキャンされたすべてのファイルの合計の割合を、プログラミング言語別に整理して表示できます。 CodeQL によってスキャンされたと見なされるファイルについては、「スキャンされるファイルを CodeQL で定義する方法」を参照してください。 また、詳しい言語レポートを CSV 形式でダウンロードすることもできます。 詳しい情報については、「分析されたファイルの詳細をダウンロードする」を参照してください。
使用可能なツールの状態としては、すべての構成が機能している、一部の構成には注意が必要である、一部の構成が機能していないの 3 つがあります。
ツールに関する詳細情報へのアクセス
現在表示されているツールの詳細情報を確認したい場合は、[セットアップの種類] で特定のセットアップを選択できます。
画面の左側にある [構成] で、このセットアップの種類によって実行される各分析の情報と、関連するエラー メッセージを確認できます。 最新の分析実行に関する詳細情報を表示するには、サイドバーで構成を選択します。 コードのそのスキャンで実行された正確なルールと、各ルールによって検出されたアラートの数の詳細をダウンロードできます。 詳しい情報については、「使用されるルールのリストをダウンロードする」を参照してください。
このビューには、エラー メッセージも表示されます。 詳しい情報については、「ツールの状態ページを使用したデバッグ」を参照してください。
スキャンされるファイルを CodeQL で定義する方法
ファイル内のコード行の一部が処理された場合、そのファイルは CodeQL によってスキャンされたとして報告されます。 CodeQL アクションの標準構成を使用している場合、ツールの状態ページに表示されるスキャンされたファイルには、CodeQL で分析できます。 詳細設定を使う場合は、paths
構成プロパティと paths-ignore
構成プロパティを使って、解釈された言語のファイルのうちどれをスキャンするかを定義できます。 詳細については、「CodeQL によるコード スキャンについて」および「コード スキャン用の高度なセットアップのカスタマイズ」を参照してください。
コンパイル済み言語の場合、ツールの状態ページには、自動ビルドまたは手動のビルド手順を実行する前に存在していたファイルが報告されます。 これは、ビルド プロセス中に生成されたファイルがツールの状態ページに表示されないことを意味します。 詳しくは、「コンパイル済み言語の CodeQL コード スキャン」を参照してください。
ツールの状態ページでは、CodeQL によってスキャンされたファイルの割合が、CodeQL でサポートされている言語ごとに計算されます。 この割合は、paths
および paths-ignore
構成プロパティによって除外されたすべてのファイルを考慮します。
分析されたファイルの詳細をダウンロードする
CodeQL などの統合ツールについては、ツールの状態ページから詳しいレポートを CSV 形式でダウンロードできます。 これには、次の情報が示されます。
- 各ファイルのスキャンに使用された構成。
- ファイル パス。
- ファイルのプログラミング言語。
- ファイルの抽出が成功したかどうか。
レポートをダウンロードするには、目的のツールを選択します。 次に、ページの右上にある ボタンをクリックします。
使用されるルールのリストをダウンロードする
code scanning と照合するルールのリストを CSV 形式でダウンロードできます。 これには、次の情報が示されます。
- 使用される構成。
- ルールのソース。
- SARIF 識別子。
- 検出されたアラートの数。
レポートをダウンロードするには、目的の構成を選択します。 次に、ページの右上にある をクリックし、 [使用されるルールのリストのダウンロード] を選択します。
構成の削除
リポジトリの既定のブランチについては、古い構成、重複している構成、不要な構成を削除できます。
構成を削除するには、削除する構成を選択します。 次に、ページの右上にある をクリックし、 [構成の削除] を選びます。 アラートに関する警告を読んだ後、削除を確定するには [削除] ボタンをクリックします。
注: リポジトリの既定ブランチの構成を削除するには ツールの状態ページ だけを使えます。 既定以外のブランチから構成を削除する方法については、「コード スキャン アラートの解決」をご覧ください。
ツールの状態ページを使用したデバッグ
code scanning アラート ページで、分析に問題があることがわかった場合、ツールの状態ページを使用して問題を特定できます。 統合ツールの場合、特定の code scanning ツールに関連する詳細情報セクションで特定のエラー メッセージを確認できます。 これらのエラー メッセージには、ツールが想定どおりに実行されていない可能性がある理由と、実行できるアクションに関する情報が含まれています。 ツールの状態ページのこのセクションにアクセスする方法について詳しくは、「ツールに関する詳細情報へのアクセス」を参照してください。
CodeQL などの統合ツールの場合は、ファイル カバレッジ情報を使用して分析を改善することもできます。 ツールの状態ページ に表示される言語ごとに、次のようになります。
- 言語のスキャン率が高い場合は、コード スキャンで期待どおりにその言語がスキャンされていることが示されます。
- 言語のスキャン率が低い場合は、その言語の CodeQL によって生成された診断出力を調査できます。詳細については、「CodeQL によってスキャンされた行が予想よりも少ない」を参照してください。
- 言語のスキャン率が 0 の場合、リポジトリに CodeQL でサポートされている言語で記述されたソース コードがあるものの、現在は CodeQL では分析されていない可能性があります。 この場合は、これらの追加言語の分析を開始するようにセットアップを更新できます。 詳しくは、「コード スキャン用の高度なセットアップのカスタマイズ」を参照してください。
注: 詳細設定を使って CodeQL を設定してから同じリポジトリに既定の設定を設定した場合、ツールの状態ページ には既定の設定のみが表示されます。
詳細については、「code scanning のトラブルシューティング」および「SARIF アップロードのトラブルシューティング」を参照してください。