Skip to main content

Enterprise Server 3.21 は、現在リリース候補として使用できます。

リポジトリのコード スキャンのアラートの評価

セキュリティ ビューからプロジェクトのコード内の潜在的な脆弱性やエラーに関するアラートを調査し、評価できます。

この機能を使用できるユーザーについて

書き込み アクセスを持つユーザー

リポジトリの読み取りアクセス許可を持つすべてのユーザーは、pull request で code scanning 注釈を確認できます。 詳しくは、「Pull RequestでCode scanningアラートをトリアージする」をご覧ください。

リポジトリのアラートを表示する

** Security ** タブでリポジトリのすべてのアラートの概要を表示するには、書き込みアクセス許可が必要です。

既定では、 code scanning アラート ページがフィルター処理され、リポジトリの既定のブランチのみのアラートが表示されます。

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [ Security ] タブをクリックします。[ Security] タブが表示されない場合は、 ドロップダウン メニューを選択し、[ Security] をクリックします。

  3. 左側のサイドバーで、 [Code scanning] をクリックします。

  4. 必要に応じて、フリー テキスト検索ボックスまたはドロップダウン メニューを使用してアラートをフィルター処理します。 たとえば、アラートの識別に使用されたツールでフィルター処理できます。

    code scanning アラート ページのスクリーンショット。 検索ボックスとフィルターのドロップダウン メニューは、濃いオレンジでアウトラインされています。

  5. [Code scanning] で、調査するアラートをクリックすると、詳しいアラート ページが表示されます。 [アラート] ページのステータスと詳細は、他のブランチにアラートが存在する場合であっても、リポジトリの既定のブランチに対するアラートのステータスを反映するのみです。 既定以外のブランチのアラートの状態は、[アラート] ページの右側にある [影響を受けるブランチ] セクションで確認できます。 既定のブランチにアラートが存在しない場合、アラートの状態は、[in pull request] または [in branch] として、グレー表示されます。 [Development] セクションには、アラートを修正するリンク ブランチと pull request が表示されます。

  6. アラートでデータ フローの問題が強調表示された場合は、必要に応じて [パスの表示] をクリックし、データソースから、それが使用されているシンクまでのパスを表示します。

    code scanningのアラートのスクリーンショット。 [パスの表示] リンクと [その他の表示] リンクは濃いオレンジで囲まれています。

  7. CodeQL分析からのアラートには、問題の説明が含まれます。 コードの修正方法に関するガイダンスについては、 [さらに表示] をクリックします。

  8. 必要に応じて、右側に表示される [Assignees] コントロールを使って、アラートを修正する担当者に割り当てます。「アラートの割り当て」を参照してください。

詳しくは、「Code scanningアラートについて」をご覧ください。

メモ

ツールの状態ページで、分析 code scanning 最後に実行された日時に関する情報を確認できます。 詳しくは、「コード スキャンにツールの状態ページを使用する」をご覧ください。

組織の CodeQL pull request アラートのメトリックの表示

code scanning分析からのCodeQLアラートの場合は、セキュリティの概要を使用して、組織全体で書き込みアクセス権を持つリポジトリのプル要求でCodeQLがどのように実行されているかを確認したり、アクションを実行する必要があるリポジトリを特定したりできます。 詳しくは、「CodeQL プルリクエスト警告メトリクス」をご覧ください。

code scanningアラートのフィルター処理

code scanningアラート ビューに表示されるアラートをフィルター処理できます。 これにより、特定の種類のアラートに集中できるため、数多くのアラートがある場合に便利です。 表示されるアラートの一覧を絞り込むために使用できるいくつかの定義済みのフィルターとさまざまなキーワードがあります。

ドロップダウン リストからキーワードを選ぶか、検索フィールドにキーワードを入力すると、結果が含まれる値のみが表示されます。 結果のないフィルターを設定せずに済みます。

アラート ビューの検索フィールドのスクリーンショット。 フィールドには "branch:dependabot" があり、名前が一致するすべての有効なブランチが表示されます。

複数のフィルターを入力すると、ビューには、これらの _すべて_のフィルターと一致するアラートが表示されます。 たとえば、is:closed severity:high branch:main ブランチに存在する重大度が高い閉じたアラートのみが main で表示されます。 例外は、refs (refbranchpr) に関連するフィルターです。is:open branch:main branch:nextmain ブランチと next ブランチの両方のオープンなアラートが表示されます。

既定ではないブランチでフィルター処理したのと同じアラートが、既定のブランチに存在する場合、そのアラートのアラート ページには、その状態が既定ではないブランチでの状態と競合する場合でも、既定のブランチのアラートの状態のみが反映されることに注意してください。 たとえば、アラートの概要の branch-x の [Open](オープン) リストに表示されるアラートは、そのアラートが既定のブランチで既に修正されている場合、アラート ページに "Fixed"(修正済み) の状態で表示される場合があります。 フィルター処理したブランチのアラートの状態は、アラート ページの右側の [Affected branches](影響を受けるブランチ) セクションで確認できます。

tag フィルターにプレフィックス - を付けると、そのタグを含む結果を除外できます。 たとえば、-tag:style には style タグのないアラートのみが表示されます。

結果をアプリケーション コードのみに制限する

"Only alerts in application code" フィルターまたは autofilter:true キーワードと値を使用して、結果をアプリケーション コード内のアラートに制限できます。 アプリケーション コードではないと自動的にラベル付けされるコードの種類の詳細については、「Code scanningアラートについて」を参照してください。

code scanningアラートの検索

アラートのリストを検索できます。 これは、リポジトリ中に大量のアラートがある場合や、たとえばアラートの正確な名前を知らないような場合に役立ちます。 GitHub は、次の中でフリーテキスト検索を実行します。

  • アラートの名前です。
  • アラート詳細 (これには、折り畳み可能なセクション [詳細を表示] では既定で非表示になる情報も含まれます)
サポートされている検索構文の例結果
単一語検索injectioninjection を含むすべてのアラートが返されます
複数語検索sql injection
sql または injection を含むすべてのアラートが返されます
完全一致検索
(二重引用符を使用)
"sql injection"sql injection をこのとおりに含むすべてのアラートが返されます
OR検索sql OR injection
sql または injection を含むすべてのアラートが返されます
AND検索sql AND injection
sqlinjection の両方の語を含むすべてのアラートが返されます

ヒント

  • 複数語検索はOR検索と等価です。
  • AND 検索により、検索語句がアラート名または詳細の 任意の位置 に任意の順序で見つかった場合に結果が返されます。
  1. GitHub で、リポジトリのメイン ページに移動します。
  2. リポジトリ名の下にある [ Security ] タブをクリックします。[ Security] タブが表示されない場合は、 ドロップダウン メニューを選択し、[ Security] をクリックします。
  3. 左側のサイドバーで、 [Code scanning] をクリックします。
  4. [フィルター] ドロップダウン メニューの右側にあるフリー テキスト検索ボックスに、検索するキーワードを入力します。

アラート ビューの検索フィールドのスクリーンショット。 このフィールドには、定義済みのフィルター "is: open branch:main" と "sql or injection" のフリー テキストが強調表示されています。

  1. Return キーを押します。 アラート一覧には、検索条件に一致する開いている code scanning アラートが含まれます。

code scanning アラートへの応答の監査

code scanning ツールを使用して、GitHub アラートに応答して実行されたアクションを監査できます。 詳しくは、「セキュリティ アラートの監査」をご覧ください。

詳細については、次を参照してください。