Cambien urgentemente las claves: un paquete popular de Python distribuía código malicioso disfrazado de parche común

Cambien urgentemente las claves: un paquete popular de Python distribuía código malicioso disfrazado de parche común

Hallaron por casualidad rastros de una intrusión.

image

El popular paquete de Python elementary-data resultó ser un vector para el robo de datos de desarrolladores. La versión maliciosa llegó no solo a PyPI, sino también a la imagen Docker del proyecto, por lo que algunos usuarios podrían haber recibido la compilación infectada como una actualización ordinaria.

El lanzamiento peligroso recibió el número 0.23.3. elementary-data lo utilizan ingenieros de datos y analistas para supervisar los pipelines de dbt, y el número mensual de descargas del paquete en PyPI supera 1,1 millones. El problema fue detectado por un miembro de la comunidad con el apodo crisperik, que informó sobre una publicación sospechosa en GitHub. Tras eso, los desarrolladores publicaron la versión limpia 0.23.4, pero los sistemas que ya habían instalado la compilación infectada podrían seguir en riesgo.

Según StepSecurity, el atacante no comprometió las cuentas de los responsables del proyecto. El ataque se produjo a través de una vulnerabilidad en GitHub Actions: un comentario malicioso en un pull request hizo que el flujo de trabajo ejecutara código shell externo. De este modo el atacante obtuvo GITHUB_TOKEN, creó un commit firmado falso y la etiqueta v0.23.3, y luego lanzó un release legítimo del proyecto.

El mecanismo de lanzamiento compiló y subió el paquete infectado a PyPI, así como la imagen Docker al GitHub Container Registry. Por eso la versión parecía oficial. En su interior había un archivo elementary.pth, que se ejecutaba automáticamente y descargaba un extractor de secretos.

El código malicioso buscaba claves SSH, credenciales Git, claves en la nube de AWS, GCP y Azure, secretos de Kubernetes, Docker y CI, archivos .env, tokens de desarrolladores, datos del sistema y monederos de Bitcoin, Litecoin, Dogecoin, Zcash, Dash, Monero y Ripple.

StepSecurity advirtió que los sistemas sin versiones fijadas estrictamente podrían haber recibido automáticamente la compilación infectada. A los usuarios de elementary-data 0.23.3, así como de las imágenes ghcr.io/elementary-data/elementary:0.23.3 y :latest, se les recomienda reemplazar todos los secretos y restaurar los entornos desde un estado conocido y seguro.