Pip-audit: nueva herramienta para auditar librerías Python

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:

https://github.com/trailofbits/pip-audithttps://pypi.org/project/pip-audit/

La entrada Pip-audit: nueva herramienta para auditar librerías Python se publicó primero en Una al Día.