Skip to main content

Esta versión de GitHub Enterprise Server se discontinuó el 2026-04-09. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener rendimiento mejorado, seguridad mejorada y nuevas características, actualice a la versión más reciente de GitHub Enterprise Server. Para obtener ayuda con la actualización, póngase en contacto con el soporte técnico de GitHub Enterprise.

Detección de dependencias vulnerables

Si la información de dependencia notificada por GitHub no es la esperada, hay una serie de puntos que se deben tener en cuenta y varias cosas que puede comprobar.

Los resultados de la detección de dependencias que reporta GitHub pueden ser diferentes a aquellos que devuelven otras herramientas. Esto está justificado y es útil entender cómo GitHub determina las dependencias para tu proyecto.

Dependencias que faltan o no se detectan

          GitHub genera y muestra datos de dependencia de forma diferente a otras herramientas. En consecuencia, si has estado utilizando otra herramienta para identificar dependencias, muy probablemente encuentres resultados diferentes. Tenga en cuenta lo siguiente.

* GitHub Advisory Database es uno de los orígenes de datos que GitHub usa para identificar dependencias vulnerables y malware. Es una base de datos gratuita y mantenida de avisos de seguridad para los ecosistemas de paquetes comunes en GitHub. Incluye tanto los datos notificados directamente a GitHub desde GitHub Security Advisories, como también fuentes oficiales y fuentes comunitarias. Esta información es revisada y gestionada por GitHub para asegurarse de que no se comparta con la comunidad de desarrollo información falsa o que no sea útil. Para más información, consulta Exploración de los avisos de seguridad en GitHub Advisory Database.

  • La gráfica de dependencias analiza todos los archivos de manifiesto de paquetes conocidos en un repositorio de usuario. Por ejemplo, para npm analizará el archivo package-lock.json. Construye una gráfica de todas las dependencias del repositorio y de los dependientes públicos. Esto sucede cuando habilitas la gráfica de dependencias y cuando alguien hace cargas a la rama predeterminada, y esto incluye a las confirmaciones que hacen cambios a un formato de manifiesto compatible. Para más información, consulta Sobre el gráfico de dependencias y Solución de problemas del gráfico de dependencias.
  •           Dependabot analiza cualquier inserción a la rama predeterminada que contenga un archivo de manifiesto. Cuando se agrega un aviso nuevo, este examina todos los repositorios existentes y genera una alerta para cada repositorio afectado.               Dependabot alerts se agregan a nivel de repositorio, en lugar de crear una alerta por cada aviso. Para más información, consulta [AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts).
    
  •           Dependabot security updates se activan cuando recibe una alerta sobre una dependencia vulnerable en su repositorio. Siempre que sea posible, Dependabot crea una solicitud de incorporación de cambios en el repositorio para actualizar la dependencia vulnerable a la versión segura mínima posible necesaria para evitar la vulnerabilidad. Para más información, consulta [AUTOTITLE](/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates) y [AUTOTITLE](/code-security/dependabot/troubleshooting-dependabot/troubleshooting-dependabot-errors).
    
    
            Dependabot no examina los repositorios según una programación, sino cuando cambia algo. Por ejemplo, se desencadena un examen cuando se agrega una nueva dependencia (GitHub comprueba esto en cada inserción) o cuando se agrega un nuevo aviso a la base de datos y se sincroniza con GitHub. Para más información, consulta [AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts#detection-of-insecure-dependencies).
    

Ámbito de cobertura de alertas

          Dependabot alerts le aconseja sobre las dependencias que debe actualizar, incluidas las dependencias transitivas, donde la versión se puede determinar desde un manifiesto o un archivo de bloqueo. 
          Dependabot security updates solo sugiera un cambio donde Dependabot pueda "corregir" directamente la dependencia, es decir, cuando se trate de:
  • Dependencias directas declaradas explícitamente en un manifiesto o lockfile

  • Dependencias transitorias declaradas en un archivo de bloqueo

            **Comprobación:** ¿La vulnerabilidad no detectada es para un componente sin especificar en el archivo de manifiesto o bloqueo del repositorio?
    

Ecosistemas no compatibles

          Dependabot alerts son compatibles con un conjunto de ecosistemas en los que podemos proporcionar datos accionables de alta calidad. Los avisos mantenidos en GitHub Advisory Database, el gráfico de dependencias, las actualizaciones de seguridad de y Dependabot alerts se proporcionan para varios ecosistemas, incluidos Maven de Java, npm y Yarn de JavaScript, NuGet de .NET, pip de Python, RubyGems de Ruby y Composer de PHP. Para obtener información general sobre los ecosistemas de paquetes que se admiten para Dependabot alerts, consulte [AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/dependency-graph-supported-package-ecosystems#supported-package-ecosystems).

Cabe destacar que pueden existir avisos de seguridad para otros ecosistemas. La información de los avisos de seguridad sin revisar la proporcionan los mantenedores de un repositorio específico. Estos datos no están gestionados por GitHub. Para más información, consulta Exploración de los avisos de seguridad en GitHub Advisory Database.

          **Comprobación:** ¿La vulnerabilidad no detectada se aplica a un ecosistema no compatible?

Vulnerabilidades históricas

GitHub Advisory Database se lanzó en noviembre de 2019 e, inicialmente, se completó retroactivamente para incluir avisos sobre riesgos de seguridad en los ecosistemas compatibles, comenzando desde 2017. Cuando agregas CVE a la base de datos, priorizamos la organización de CVE nuevos y los CVE que afecten las versiones nuevas del software.

Hay disponible información sobre vulnerabilidades más antiguas, especialmente cuando estas CVC están especialmente extendidas, pero algunas vulnerabilidades antiguas no se incluyen en GitHub Advisory Database. Si hay una vulnerabilidad antigua específica que debe incluir en la base de datos, póngase en contacto con el administrador del sitio.

          **Comprobación:** ¿La vulnerabilidad no detectada tiene una fecha de publicación anterior a 2017 en la Base de datos nacional de vulnerabilidades?

Ámbito de la base de datos de asesoramiento

Algunas herramientas de terceros utilizan datos de CVE sin organizar y no las verificó ni filtró un humano. Esto significa que los CVE con errores de etiquetado o de severidad, o con cualquier problema de calidad, causarán alertas más frecuentes, ruidosas y menos útiles.

Dado que Dependabot utiliza datos mantenidos en GitHub Advisory Database, el volumen de alertas puede ser menor, pero las alertas que reciba serán precisas y relevantes.

Opciones para ignorar dependencias

Puede configurar Dependabot para omitir dependencias específicas en el archivo de configuración, lo que impedirá las actualizaciones de seguridad y versión de esas dependencias. Si solo quieres usar actualizaciones de seguridad, deberás invalidar el comportamiento predeterminado con un archivo de configuración. Para obtener más información sobre cómo evitar que se activen actualizaciones de versiones, consulte Configuración de actualizaciones de seguridad de Dependabot. Para obtener información sobre cómo omitir las dependencias, consulta Omisión de dependencias específicas.

Limitaciones de Monorepo para GitHub Actions versiones

Si el repositorio contiene varios GitHub Actions (por ejemplo, en un monorepo), el formato de etiqueta que usa afecta cómo Dependabot detecta y actualiza las versiones de acciones.

  •         **Separador de guiones (`-`)** (por ejemplo, `@my-action-v0.1.0`):
    

    * Dependabot puede agrupar varias acciones en una sola entrada de dependencia o no detectar nuevas versiones correctamente. Esto ocurre porque Dependabot depende del análisis de etiquetas con barras diagonales para distinguir entre acciones.

  •         **Separador de barra diagonal (`/`)** (por ejemplo, `@my-action/v0.1.0`):
    
    •           Dependabot detecta y actualiza correctamente cada acción de forma independiente, ya que la barra crea una estructura jerárquica de etiquetas que se ajusta a la lógica de análisis de Dependabot.
      
            **Recomendación:** para los repositorios únicos con varias acciones, use el formato `name/version` (barra diagonal) para las etiquetas de acción. Esto garantiza Dependabot que puede analizar correctamente la jerarquía de etiquetas y actualizar las acciones de forma independiente.
      
  • Ejemplo:

    # Recommended: namespaced with slash
    uses: my-org/monorepo/my-action@my-action/v0.1.0
    
    # Not recommended: dash
    uses: my-org/monorepo@my-action-v0.1.0
    

Lectura adicional

  •         [AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)
    
  •         [AUTOTITLE](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts)
    
  •         [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository)
    
  •         [AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/troubleshooting-the-dependency-graph)
    
  •         [AUTOTITLE](/code-security/dependabot/troubleshooting-dependabot/troubleshooting-dependabot-errors)