Skip to main content

Managing code scanning alerts for your repository

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

If you have write permission to a repository you can manage escaneo de código alerts for that repository.

El Escaneo de código está disponible para todos los repositorios públicos en GitHub.com. El Escaneo de código también está disponible para los repositorios privados que pertenecen a organizaciones que utilizan Nube de GitHub Enterprise y tienen una licencia para GitHub Advanced Security. Para obtener más información, consulta "Productos de GitHub".

Viewing the alerts for a repository

Anyone with read permission for a repository can see escaneo de código annotations on pull requests. For more information, see "Triaging escaneo de código 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.

  1. En GitHub.com, visita la página principal del repositorio.

  2. Debajo de tu nombre de repositorio, da clic en Seguridad. Pestaña de seguridad

  3. En la barra lateral izquierda, da clic en alertas de escaneo de código. pestaña de "Alertas de escaneo de código"

  4. Optionally, use the free text search box or the drop-down menus to filter alerts. For example, you can filter by the tool that was used to identify alerts. Filter by tool

  5. Debajo de "Escaneo de código", da clic en la alerta que quisieras explorar. Summary of alerts

     El estado y los detalles en la página de alerta solo reflejan el estado de la misma en la rama predeterminada del repositorio, incluso si dicha alerta existe en otras ramas. Puedes ver el estado de la alerta en ramas que no sean la predeterminada en la sección **Ramas afectadas** a la derecha de la página de alertas. Si una alerta no existe en la rama predeterminada, su estado se mostrará como "en la solicitud de cambios" o "en la rama" y se marcará de color gris.
     ![The "Affected branches" section in an alert](/assets/images/help/repository/code-scanning-affected-branches.png)
    
  6. 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

  7. 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

For more information, see "About escaneo de código alerts."

Note: For escaneo de código analysis with CodeQL, you can see information about the latest run in a header at the top of the list of escaneo de código alerts for the repository.

For example, you can see when the last scan ran, the number of lines of code analyzed compared to the total number of lines of code in your repository, and the total number of alerts that were generated. UI banner

Filtering escaneo de código alerts

You can filter the alerts shown in the escaneo de código 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. Predefined filters
  • To use a keyword, either type directly in the filters text box, or:
    1. Click in the filters text box to show a list of all available filter keywords.
    2. Click the keyword you want to use and then choose a value from the drop-down list. Keyword filters 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.

Toma en cuanta que si filtraste por alertas en una rama diferente a la predeterminada, pero la misma alerta existe en la rama predeterminada, la página de alertas para cualquiera de ellas aún reflejará únicamente el estado de aquella en la rama predeterminada, incluso si el estado entra en conflicto con aquél de una rama diferente a la predeterminada. Por ejemplo, una alerta que se muestra en la lista de "Abiertas" en el resumen de alertas para branch-x podría mostrar un estado de "Corregida" en la página de alertas en caso de que dicha alerta ya esté corregida en la rama predeterminada. Puedes ver el estado de la alerta para la rama que filtraste en la sección de Ramas afectadas a la derecha de la página de alertas.

You can prefix the tag filter with - to exclude results with that tag. For example, -tag:style only shows alerts that do not have the style tag and -tag:experimental will omit all experimental alerts. For more information, see "About escaneo de código alerts."

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.

Searching escaneo de código alerts

You can search the list of alerts. This is useful if there is a large number of alerts in your repository, or if you don't know the exact name for an alert for example. GitHub performs the free text search across:

  • The name of the alert

  • The alert details (this also includes the information hidden from view by default in the Show more collapsible section)

    The alert information used in searches

Supported searchSyntax exampleResults
Single word searchinjectionReturns all the alerts containing the word injection
Multiple word searchsql injectionReturns all the alerts containing sql or injection
Exact match search
(use double quotes)
"sql injection"Returns all the alerts containing the exact phrase sql injection
OR searchsql OR injectionReturns all the alerts containing sql or injection
AND searchsql AND injectionReturns all the alerts containing both words sql and injection

Tips:

  • The multiple word search is equivalent to an OR search.
  • The AND search will return results where the search terms are found anywhere, in any order in the alert name or details.
  1. En GitHub.com, visita la página principal del repositorio.
  2. Debajo de tu nombre de repositorio, da clic en Seguridad. Pestaña de seguridad
  3. En la barra lateral izquierda, da clic en alertas de escaneo de código. pestaña de "Alertas de escaneo de código"
  4. To the right of the Filters drop-down menus, type the keywords to search for in the free text search box. The free text search box
  5. Press return. The alert listing will contain the open escaneo de código alerts matching your search criteria.

Tracking escaneo de código alerts in issues

Nota: El rastreo de las alertas del escaneo de código se encuentra en beta y está sujeto a cambios.

Esta característica es compatible con la ejecución nativa de análisis utilizando GitHub Actions o externamente utilizando infraestructura de IC/DC, así como herramientas del escaneo de código de terceros, pero no de herramientas de rastreo de terceros.

Las alertas del Escaneo de código se integran con listas de tareas en Propuestas de GitHub para facilitarte el priorizar y rastrear alertas con todo tu trabajo de desarrollo. Para obtener más información acerca de los informes de problemas, consulta la sección "Acerca de los informes de problemas".

Para rastrear una alerta de escaneo de código en una propuesta, agrega la URL para la alerta como un elemento de la lista de tareas en la propuesta. Para obtener más información acerca de las listas de tareas, consulta la sección "Acerca de las listas de tareas".

Para obtener más información sobre cómo crear propuestas para rastrear las alertas del escaneo de código, consulta la sección "Rastrear alertas del escaneo de código en propuestas utilizando las listas de tareas".

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 escaneo de código scheduled to run on pull requests, it's best to raise a pull request with your correction. This will trigger escaneo de código analysis of the changes and test that your fix doesn't introduce any new problems. For more information, see "Configuring escaneo de código" and "Triaging escaneo de código 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 free text search or 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.

Filtering alerts by branch

Toma en cuanta que si filtraste por alertas en una rama diferente a la predeterminada, pero la misma alerta existe en la rama predeterminada, la página de alertas para cualquiera de ellas aún reflejará únicamente el estado de aquella en la rama predeterminada, incluso si el estado entra en conflicto con aquél de una rama diferente a la predeterminada. Por ejemplo, una alerta que se muestra en la lista de "Abiertas" en el resumen de alertas para branch-x podría mostrar un estado de "Corregida" en la página de alertas en caso de que dicha alerta ya esté corregida en la rama predeterminada. Puedes ver el estado de la alerta para la rama que filtraste en la sección de Ramas afectadas a la derecha de la página de alertas.

Note: If you run code scanning using multiple configurations, then sometimes an alert will have multiple analysis origins. Unless you run all configurations regularly, you may see alerts that are fixed in one analysis origin but not in another. For more information, see "About analysis origins."

Dismissing alerts

There are two ways of closing an alert. You can fix the problem in the code, or you can dismiss the alert.

Dismissing an alert is a way of closing an alert that you don't think needs to be fixed. Por ejemplo, un error en el código que se utiliza únicamente para hacer pruebas, o cuando el esfuerzo de areglar el error es mayor que el beneficio potencial de mejorar el código. You can dismiss alerts from escaneo de código 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.
  • Optionally, you can comment on a dismissal to record the context of an alert dismissal.
  • Next time escaneo de código runs, the same code won't generate an alert.

To dismiss alerts:

  1. En GitHub.com, visita la página principal del repositorio.

  2. Debajo de tu nombre de repositorio, da clic en Seguridad. Pestaña de seguridad

  3. En la barra lateral izquierda, da clic en alertas de escaneo de código. pestaña de "Alertas de escaneo de código"

  4. 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. Open an alert from the summary list

  5. Review the alert, then click Dismiss alert and choose, or type, a reason for closing the alert. Screenshot of code scanning alert with dropdown to choose dismissal reason emphasized Es importante elegir la razón adecuada del menú desplegable, ya que esto puede afectar si la consulta continuará incluyéndose en los análisis futuros. Opcionalmente, puedes comentar en un rechazo para registrar el contexto del rechazo de una alerta. El comentario de rechazo se agrega a la línea de tiempo de la alerta y puede utilizarse como justificación durante los reportes y auditorías. Puedes recuperar o establecer un comentario utilizando la API de REST del escaneo de código. El comentario se contiene en dismissed_comment para la terminal alerts/{alert_number}. Para obtener más información, consulta la sección "Escaneo de código".

    Si descartas una alerta de CodeQL como consecuencia de un resultado de falso positivo, por ejemplo, porque el código utiliza una biblioteca de sanitización que no es compatible, considera contribuir con el repositorio de CodeQL y mejorar el análisis. Para obtener más información acerca de CodeQL, consulta la sección "Contribuir con 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.

Further reading