注: この機能を使用するには、サイト管理者が の code scanning を有効にする必要があります。 詳しくは、「アプライアンスでの code scanning の構成」をご覧く� さい。
code scanning からのアラートについて
デフォルトの CodeQL 解析、サードパーティーの解析、または複数のタイプの解析を使用して、リポジトリのコードをチェックするため、code scanning をセットアップできます。 解析が完了すると、解析によるアラートがリポジトリのセキュリティビューに隣り合わせで表示されます。 サードパーティツールまたはカスタ� クエリの結果には、GitHub のデフォルト CodeQL 解析により検出されたアラートで表示されるプロパティの一部が含まれていない� �合があります。 詳細については、「リポジトリの code scanning の設定」を参照してく� さい。
デフォルトでは、code scanning はプルリクエスト中にデフォルトブランチのコードを定期的に解析します。 pull request でのアラートの管理については、「pull request で code scanning アラートをトリアージする」を参照してく� さい。
アラートの詳細について
各アラートはコードの問題と、それを特定したツールの名前を表示します。 アラートをトリガーしたコード行と、アラートのプロパティ (アラートの重要度、セキュリティの重要度、問題の性質など) を確認できます。 アラートは、問題が最初に発生したときにも通知します。 CodeQL 解析で特定されたアラートについては、問題を解説する方法についての情� �も表示されます。
CodeQLを使ってcode scanningをセットアップした� �合、コード中のデータフローの問題も見つけることができます。 データフロー解析は、データを安全でない方法で利用する、関数に危険な引数を渡す、機密情� �を漏洩するなど、コードにおける潜在的なセキュリティ問題を検出します。
code scanning がデータフローアラートを� �告すると、GitHub はデータがコードを通してどのように移動するかを示します。 Code scanning を使用すると、機密情� �を漏洩し、悪意のあるユーザによる攻撃の入り口になる可能性があるコードの� �域を特定できます。
重要度について
アラートの重要度レベルは、Error
、Warning
、または Note
です。
pull request のチェックとしてcode scanningが有効化されている� �合、重要度が error
の結果が検出されると、チェックは失敗します。 チェック エラーの原� となる code scanning アラートの重要度レベルを指定できます。 詳しくは、「pull request のチェック エラーの原� になる重要度を定義する」をご覧く� さい。
セキュリティ重要度について
Code scanningは、セキュリティクエリによって生成されたアラートのセキュリティ重要度を表示します。 セキュリティ重大度レベルは、Critical
、High
、Medium
、Low
のいずれかになります。
アラートのセキュリティ重要度の計算には、共通脆弱性評価システ� (CVSS)のデータを使用しています。 CVSSはソフトウェアの脆弱性の性� �と重要度を伝えるためのオープンフレー� ワークで、アラートのスコアリングのために他のセキュリティ製品で広く使われています。 重要度レベルの計算方法の詳細については、こちらのブログ記事を参照してく� さい。
既定では、セキュリティ重要度が Critical
または High
の code scanning の結果があれば、チェックは失敗します。 code scanningの結果でチェックの失敗を引き起こすセキュリティ重要度は指定できます。 詳しくは、「pull request のチェック エラーの原� になる重要度を定義する」をご覧く� さい。
アプリケーションコード中には見つからないアラートのラベルについて
GitHub Enterprise Serverは、アプリケーションコード中に見つからないアラートに対し、カテゴリラベルを割り当てます。 ラベルは、アラートの� �所に関連づけられます。
- [生成済み] : ビルド プロセスによって生成されたコード
- [テスト] : テスト コード
- [ライブラリ] : ライブラリまたはサードパーティのコード
- [ドキュメント] : ドキュメント
Code scanningは、ファイルをファイルパスによって分類します。 手動でソースファイルを分類することはできません。
以下は、ライブラリコード内で生じているとマークされたアラートのcode scanningアラートリストの例です。
アラート ページでは、ファイルパスがライブラリ コードとしてマークされている (Library
ラベル) ことがわかります。