利用できるログと診断情報は、リポジトリ中でのcode scanningの利用方法によります。 使用しているcode scanningの種類を確認するには、リポジトリの [セキュリティ] タブで、アラート一覧の [ツール] ドロップダウン メニューを使用します。 このページにアクセスするには、 リポジトリのコード スキャンのアラートの評価 を参照してください。
GitHub
にログインする
code scanningの実行に対する分析と診断情報は、GitHub上のCodeQL分析を使用して見ることができます。
- アラート一覧の上部にあるヘッダーに、最新の分析に関する分析情報が表示されます。 「リポジトリのコード スキャンのアラートの評価」を参照してください。
- 診断情報は GitHub Actions ワークフロー ログに表示され、サマリー メトリクスと抽出診断を提供します。 これらのログにアクセスするには、 GitHub Actionsからのコード スキャン ログの表示 を参照してください。
集計メトリック
サマリのメトリクスには以下が含まれます。
- CodeQLデータベースの作成と抽出前のコードベース中のコードの行数(ベースラインとして使われます)
- 外部ライブラリと自動生成されたファイルを含む、コードから抽出されたCodeQLデータベース中のコードの行数
- 自動生成されたファイルと外部ライブラリを除く、CodeQLデータベース中のコードの行数
ソース コード抽出の診断
抽出診断は分析の間に見られたファイルのみをカバーし、以下のメトリクスを含みます。
- 分析に成功したファイル数
- データベースの作成中に抽出エラーを生成したファイル数
- データベースの作成中に抽出の警告を生成したファイル数
デバッグ ログを有効にすると、データベースの作成時に発生した CodeQL 抽出子のエラーと警告に関する詳しい情報を確認できます。 「ログの詳細が十分ではありません」を参照してください。
これらの手順に従ってください:
プライベート パッケージ レジストリの診断情報
Code scanning の既定のセットアップ ワークフローには、Setup proxy for registries ステップが含まれます。 既定のセットアップのワークフロー実行を確認する場合は、この手順を展開して対応するログを表示できます。 これには、分析で使用できたプライベート パッケージ レジストリ構成に関する情報が含まれます。 さらに、ログには、code scanning の既定のセットアップによってプライベート パッケージ レジストリが正常に使用されていない場合に、トラブルシューティングをサポートする診断情報が含まれています。 次のメッセージを探します。
-
`Using registries_credentials input.`Organization に対して少なくとも 1 つのプライベート レジストリが構成されています。 これには、code scanning の既定のセットアップではサポートされていないプライベート レジストリの種類の構成が含まれます。 サポートされているレジストリの種類の詳細については、 [AUTOTITLE](/code-security/securing-your-organization/enabling-security-features-in-your-organization/giving-org-access-private-registries#code-scanning-default-setup-access-to-private-registries) を参照してください。 -
Credentials loaded for the following registries:- 次の構成の一覧がない場合は、code scanning の既定のセットアップでサポートされているプライベート レジストリ構成が見つかりませんでした。
- それ以外の場合は、正常に読み込まれたサポートされている構成ごとに 1 行が表示されます。 たとえば、
Type: nuget_feed; Host: undefined; Url: https://nuget.pkg.github.com/; Username: undefined; Password: true; Token: falseを含む行は、プライベート NuGet フィード構成が読み込まれたことを示します。 - ログ内の構成に関する情報は、UI で組織に対して構成されているものと正確に一致しない場合があります。 たとえば、UI で
Passwordが構成されている場合でも、ログはTokenが設定されていることを示している場合があります。
-
`Proxy started on 127.0.0.1:49152` code scanning が既定のセットアップで使用する認証プロキシは、構成済みのプライベートパッケージレジストリへの認証を無事に開始しました。 -
その後、接続テストの結果に関するメッセージが表示され、認証プロキシを介して構成されたプライベート パッケージ レジストリに到達しようとします。 ベストエフォート型のプロセスです。 一部のレジストリでこれらのチェックが成功しない場合、必ずしも関連する構成が機能していないというわけではありません。 ただし、code scanning の既定のセットアップが、分析中にプライベート レジストリの依存関係に正常にアクセスできない場合は、問題のトラブルシューティングに役立つ情報が提供される可能性があります。
`Setup proxy for registries` ステップからの出力が想定どおりであっても、code scanning の既定のセットアップがプライベート レジストリの依存関係に正常にアクセスできない場合は、追加のトラブルシューティング情報を取得できます。 「[AUTOTITLE](/code-security/how-tos/scan-code-for-vulnerabilities/troubleshooting/troubleshooting-analysis-errors/logs-not-detailed-enough#creating-codeql-debugging-artifacts-for-codeql-default-setup)」を参照してください。
code scanning のプライベート レジストリへの既定のセットアップ アクセス権の付与の詳細については、「セキュリティ機能にプライベート レジストリへのアクセスを許可する」を参照してください。
CodeQL CLI のログ
GitHubの外部でCodeQL CLIを使っているなら、診断情報はデータベース分析の間に生成された出力中に示されます。 この情報は、SARIF 結果ファイルにも含まれます。
VS Code
にログインする
進行状況とエラー メッセージは、Visual Studio Code ワークスペースの右下隅に通知として表示されます。 これらは、[出力] ウィンドウのより詳細なログとエラー メッセージにリンクされています。
CodeQL 拡張機能、言語サーバー、クエリサーバー、テストのそれぞれのログにアクセスできます。 Language Server ログには、CodeQL 言語のメンテナー向けの、より詳細なデバッグログが含まれています。 これらは、バグ報告の詳細を提供する場合にのみ必要です。
これらのログにアクセスするには、 Visual Studio Code で CodeQL のログにアクセスする方法 を参照してください。