Linux Adictos Darkcrizt  

OSV-Scanner, un escáner de vulnerabilidades de la mano de Google

OSV-Scanner

OSV-Scanner funciona como una interfaz para la base de datos OSV.dev

Google dio a conocer hace poco OSV-Scanner, una herramienta que brinda a los desarrolladores de código abierto un fácil acceso para verificar vulnerabilidades sin parchear en el código y las aplicaciones, teniendo en cuenta toda la cadena de dependencias asociadas con el código.

OSV-Scanner permite detectar situaciones en las que una aplicación se vuelve vulnerable debido a problemas en una de las bibliotecas utilizadas como dependencia. En este caso, la biblioteca vulnerable se puede usar indirectamente, es decir invocado a través de otra dependencia.

El año pasado, emprendimos un esfuerzo para mejorar la clasificación de vulnerabilidades para desarrolladores y consumidores de software de código abierto. Esto implicó la publicación del esquema de vulnerabilidad de código abierto (OSV) y el lanzamiento del servicio OSV.dev , la primera base de datos de vulnerabilidad de código abierto distribuida. OSV permite que todos los diferentes ecosistemas de código abierto y bases de datos de vulnerabilidades publiquen y consuman información en un formato simple, preciso y legible por máquina.

Los proyectos de software generalmente se construyen sobre una montaña de dependencias: en lugar de comenzar desde cero, los desarrolladores incorporan bibliotecas de software externas en los proyectos y agregan funcionalidades adicionales. Sin embargo, los paquetes de código abierto a menudo contienen fragmentos de código no documentados que se extraen de otras bibliotecas. Esta práctica crea lo que se conoce como «dependencias transitivas» en el software y significa que puede contener múltiples capas de vulnerabilidad que son difíciles de rastrear manualmente.

Las dependencias transitivas se han convertido en una fuente creciente de riesgo de seguridad de código abierto durante el último año. Un informe reciente de Endor Labs encontró que el 95 % de las vulnerabilidades de código abierto se encuentran en dependencias transitivas o indirectas, y otro informe separado de Sonatype también destacó que las dependencias transitivas representan seis de cada siete vulnerabilidades que afectan al código abierto.

Según Google, la nueva herramienta comenzará con la búsqueda de estas dependencias transitivas mediante el análisis de manifiestos, listas de materiales de software (SBOM) donde estén disponibles y hashes de confirmación. Luego se conectará con la base de datos de vulnerabilidades de código abierto (OSV) para mostrar las vulnerabilidades relevantes.

OSV-Scanner puede escanear automáticamente de forma recursiva un árbol de directorios, identificando proyectos y aplicaciones por la presencia de directorios git (la información sobre vulnerabilidades se determina a través del análisis de hashes de confirmación), archivos SBOM (Software Bill Of Material en formatos SPDX y CycloneDX), manifiestos o bloquear administradores de paquetes de archivos como Yarn, NPM, GEM, PIP y Cargo. También admite escanear el relleno de imágenes de contenedores docker creadas en base a paquetes de los repositorios de Debian.

El OSV-Scanner es el siguiente paso en este esfuerzo, ya que proporciona una interfaz con soporte oficial para la base de datos OSV que conecta la lista de dependencias de un proyecto con las vulnerabilidades que las afectan.

La información sobre vulnerabilidades se toma de la base de datos OSV (vulnerabilidades de código abierto), que cubre información sobre problemas de seguridad en Сrates.io (Rust), Go, Maven, NPM (JavaScript), NuGet (C#), Packagist (PHP), PyPI (Python), RubyGems, Android, Debian y Alpine, así como datos de vulnerabilidad del kernel de Linux e informes de vulnerabilidad del proyecto alojados en GitHub.

La base de datos OSV refleja el estado de corrección del problema, las confirmaciones con la aparición y corrección de la vulnerabilidad, el rango de versiones afectadas por la vulnerabilidad, enlaces al repositorio del proyecto con el código y la notificación del problema. La API proporcionada le permite rastrear la manifestación de una vulnerabilidad a nivel de confirmaciones y etiquetas y analizar la exposición al problema de los productos derivados y las dependencias.

Finalmente cabe mencionar que el código del proyecto está escrito en Go y se distribuye bajo la licencia Apache 2.0. Puedes consultar más detalles al respecto en el siguiente enlace.

Los desarrolladores pueden descargar y probar OSV-Scanner desde el sitio web osv.dev o usar la verificación de vulnerabilidades de OpenSSF Scorecard  para ejecutar automáticamente el escáner en un proyecto de GitHub.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.