¿Demasiadas alertas de Dependabot? Sigue la ruta hasta la función vulnerable

Dev
Visualizaciones 2

El mismo paquete no implica la misma urgencia: un servicio puede llamar a la función vulnerable al atender una petición y otro instalarlo sin usar esa función. La vista previa pública de análisis de alcanzabilidad de Dependabot, anunciada el 28 de octubre de 2026, muestra esa diferencia.

Del paquete instalado a la ruta de llamadas

Dependabot identifica versiones vulnerables. El nuevo análisis busca un camino desde el código del repositorio hasta la función afectada. Un flujo de Actions gestionado por GitHub usa CodeQL para construir un grafo y contrastarlo con datos revisados de los avisos.

Nuestro código ficticio conecta una API de pedidos con package.parseUnsafe mediante una función auxiliar. Otra entrada solo llama a package.formatLabel y no alcanza el objetivo en ese grafo. No representa una vulnerabilidad real ni una ejecución del analizador de GitHub: explica por qué la lista de paquetes no basta.

Ejemplo JavaScript ficticio propio: pedidos llega a parseUnsafe; etiquetas termina en formatLabel. No es una vulnerabilidad real ni una pantalla oficial.
Ejemplo JavaScript ficticio propio: pedidos llega a parseUnsafe; etiquetas termina en formatLabel. No es una vulnerabilidad real ni una pantalla oficial.

Cuatro dictámenes distintos

Reachable indica al menos una ruta, no que un atacante pueda explotar el fallo. Importan las entradas externas y el entorno de producción. Las cinco rutas de muestra como máximo no son una lista exhaustiva.

Potentially reachable no descarta una llamada y debe priorizarse junto a Reachable. Unreachable significa que el análisis terminó sin encontrar ruta; Reachability unavailable, que no pudo dar un dictamen. No son señales equivalentes y ninguna cierra o descarta alertas automáticamente.

Cambiar el código no cambia inmediatamente el resultado

La activación inicia el primer análisis. Después se repite cada 24 horas mientras haya alertas abiertas. Un push no inicia un análisis inmediato y la vista previa no permite ejecutarlo bajo demanda.

Eliminar hoy la llamada puede dejar visible un Reachable anterior hasta el siguiente análisis. Añadirla puede mantener temporalmente un antiguo Unreachable. La segunda imagen muestra una ejecución real de Python sobre nuestro grafo ficticio. Para una corrección real, hay que relacionar la fecha del análisis con el código evaluado.

Salida real de Python para el grafo ficticio: compara ruta encontrada y ausente. No mide dictámenes de GitHub ni explotabilidad.
Salida real de Python para el grafo ficticio: compara ruta encontrada y ausente. No mide dictámenes de GitHub ni explotabilidad.

Dónde está disponible

La vista previa requiere GitHub Enterprise Cloud, incluida residencia de datos. Admite JavaScript y TypeScript con lockfile de npm, Yarn o pnpm y alertas de Dependabot activadas. No exige licencia GitHub Code Security. Es gratuita, no consume minutos facturados de Actions y no admite runners propios.

Está desactivada por defecto. Se habilita en Settings > Advanced Security o mediante una configuración de seguridad personalizada. Algunos monorepos grandes pueden alcanzar el límite de tres horas o de recursos. La gravedad, EPSS y la exposición en producción siguen contando. La mejora es disponer de más pruebas para ordenar las alertas abiertas.

Fuentes y más información

GitHub Changelog · 2026-10-28

GitHub Docs · Reachability analysis