Skip to main content

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2023-01-18. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise にアップグレードします。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせく� さい

Code scanningアラートについて

この記事では、次の� �目が扱われます。

様々な種類のCode scanningアラートと、それぞれのアラートが示す問題の理解に役立つ情� �について学んでく� さい。

Code scanning は、GitHub Enterprise Server の Organization 所有のリポジトリで利用できます。 この機能には、GitHub Advanced Security のライセンスが必要です。 詳細については、「GitHub Advanced Security について」を参照してく� さい。

注: この機能を使用するには、サイト管理者が の code scanning を有効にする必要があります。 詳しくは、「アプライアンスでの code scanning の構成」をご覧く� さい。

code scanning からのアラートについて

デフォルトの CodeQL 解析、サードパーティーの解析、または複数のタイプの解析を使用して、リポジトリのコードをチェックするため、code scanning をセットアップできます。 解析が完了すると、解析によるアラートがリポジトリのセキュリティビューに隣り合わせで表示されます。 サードパーティツールまたはカスタ� クエリの結果には、GitHub のデフォルト CodeQL 解析により検出されたアラートで表示されるプロパティの一部が含まれていない� �合があります。 詳細については、「リポジトリの code scanning の設定」を参照してく� さい。

デフォルトでは、code scanning はプルリクエスト中にデフォルトブランチのコードを定期的に解析します。 pull request でのアラートの管理については、「pull request で code scanning アラートをトリアージする」を参照してく� さい。

アラートの詳細について

各アラートはコードの問題と、それを特定したツールの名前を表示します。 アラートをトリガーしたコード行と、アラートのプロパティ (アラートの重要度、セキュリティの重要度、問題の性質など) を確認できます。 アラートは、問題が最初に発生したときにも通知します。 CodeQL 解析で特定されたアラートについては、問題を解説する方法についての情� �も表示されます。

code scanning からのアラートの例

CodeQLを使ってcode scanningをセットアップした� �合、コード中のデータフローの問題も見つけることができます。 データフロー解析は、データを安全でない方法で利用する、関数に危険な引数を渡す、機密情� �を漏洩するなど、コードにおける潜在的なセキュリティ問題を検出します。

code scanning がデータフローアラートを� �告すると、GitHub はデータがコードを通してどのように移動するかを示します。 Code scanning を使用すると、機密情� �を漏洩し、悪意のあるユーザによる攻撃の入り口になる可能性があるコードの� �域を特定できます。

重要度について

アラートの重要度レベルは、ErrorWarning、または Note です。

pull request のチェックとしてcode scanningが有効化されている� �合、重要度が error の結果が検出されると、チェックは失敗します。 チェック エラーの原� となる code scanning アラートの重要度レベルを指定できます。 詳しくは、「pull request のチェック エラーの原� になる重要度を定義する」をご覧く� さい。

セキュリティ重要度について

Code scanningは、セキュリティクエリによって生成されたアラートのセキュリティ重要度を表示します。 セキュリティ重大度レベルは、CriticalHighMediumLow のいずれかになります。

アラートのセキュリティ重要度の計算には、共通脆弱性評価システ� (CVSS)のデータを使用しています。 CVSSはソフトウェアの脆弱性の性� �と重要度を伝えるためのオープンフレー� ワークで、アラートのスコアリングのために他のセキュリティ製品で広く使われています。 重要度レベルの計算方法の詳細については、こちらのブログ記事を参照してく� さい。

既定では、セキュリティ重要度が Critical または High の code scanning の結果があれば、チェックは失敗します。 code scanningの結果でチェックの失敗を引き起こすセキュリティ重要度は指定できます。 詳しくは、「pull request のチェック エラーの原� になる重要度を定義する」をご覧く� さい。

アプリケーションコード中には見つからないアラートのラベルについて

GitHub Enterprise Serverは、アプリケーションコード中に見つからないアラートに対し、カテゴリラベルを割り当てます。 ラベルは、アラートの� �所に関連づけられます。

  • [生成済み] : ビルド プロセスによって生成されたコード
  • [テスト] : テスト コード
  • [ライブラリ] : ライブラリまたはサードパーティのコード
  • [ドキュメント] : ドキュメント

Code scanningは、ファイルをファイルパスによって分類します。 手動でソースファイルを分類することはできません。

以下は、ライブラリコード内で生じているとマークされたアラートのcode scanningアラートリストの例です。

コード スキャンのライブラリ アラート リスト

アラート ページでは、ファイルパスがライブラリ コードとしてマークされている (Library ラベル) ことがわかります。

コード スキャンのライブラリ アラートの詳細