Acerca de GitHub Advisory Database
Agregamos asesorías a la GitHub Advisory Database desde los siguientes orígenes:
- Asesorías de seguridad que se reportan en GitHub
- La base de datos de vulnerabilidades nacional
- La base de datos de advertencias de seguridad de npm
- La base de datos FriendsOfPHP
- La base de datos Go Vulncheck
- La base de datos de asesoramiento de empaquetado de Python
- La base de datos de asesoramiento de Ruby
- La base de datos de asesoramiento de RustSec
- Aportaciones de la comunidad. Para más información, vea https://github.com/github/advisory-database/pulls.
Si conoce otra base de datos de la que deberíamos importar avisos, háganoslo saber si abre un problema en https://github.com/github/advisory-database.
Los avisos de seguridad se publican como archivos JSON en el formato de vulnerabilidad de código abierto (OSV). Para obtener más información sobre el formato OSV, consulta "Formato de vulnerabilidad de código abierto".
Acerca de los tipos de avisos de seguridad
Cada aviso en GitHub Advisory Database se refiere a una vulnerabilidad en proyectos de código abierto o a software de código abierto malintencionado.
Una vulnerabilidad es un problema en el código de un proyecto que se puede aprovechar para dañar la confidencialidad, la integridad o la disponibilidad del proyecto o de otros proyectos que usan su código. Las vulnerabilidades varían en tipo, severidad y método de ataque. Por lo general, las vulnerabilidades en el código se introducen por accidente y se corrigen poco después de su detección. Debes actualizar el código para usar la versión corregida de la dependencia en cuanto esté disponible.
Por el contrario, el software malintencionado o malware es código diseñado intencionalmente para que lleve a cabo funciones dañinas o no deseadas. El malware puede estar dirigido a hardware, software, datos confidenciales o usuarios de cualquier aplicación que utilice el malware. Debes quitar el malware del proyecto y buscar un reemplazo alternativo más seguro para la dependencia.
Avisos revisados por GitHub
Las advertencias revisadas por GitHub son vulnerabilidades de seguridad que se asignaron a paquetes en ecosistemas a los que brindamos soporte. Revisamos cuidadosamente la validez de cada aviso y nos aseguramos de que tengan una descripción completa e información tanto del ecosistema como del paquete.
Por lo general, asignamos a los ecosistemas compatibles un nombre en función del registro de paquetes asociado del lenguaje de programación de software. Revisamos los avisos si corresponden a una vulnerabilidad de un paquete proveniente de un registro compatible.
- Composer (registro: https://packagist.org/)
- Erlang (registro: https://hex.pm/)
- Go (registro: https://pkg.go.dev/)
- Acciones de GitHub (https://github.com/marketplace?type=actions/)
- Maven (registro: https://repo.maven.apache.org/maven2)
- Npm (registro: https://www.npmjs.com/)
- NuGet (registro: https://www.nuget.org/)
- Pip (registro: https://pypi.org/)
- Pub (registro: https://pub.dev/packages/registry)
- RubyGems (registro: https://rubygems.org/)
- Rust (registro: https://crates.io/)
- Swift (registro: N/D)
Si tienes alguna sugerencia sobre un ecosistema nuevo para el que deberíamos brindar soporte técnico, abre una incidencia para analizarla.
Si habilita las Dependabot alerts para repositorios, recibirá una notificación automática cuando una advertencia nueva revisada por GitHub informe de una vulnerabilidad en un paquete del que dependa. Para obtener más información, vea «Acerca de las alertas Dependabot».
Avisos sin revisar
Las asesorías sin revisar son vulnerabilidades de seguridad que publicamos automáticamente en la GitHub Advisory Database, directamente desde la fuente de la Base de Datos Nacional de Vulnerabilidades.
El Dependabot no crea Dependabot alerts para las asesorías sin revisar, ya que este tipo de asesoría no se revisa en su validez o finalización.
Advertencias de software malicioso
Las advertencias de software malicioso se relacionan con vulnerabilidades causadas por software malicioso y son avisos de seguridad que GitHub publica automáticamente en GitHub Advisory Database, directamente desde la información proporcionada por el equipo de seguridad de npm. Las advertencias de software malicioso son exclusivas del ecosistema de npm. GitHub no edita ni acepta contribuciones de la comunidad en estas advertencias.
Dependabot no genera alertas cuando se detecta software malicioso, ya que la mayoría de vulnerabilidades no pueden ser resueltas por usuarios de nivel inferior. Puede ver advertencias de software malicioso buscando type:malware
en los GitHub Advisory Database.
Nuestras advertencias de software malicioso son principalmente sobre ataques de sustitución. Durante este tipo de ataque, un atacante publica un paquete en el registro público con el mismo nombre que una dependencia de la que dependen los usuarios de un registro privado o de terceros, con la esperanza de que se consuma la versión maliciosa. Dependabot no examina las configuraciones del proyecto para determinar si los paquetes proceden de un registro privado, por lo que no estamos seguros de si usa la versión maliciosa o una versión no maliciosa. Los usuarios con sus dependencias enfocadas de manera adecuada no deben verse afectados por el software malicioso.
Acerca de la información en los avisos de seguridad
En esta sección, puede encontrar información más detallada sobre atributos de datos específicos en la GitHub Advisory Database.
Acerca de los identificadores GHSA
Cada aviso de seguridad, independientemente de su tipo, tiene un identificador único denominado identificador GHSA. Se asigna un calificador GHSA-ID
cuando se crea un nuevo aviso en GitHub o se agrega a GitHub Advisory Database desde cualquiera de los orígenes admitidos.
La sintaxis de los identificadores GHSA sigue este formato: GHSA-xxxx-xxxx-xxxx
donde:
x
es una letra o un número del siguiente conjunto:23456789cfghjmpqrvwx
.- Fuera de la parte
GHSA
del nombre:- Los números y letras se asignan aleatoriamente.
- Todas las letras son minúsculas.
Puedes validar un identificador GHSA mediante una expresión regular.
/GHSA(-[23456789cfghjmpqrvwx]{4}){3}/
/GHSA(-[23456789cfghjmpqrvwx]{4}){3}/
Acerca de los niveles de CVSS
GitHub Advisory Database admiten CVSS versión 3.1 y CVSS versión 4.0.
Cada aviso de seguridad contiene información sobre la vulnerabilidad o el malware, la que puede incluir la descripción, la gravedad, el paquete afectado, el ecosistema del paquete, las versiones afectadas y las versiones a las que se aplicaron revisiones, el impacto e información opcional como referencias, soluciones alternativas y créditos. Adicionalmente, las asesorías de la National Vulnerability Database contiene un enlace al registro de CVE, en donde puedes leer más sobre los detalles de la vulnerabilidad, su puntuación de CVSS y su nivel de severidad cualitativo. Para obtener más información, vea la "Base de datos nacional de vulnerabilidades" del Instituto Nacional de Estándares y Tecnología.
El nivel de gravedad es uno de los cuatro niveles posibles definidos en el "Sistema común de puntuación de vulnerabilidades (CVSS), sección 5".
- Bajo
- Medio/Moderado
- Alto
- Crítico
La GitHub Advisory Database utiliza los niveles del CVSS tal como se describen anteriormente. Si GitHub obtiene un CVE, GitHub Advisory Database usan la versión de CVSS asignada por el encargado de mantenimiento, que puede ser la versión 3.1 o 4.0. Si se importa el CVE, GitHub Advisory Database será compatible con las versiones 4.0, 3.1 y 3.0. de CVSS.
También puede unir GitHub Security Lab para examinar temas relacionados con la seguridad y colaborar en herramientas y proyectos de seguridad.
Acerca de las puntuaciones de EPSS
El sistema de puntuación de predicción de vulnerabilidades o EPSS es un sistema diseñado por el foro global de respuesta a incidentes y equipos de seguridad (FIRST) para cuantificar la probabilidad de vulnerabilidad. El modelo genera una puntuación de probabilidad entre 0 y 1 (0 y 100 %), donde cuanto mayor sea la puntuación, mayor será la probabilidad de que se aproveche una vulnerabilidad. Para obtener más información sobre FIRST, consulte https://www.first.org/.
GitHub Advisory Database incluye puntuaciones de EPSS de FIRST para advertencias que contienen CVE con los datos EPSS correspondientes. GitHub también muestra el percentil de puntuación de EPSS, que es la proporción de todas las vulnerabilidades puntuadas con la misma o menor puntuación de EPSS.
Por ejemplo, si una advertencia tenía una puntuación de EPSS que tenía un porcentaje del 90,534 % en el percentil 95, según el modelo de EPSS, esto significa que:
- Hay un 90,534 % de probabilidad de que esta vulnerabilidad se aproveche libremente en los próximos 30 días.
- El 95 % de las vulnerabilidades modeladas totales se consideran menos probables que se aprovechen en los próximos 30 días que esta vulnerabilidad.
Puede encontrar amplia información sobre cómo interpretar estos datos en la Guía del usuario EPSS de FIRST. Esta información le ayuda a comprender cómo se puede usar tanto el porcentaje como el percentil para interpretar la probabilidad de que se pueda aprovechar una vulnerabilidad libremente según el modelo de FIRST. Para obtener más información, consulte la Guía de usuario de EPSS de FIRST en el sitio web de FIRST.
FIRST también proporciona información adicional sobre la distribución de sus datos EPSS. Para obtener más información, consulte la documentación de datos y estadísticas de EPSS en el sitio web de FIRST.
Note
GitHub mantiene actualizados los datos de EPSS con una acción de sincronización diaria. Aunque los porcentajes de puntuación de EPSS siempre se sincronizarán completamente, los percentiles de puntuación solo se actualizarán cuando sean significativamente diferentes.
En GitHub, no creamos estos datos, sino que los originamos desde FIRST, lo que significa que estos datos no se pueden editar en las contribuciones de la comunidad.
Información adicional
- "Acerca de las alertas Dependabot"
- La definición del programa CVE de "vulnerabilidad"