Una herramienta Python para análisis de datos que funcionaba medio día se convirtió en malware: robó claves y tokens.

Una herramienta Python para análisis de datos que funcionaba medio día se convirtió en malware: robó claves y tokens.

23 hardware

Un ciberdelincuente publicó una versión maliciosa del paquete elementary-data en PyPI

Un atacante desconocido subió una versión modificada 0.23.3 de la utilidad *elementary-data* – herramienta para el monitoreo de datos – al repositorio PyPI. El paquete malicioso recopilaba y enviaba a un servidor remoto información confidencial: claves SSH, credenciales de AWS, tokens API y también archivos de billeteras de criptomonedas (Bitcoin, Litecoin, Dogecoin, Ethereum). Los datos recopilados se empaquetaban en el archivo `trin.tar.gz` y se entregaban al atacante.

Cómo se obtuvo acceso al repositorio

El atacante aprovechó una vulnerabilidad en uno de los flujos de trabajo de GitHub Actions del proyecto *elementary-data*. Al recibir automáticamente un token `GITHUB_TOKEN`, creó un pull request que reemplazaba el paquete original por la versión maliciosa. Gracias al flujo de trabajo automático, el PR fue aceptado y se publicó la versión infectada.

Tiempo de presencia del paquete malicioso

- 25 de abril, 02:20 (MSK) – el atacante subió la versión maliciosa a PyPI.
- 02:24 – también publicó una imagen Docker contaminada en GitHub Container Registry, ampliando así el espectro de ataques.
- 13:45 del mismo día – los administradores del proyecto eliminaron todos los archivos comprometidos y lanzaron la versión limpia 0.23.4.

Así, el paquete malicioso estuvo disponible para los usuarios durante más de 11 horas, lo que permitió una posible fuga de datos.

Componentes afectados

Los desarrolladores confirmaron que las demás partes del ecosistema – *Elementary dbt*, recursos de Elementary Cloud y otras versiones del proyecto – no se vieron afectadas por el incidente.

Qué hacer los usuarios
1. Elimine la versión infectada 0.23.3 e instale la versión segura 0.23.4.
2. Limpie la caché de paquetes (`pip cache purge` o herramienta equivalente).
3. Elimine el archivo marcador `.trinny-security-update`, si está presente – su existencia indica que se ha ejecutado código malicioso.

Medidas tomadas por los desarrolladores
- Se actualizó el token de publicación PyPI.
- Se revisaron y actualizaron los tokens de GitHub y GitHub Container Registry.
- Se eliminó el flujo de trabajo vulnerable en GitHub Actions; los demás flujos fueron verificados por seguridad.

De esta manera, el equipo *elementary-data* recuperó el control del repositorio y garantizó la protección de los usuarios contra futuras amenazas.

Comentarios (0)

Comparte tu opinión — por favor, sé amable y mantente en el tema.

Aún no hay comentarios. Deja un comentario y comparte tu opinión!

Para dejar un comentario, inicia sesión.

Inicia sesión para comentar