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.
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.
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/)
- 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 (registry: https://pypi.org/)
- pub (registro: https://pub.dev/packages/registry)
- RubyGems (registro: https://rubygems.org/)
- Rust (registro: https://crates.io/)
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.
Acerca de la información en los avisos de seguridad
En esta sección, puedes encontrar información más detallada sobre avisos de seguridad en la GitHub Advisory Database, como:
- Identificadores de avisos y qué formato usan estos identificadores.
- Los niveles de CVSS que se usan para asignar niveles de gravedad.
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.com 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
Cada aviso de seguridad contiene información sobre la vulnerabilidad 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, la GitHub Advisory Database utilizará el CVSS versión 3.1. Si se importa el CVE, la GitHub Advisory Database será compatible tanto con la versión 3.0 como con la 3.1 del CVSS.
También puede unir GitHub Security Lab para examinar temas relacionados con la seguridad y colaborar en herramientas y proyectos de seguridad.
Información adicional
- "Acerca de las alertas Dependabot"
- La definición del programa CVE de "vulnerabilidad"