ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

Managing code scanning alerts for your repository

From the security view, you can view, fix, dismiss, or delete alerts for potential vulnerabilities or errors in your project's code.

If you have write permission to a repository you can manage code scanning alerts for that repository.

Code scanning is available if you have a license for GitHub Advanced Security. 詳しい情報については、「GitHub Advanced Security について」を参照してください。

ここには以下の内容があります:

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

You can set up code scanning to check the code in a repository using the default CodeQL analysis, a third-party analysis, or multiple types of analysis. When the analysis is complete, the resulting alerts are displayed alongside each other in the security view of the repository. Results from third-party tools or from custom queries may not include all of the properties that you see for alerts detected by GitHub's default CodeQL analysis. For more information, see "Setting up code scanning for a repository."

By default, code scanning analyzes your code periodically on the default branch and during pull requests. For information about managing alerts on a pull request, see "Triaging code scanning alerts in pull requests."

ノート: SARIFアップロードは、アップロードごとに1000件の結果をサポートしています。 この制限を超えた結果は無視されます。 ツールがあまりに多くの結果を生成する場合、最も重要なルールやクエリに対する結果に焦点を当てるよう、設定を更新すべきです。

About alerts details

Each alert highlights a problem with the code and the name of the tool that identified it. アラートをトリガーしたコード行と、アラートのプロパティ(問題の重要度や性質など)を確認できます。 アラートは、問題が最初に発生したときにも通知します。 For alerts identified by CodeQL analysis, you will also see information on how to fix the problem.

code scanning からのアラートの例

If you set up code scanning using CodeQL, this can also detect data-flow problems in your code. Data-flow analysis finds potential security issues in code, such as: using data insecurely, passing dangerous arguments to functions, and leaking sensitive information.

code scanning がデータフローアラートを報告すると、GitHub はデータがコードを通してどのように移動するかを示します。 Code scanning allows you to identify the areas of your code that leak sensitive information, and that could be the entry point for attacks by malicious users.

Viewing the alerts for a repository

Anyone with read permission for a repository can see code scanning annotations on pull requests. For more information, see "Triaging code scanning alerts in pull requests."

You need write permission to view a summary of all the alerts for a repository on the Security tab. By default, alerts are shown for the default branch.

  1. GitHub Enterprise Serverで、リポジトリのメインページにアクセスしてください。

  2. リポジトリ名の下で Security(セキュリティ)をクリックしてください。 セキュリティのタブ

  3. 左のサイドバーで、Code scanning alerts(コードスキャンニングアラート)をクリックしてください。 "コードスキャンニングアラート"タブ

  4. Under "Code scanning," click the alert you'd like to explore.

    code scanningからのアラートのリスト

  5. Optionally, if the alert highlights a problem with data flow, click Show paths to display the path from the data source to the sink where it's used. The "Show paths" link on an alert

  6. Alerts from CodeQL analysis include a description of the problem. Click Show more for guidance on how to fix your code. Details for an alert

Fixing an alert

Anyone with write permission for a repository can fix an alert by committing a correction to the code. If the repository has code scanning scheduled to run on pull requests, it's best to raise a pull request with your correction. This will trigger code scanning analysis of the changes and test that your fix doesn't introduce any new problems. For more information, see "Configuring code scanning" and "Triaging code scanning alerts in pull requests."

If you have write permission for a repository, you can view fixed alerts by viewing the summary of alerts and clicking Closed. For more information, see "Viewing the alerts for a repository." The "Closed" list shows fixed alerts and alerts that users have dismissed.

Alerts may be fixed in one branch but not in another. You can use the "Branch" drop-down menu, on the summary of alerts, to check whether an alert is fixed in a particular branch.

Filtering alerts by branch

Dismissing or deleting alerts

There are two ways of closing an alert. You can fix the problem in the code, or you can dismiss the alert. Alternatively, if you have admin permissions for the repository, you can delete alerts. Deleting alerts is useful in situations where you have set up a code scanning tool and then decided to remove it, or where you have configured CodeQL analysis with a larger set of queries than you want to continue using, and you've then removed some queries from the tool. In both cases, deleting alerts allows you to clean up your code scanning results. You can delete alerts from the summary list within the Security tab.

Dismissing an alert is a way of closing an alert that you don't think needs to be fixed. たとえば、テストで使われるだけのコードのエラーや、エラーを修正するための労力がコードを改善することによる潜在的な利点よりも大きい場合です。 You can dismiss alerts from code scanning annotations in code, or from the summary list within the Security tab.

When you dismiss an alert:

  • It's dismissed in all branches.
  • The alert is removed from the number of current alerts for your project.
  • The alert is moved to the "Closed" list in the summary of alerts, from where you can reopen it, if required.
  • The reason why you closed the alert is recorded.
  • Next time code scanning runs, the same code won't generate an alert.

When you delete an alert:

  • It's deleted in all branches.
  • The alert is removed from the number of current alerts for your project.
  • It is not added to the "Closed" list in the summary of alerts.
  • If the code that generated the alert stays the same, and the same code scanning tool runs again without any configuration changes, the alert will be shown again in your analysis results.

To dismiss or delete alerts:

  1. GitHub Enterprise Serverで、リポジトリのメインページにアクセスしてください。

  2. リポジトリ名の下で Security(セキュリティ)をクリックしてください。 セキュリティのタブ

  3. 左のサイドバーで、Code scanning alerts(コードスキャンニングアラート)をクリックしてください。 "コードスキャンニングアラート"タブ

  4. If you have admin permissions for the repository, and you want to delete alerts for this code scanning tool, select some or all of the check boxes and click Delete.

    Deleting alerts

    Optionally, you can use the filters to display a subset of alerts and then delete all matching alerts at once. For example, if you have removed a query from CodeQL analysis, you can use the "Rule" filter to list just the alerts for that query and then select and delete all of those alerts.

    Filter alerts by rule

  5. If you want to dismiss an alert, it's important to explore the alert first, so that you can choose the correct dismissal reason. Click the alert you'd like to explore.

    code scanningからのアラートのリスト

  6. Review the alert, then click Dismiss and choose a reason for closing the alert. Choosing a reason for dismissing an alert

    クエリが将来の分析に含まれ続けるかに影響することがあるので、ドロップダウンメニューから適切な理由を選択することは重要です。

    CodeQLのアラートを、たとえばコードがサポートされていないサニタイズのライブラリを使っているといった理由で偽陽性の結果として却下する場合、CodeQLに貢献して分析を改善することを検討してください。 CodeQLに関する詳しい情報については「CodeQLに貢献する」を参照してください。

Dismissing multiple alerts at once

If a project has multiple alerts that you want to dismiss for the same reason, you can bulk dismiss them from the summary of alerts. Typically, you'll want to filter the list and then dismiss all of the matching alerts. For example, you might want to dismiss all of the current alerts in the project that have been tagged for a particular Common Weakness Enumeration (CWE) vulnerability.

参考リンク

Did this doc help you?

Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

OR, learn how to contribute.