Viewing the alerts for a repository
Anyone with read permission for a repository can see 代� �扫描 annotations on pull requests. For more information, see "Triaging 代� �扫描 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, the code scanning alerts page is filtered to show alerts for the default branch of the repository only.
-
在 您的 GitHub Enterprise Server 实例 上,导航到仓库的主页面。
-
在仓库名称下,单击 Security(安全)。
-
在左侧边� �中,单击 Code scanning alerts(代� �扫描警报)。
-
在 "代� �扫描" 下,单击要探索的警报。
-
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.
-
Alerts from CodeQL analysis include a description of the problem. Click Show more for guidance on how to fix your code.
For more information, see "About 代� �扫描 alerts."
Filtering 代� �扫描 alerts
You can filter the alerts shown in the 代� �扫描 alerts view. This is useful if there are many alerts as you can focus on a particular type of alert. There are some predefined filters and a range of keywords that you can use to refine the list of alerts displayed.
- To use a predefined filter, click Filters, or a filter shown in the header of the list of alerts, and choose a filter from the drop-down list.
- To use a keyword, either type directly in the filters text box, or:
- Click in the filters text box to show a list of all available filter keywords.
- Click the keyword you want to use and then choose a value from the drop-down list.
The benefit of using keyword filters is that only values with results are shown in the drop-down lists. This makes it easy to avoid setting filters that find no results.
If you enter multiple filters, the view will show alerts matching all these filters. For example, is:closed severity:high branch:main
will only display closed high-severity alerts that are present on the main
branch. The exception is filters relating to refs (ref
, branch
and pr
): is:open branch:main branch:next
will show you open alerts from both the main
branch and the next
branch.
Restricting results to application code only
You can use the "Only alerts in application code" filter or autofilter:true
keyword and value to restrict results to alerts in application code. See "About labels for alerts not in application code" above for more information about the types of code that are not application code.
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 代� �扫描 scheduled to run on pull requests, it's best to raise a pull request with your correction. This will trigger 代� �扫描 analysis of the changes and test that your fix doesn't introduce any new problems. For more information, see "Configuring 代� �扫描" and "Triaging 代� �扫描 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.
You can use the filters to display a subset of alerts and then in turn mark all matching alerts as closed.
Alerts may be fixed in one branch but not in another. You can use the "Branch" filter, on the summary of alerts, to check whether an alert is fixed in a particular 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 代� �扫描 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 代� �扫描 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 代� �扫描 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 代� �扫描 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 代� �扫描 tool runs again without any configuration changes, the alert will be shown again in your analysis results.
To dismiss or delete alerts:
-
在 您的 GitHub Enterprise Server 实例 上,导航到仓库的主页面。
-
在仓库名称下,单击 Security(安全)。
-
在左侧边� �中,单击 Code scanning alerts(代� �扫描警报)。
-
If you have admin permissions for the repository, and you want to delete alerts for this 代� �扫描 tool, select some or all of the check boxes and click Delete.
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.
-
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.
-
Review the alert, then click Dismiss and choose a reason for closing the 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.