Los resultados de la detección de dependencias que reporta GitHub Enterprise Server pueden ser diferentes a aquellos que devuelven otras herramientas. Esto está justificado y es útil el entender cómo GitHub determina las dependencias para tu proyecto.
¿Por qué parece que faltan algunas dependencias?
GitHub genera y muestra los datos de las dependencias de forma diferente a otras herramientas. En consecuencia, si has estado utilizando otra herramienta para identificar dependencias, muy probablemente encuentres resultados diferentes. Considera lo sigueinte:
-
GitHub Advisory Database is one of the data sources that GitHub uses to identify vulnerable dependencies. It's a free, curated database of security advisories for common package ecosystems on GitHub. Esta incluye tanto los datos reportados directamente a GitHub desde GitHub Security Advisories, así como las fuentes oficiales y las comunitarias. GitHub revisa y organiza estos datos para garantizar que la información falsa o inprocesable no se comparta con la comunidad de desarrollo. For more information about advisory data, see "Browsing security advisories in the GitHub Advisory Database" in the GitHub.com documentation.
-
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. For more information, see "About the dependency graph" and "Troubleshooting the dependency graph."
-
Dependabot escanea cualquier subida a la rama predeterminada que contenga un archivo de manifiesto. When a new advisory is added, it scans all existing repositories and generates an alert for each repository that is affected. Las alertas del dependabot are aggregated at the repository level, rather than creating one alert per advisory. Para obtener más información, consulta la sección "Acerca de las Las alertas del dependabot".
-
Dependabot doesn't scan repositories on a schedule, but rather when something changes. For example, a scan is triggered when a new dependency is added (GitHub checks for this on every push), or when a new advisory is added to the database and synchronized to tu instancia de GitHub Enterprise Server. For more information, see "About Las alertas del dependabot."
Do Las alertas del dependabot only relate to insecure dependencies in manifests and lockfiles?
Las Las alertas del dependabot te asesoran sobre las dependencias que debes actualizar, incluyendo aquellas transitivas en donde la versión se puede determinar desde un manifiesto o lockfile.
Verifica; ¿Acaso no se especifica la vulnerabilidad no detectada para un componente en el manifiesto o lockfile del repositorio?
Why don't I get Las alertas del dependabot for some ecosystems?
Las alertas del dependabot are supported for a set of ecosystems where we can provide high-quality, actionable data. Curated advisories in the GitHub Advisory Database, the dependency graph, and Las alertas del dependabot are provided for several ecosystems, including Java’s Maven, JavaScript’s npm and Yarn, .NET’s NuGet, Python’s pip, Ruby's RubyGems, and PHP’s Composer. Seguiremos agregando soporte para más ecosistemas a la larga. Para obtener una vista general de los ecosistemas de paquete que soportamos, consulta la sección "Acerca del gráfico de dependencias".
It's worth noting that security advisories may exist for other ecosystems. The information in an unreviewed security advisory is provided by the maintainers of a particular repository. This data is not curated by GitHub. For more information about advisory data, see "Browsing security advisories in the GitHub Advisory Database" in the GitHub.com documentation.
Verifica: ¿Acaso la vulnerabilidad que no se detectó aplica a algún ecosistema no compatible?
¿Acaso el Dependabot genera alertas para vulnerabilidades que se han conocido por muchos años?
The GitHub Advisory Database was launched in November 2019, and initially back-filled to include advisories for security risks in the supported ecosystems, starting from 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.
Alguna información sobre las vulnerabilidades antiguas se encuentra disponible, especialmente en donde estos CVE se diseminan específicamente, sin embargo, algunas vulnerabilidades no se incluyen en la GitHub Advisory Database. Si hay una vulnerabilidad antigua específica la cual necesites incluir en la base de datos, contacta a tu administrador de sitio.
Verifica: ¿Acaso la vulnerabilidad no detectada tiene una fecha depublicación más antigua de 2017 en la Base de Datos de Vulnerabilidades Nacional?
Por qué la GitHub Advisory Database utiliza un subconjunto de datos de vulnerabilidades publicados?
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.
Ya que Dependabot utiliza datos organizado en la GitHub Advisory Database, la cantidad de alertas podría ser menor, pero las alertas que sí recibas serán exactas y relevantes.