Google lanza un escáner de vulnerabilidades gratuito para desarrolladores de código abierto
Google ha lanzado OSV-Scanner, una herramienta gratuita para que los desarrolladores de código abierto puedan acceder fácilmente a información sobre vulnerabilidades. Se dice que incluye una interfaz con la base de datos OSV que vincula la lista de dependencias de un proyecto con las posibles vulnerabilidades que afectan al proyecto. OSV-Scanner está disponible para Linux, macOS y Windows. También forma parte ahora de la comprobación de vulnerabilidades de OpenSSF Scorecard.
"El OSV-Scanner genera información fiable y de alta calidad sobre vulnerabilidades que cierra la brecha entre la lista de paquetes de un desarrollador y la información de las bases de datos de vulnerabilidades", afirma Rex Pan, ingeniero de software del equipo de seguridad de código abierto de Google, en la entrada del blog.
OSV-Scanner, escrito en el lenguaje de programación Go, está destinado a inspeccionar aplicaciones de código abierto para analizar la seguridad de cualquier dependencia incrustada. Por lo tanto, las bibliotecas de software que se anexan a los proyectos para proporcionar funciones pre-construidos para que los desarrolladores no tienen que volver a crear esas funciones desde cero.
Mientras que Google tiene la intención de transformar OSV-Scanner en una herramienta de gestión de vulnerabilidades por completo mediante una mayor incorporación con los flujos de trabajo de los desarrolladores (a través de acciones independientes de CI), añadiendo características tales como la mitigación automática de vulnerabilidades con pequeños saltos de versión, y mejorando el soporte de vulnerabilidades C/C++. Esto se puede hacer cuando OSV-Scanner se ejecuta en una aplicación, y genera una lista de dependencias directas y transitivas con vulnerabilidades conocidas, que el desarrollador de la aplicación puede entonces abordar especificando versiones seguras de paquetes, si están disponibles y son compatibles.
Es similar a las herramientas específicas de JavaScript como npm audit o Socket, pero es compatible con una gama más amplia de sistemas de empaquetado. Android, crates.io, Debian GNU/Linux, GitHub Actions, Go, Hex, Linux kernel, Maven, npm, NuGet, OSS-Fuzz, Packagist, Pub, PyPI y RubyGems son algunos ejemplos.
Su método de funcionamiento consiste en buscar en los archivos de bloqueo de un proyecto, en las listas de materiales de software (SBOM) y en los directorios git el hash de confirmación más reciente, a continuación enumera las dependencias transitivas y las versiones utilizadas en los proyectos del desarrollador y, por último, compara esa lista con la base de datos Open Source Vulnerability (OSV) (a través de la API OSV.dev).
Las fuentes de este artículo incluyen un artículo en SCMedia.