Dos incidentes recientes en el repositorio PyPI han expuesto vulnerabilidades en la cadena de suministro de software. Atacantes lograron publicar versiones modificadas de paquetes legítimos como PyTorch Lightning e Intercom-client. Estas variantes contenían código oculto diseñado para extraer credenciales de acceso almacenadas en los sistemas de los usuarios, demostrando un riesgo creciente para desarrolladores y empresas que confían en bibliotecas de código abierto.
Cómo los atacantes manipularon paquetes legítimos de PyPI 🔍
Los atacantes emplearon técnicas de typosquatting y dependency confusion para distribuir sus versiones maliciosas. En el caso de PyTorch Lightning, el código dañino se ejecutaba durante la instalación, recolectando variables de entorno y archivos de configuración con credenciales. Para Intercom-client, el malware se activaba al importar el paquete, exfiltrando datos mediante peticiones HTTP a servidores controlados. Ambos casos explotaron la confianza en el ecosistema Python, donde la revisión manual de dependencias sigue siendo un desafío.
La paradoja de instalar confianza ciega en PyPI 🤔
Resulta curioso que los mismos desarrolladores que escriben código para automatizar procesos luego instalen paquetes sin revisar su contenido. Es como comprar un coche usado y no abrir el capó porque el vendedor tiene buena cara. Los atacantes saben que la pereza técnica es un vector de ataque rentable. Mientras tanto, seguimos ejecutando pip install como si fuera un acto de fe, esperando que nadie haya metido un keylogger en la última actualización de una biblioteca para ordenar listas.