Se ha lanzado una herramienta con el soporte de Google para el escaneo de paquetes en proyectos de Python para detectar si poseen vulnerabilidades conocidas.

Pip-audit es la herramienta que se encarga de auditar los entornos de Python, tanto virtuales como archivos de requisitos (típicamente requirements.txt) en busca de paquetes y versiones con vulnerabilidades conocidas.
Esta herramiente se lanzó hace escasamente unas semanas, habiendo sido la fecha de lanzamiento de su versión 1.0.0 el 1 de Diciembre de 2021. Está desarrollada por el grupo Trail of bits con el soporte de Google (no es un producto oficial de Google).
Sus características actuales son:
- Soporte para auditar entornos locales y archivos de requisitos.
- Soporte para múltiples servicios de vulnerabilidades (PyPI y OSV).
- Soporte para emitir SBOMs en cyclonedX XML o JSON.
- Salidas legibles tanto por humanas como máquinas (en columnas, JSON).
- Reutilización de la caché de pip.
Realiza la consulta de las vulnerabilidades de los paquetes a través de la propia base de datos de PyPI a través de PyPI JSON API y el servicio OSV.
Ejemplo de ejecución en un entorno de Python:
$ pip-audit
Found 2 known vulnerabilities in 1 packages
Name Version ID Fix Versions
---- ------- -------------- ------------
Flask 0.5 PYSEC-2019-179 1.0
Flask 0.5 PYSEC-2018-66 0.12.3
Se obtiene la información de las librerías y la versión que poseen vulnerabilidades conocidas, así como la versión en la que se soluciona esa vulnerabilidad.
Es importante remarcar que pip-audit no es un analizador de código estático, si no que analiza el árbol de dependencias y realiza consultas a las bases de datos de vulnerabilidades para comprobar si la versión de la librería que se está comprobando tiene alguna vulnerabilidad.
Referencias:
Deja una respuesta