A principios de este mes se ha publicado en PyPi una nueva herramienta (pip-audit) para auditar los paquetes de Python en búsqueda de vulnerabilidades conocidas. Un proyecto que se ha desarrollado por Trail of Bits con el apoyo de Google. Una buena noticia después de que se hubiese publicado recientemente la existencia de varios paquetes con código maliciosos en PyPI [junio 2021, agosto 2021, noviembre 2021].
Para identificar las vulnerabilidades la herramienta pip-audit accede a la base de datos de PyPI y el servicio OSV. Lo que le permite estar al día de todas las vulnerabilidades conocidas. Pudiendo auditar tanto entornos locales como archivos de requisitos.
El proceso para instalar pip-audit en nuestros sistemas es habitual con los paquetes de PyPI. Solamente es necesario disponer de una versión de Phython 3.6 o posterior y ejecutar el siguiente comando
pip install pip-audit
Una vez hecho esto se podrá auditar los paquetes instalados en el sistema mediante el comando
pip-audit
Una vez finalizado el proceso de auditoría, el cual se puede demorar dependiendo de los paquetes instalados en la instalación de Python, este devolverá el número de vulnerabilidades encontradas y los paquetes en los que se ha encontrado. Puede ser mucho mayor el número de debilidades que el de paquetes debido a que grandes paquetes pueden contener varias. Además de lo anterior, también devuelve una lista con el nombre de los paquetes, la versión instalada, el identificador de la vulnerabilidad y, en el caso de que se hubiese solucionado el problema, la versión o versiones posteriores en las que ya no existe esta.
Una vez identificados los paquetes con vulnerabilidades, salvo que existan incompatibilidades entre nuestro código u otros paquetes con las nuevas versiones, lo aconsejable será actualizar estos para evitar problemas. Para ello será necesario ejecutar pip install seguido del nombre del paquete con la opción --upgrade. Por ejemplo, para actualizar notebook será necesario escribir en la terminal
pip install notebook --upgrade
Lo que actualizará el paquete a la última versión disponible en PyPI. Aunque, si se desea instalar una versión en concreto del paquete también se puede hacer indicando esta de forma explícita
pip install 'notebook==6.1.5' --force-reinstall
Imagen de Michael Gaida en Pixabay
En la era del dato, las organizaciones se enfrentan al reto de gestionar volúmenes masivos…
En la serie Creación de una API REST con Express y TypeScript construimos una API…
Durante la Segunda Guerra Mundial, la Fuerza Aérea de Estados Unidos quería reforzar sus aviones…
En muchas situaciones —ya sea para grabar un tutorial, tomar capturas de pantalla profesionales, probar…
Imagínate en una sala con un grupo de personas, por ejemplo, en una oficina, un…
En el trabajo diario con ordenadores, es común encontrarse con tareas repetitivas: realizar copias de…
This website uses cookies.