Skip to main content

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

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

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

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

リポジトリへの書き込み権限があるユーザなら誰でも、pull request の code scanning アノテーションを表示できます。 詳しくは、「Pull RequestでCode scanningアラートをトリアージする」をご覧ください。

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

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

リポジトリのデフォルトのブランチに対するアラートのみが表示されるように、code scanning アラートのページは、デフォルトでフィルター処理されています。

  1. GitHub で、リポジトリのメイン ページに移動します。1. リポジトリ名の下にある [Security] をクリックします。 [Security] タブが表示されない場合は、 ドロップダウン メニューを選んでから、[Security] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [セキュリティ] タブが濃いオレンジ色の枠線で強調表示されています。
    1. 左側のサイドバーで、 [Code scanning] をクリックします。

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

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

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

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

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

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

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

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

メモ

code scanning 解析の前回の実行日時をツール ステータス ページで確認できます。 詳しくは、「コード スキャンにツールの状態ページを使用する」をご覧ください。

code scanning アラートについて、GitHub Copilot チャット に質問する

GitHub Copilot Enterprise ライセンスを使用すると、Copilot チャット に質問して、組織内のリポジトリにある code scanning アラートを含むセキュリティ アラートについて理解を深めることができます。 詳しくは、「GitHubでGitHub Copilotに関する質問をする」をご覧ください。

組織の CodeQL プル リクエスト アラートのメトリックを表示する

CodeQL 解析からの code scanning アラートの場合、セキュリティの概要を使用して、CodeQL が組織全体に書き込みアクセス権限を持つリポジトリの pull request でどのように実行されているかを確認したり、アクションを実行する必要があるリポジトリを特定したりできます。 詳しくは、「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 で、リポジトリのメイン ページに移動します。1. リポジトリ名の下にある [Security] をクリックします。 [Security] タブが表示されない場合は、 ドロップダウン メニューを選んでから、[Security] をクリックします。
    タブを示すリポジトリ ヘッダーのスクリーンショット。 [セキュリティ] タブが濃いオレンジ色の枠線で強調表示されています。
    1. 左側のサイドバーで、 [Code scanning] をクリックします。
  2.           **[フィルター]** ドロップダウン メニューの右側にあるフリー テキスト検索ボックスに、検索するキーワードを入力します。
    
           ![アラート ビューの検索フィールドのスクリーンショット。 このフィールドには、定義済みのフィルター "is: open branch:main" と "sql or injection" のフリー テキストが強調表示されています。](/assets/images/help/repository/code-scanning-search-alerts.png)
    
  3.        <kbd>Return</kbd> キーを押します。 アラートリストには、検索条件にマッチしたオープンなcode scanningアラートが含まれます。
    

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

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

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

  •         [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/resolving-code-scanning-alerts)
    
  •         [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests)
    
  •         [AUTOTITLE](/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning)
    
  •         [AUTOTITLE](/code-security/code-scanning/integrating-with-code-scanning/about-integration-with-code-scanning)