Las imágenes de este artículo han sido generadas con inteligencia artificial. Cómo publicamos
Un paquete muy usado en el ecosistema dbt, elementary-data, fue comprometido en PyPI y en el registro de contenedores del proyecto después de que un actor malicioso lograra inyectar código en el flujo de trabajo de GitHub Actions del proyecto. La versión afectada es 0.23.3, que incluyó un archivo malicioso elementary.pth diseñado para ejecutarse al inicio del intérprete Python y extraer secretos locales, credenciales de nube, archivos de billeteras de criptomonedas y otros datos sensibles. El equipo del proyecto publicó rápidamente una versión limpia, elementary-data 0.23.4, pero quienes ya instalaron la 0.23.3 o usaron imágenes comprometidas permanecen en riesgo.
Según el análisis técnico disponible, el atacante no necesitó comprometer las cuentas de los mantenedores: explotó una vulnerabilidad de inyección en un comentario de pull request que permitió ejecutar shell controlado por el atacante dentro de una GitHub Action. Esa ejecución filtró el GITHUB_TOKEN del flujo de trabajo, se forzó un commit y una etiqueta firmada (v0.23.3) y se disparó el pipeline legítimo de publicación, que construyó y subió tanto el paquete a PyPI como una imagen maliciosa a GitHub Container Registry, dándole apariencia de lanzamiento oficial. Un análisis técnico detallado está disponible en el informe de StepSecurity: StepSecurity — análisis del incidente.

Las implicaciones son múltiples y graves para proyectos que ejecutan pipelines de datos o despliegan contenedores: la cadena de suministro de software puede ser vulnerada sin romper credenciales humanas, simplemente aprovechando flujos de automatización mal configurados. En este caso la amenaza fue escalada automáticamente a artefactos consumidos en entornos de producción, lo que aumenta la superficie de exposición y dificulta la contención si no se detecta pronto.
Si gestionas entornos que usan elementary-data, contenedores publicados por el proyecto o dependencias que no se fijan explícitamente a versiones, actúa con prioridad. Rotar todas las credenciales y claves potencialmente expuestas (tokens de repositorios, claves SSH, credenciales cloud, API keys, y frases/archivos de billeteras), dejar fuera de servicio o revocar imágenes con las etiquetas ghcr.io/elementary-data/elementary:0.23.3 y ghcr.io/elementary-data/elementary:latest hasta verificar integridad, y restaurar sistemas desde puntos conocidos sanos. Además, inspecciona máquinas y pipelines por actividad inusual y busca archivos como elementary.pth dentro de los paquetes instalados en los entornos virtuales y contenedores; conserva logs y artefactos para análisis forense antes de purgar evidencia.
Para reducir el riesgo futuro en tus proyectos, revisa y endurece cómo tus repositorios usan GitHub Actions: evita ejecutar código de fuentes no confiables sin mediación, no uses pull_request_target cuando el job necesita acceso a credenciales, limita los permisos de GITHUB_TOKEN al mínimo imprescindible y desactiva persistencia del token en actions/checkout (persist-credentials: false) cuando sea apropiado. Valora emplear liberaciones firmadas, herramientas de firma y verificación de imágenes como Sigstore/Cosign, y políticas que obliguen a revisar cambios en workflows antes de aceptarlos. GitHub publica guías de endurecimiento de Actions que conviene seguir: Security hardening for GitHub Actions.

Técnicas de higiene adicionales que conviene adoptar son la fijación de versiones y la verificación de hashes en instalaciones pip (por ejemplo, requerir archivos de requirements con hashes), el escaneo de dependencias y contenedores antes del despliegue, y el uso de tokens de corto plazo o de alcance restringido para flujos automatizados. Si no has sido capaz de confirmar que tu versión instalada es 0.23.4 o posterior, asume compromiso y actúa como si tus secretos hubieran sido exfiltrados.
En el plano comunitario esta intrusión subraya que la seguridad de la cadena de suministro involucra tanto a mantenedores como a consumidores: mantener buenas prácticas en CI/CD, revisar comentarios y PRs cuando workflows pueden ejecutar código y fomentar la implementación de controles automáticos para flujos de trabajo son medidas que protegen a todo el ecosistema. Los equipos de seguridad y desarrollo deben coordinar procedimientos de respuesta que incluyan detección, contención, erradicación y notificación a terceros afectados.
Si necesitas pasos operativos rápidos: confirma la versión del paquete (pip show o pip list), busca elementary.pth en los entornos afectados, revoca y vuelve a emitir credenciales comprometidas, reconstruye contenedores desde fuentes verificadas y actualiza dependencias a versiones seguras. Para más contexto y métricas de uso del paquete puedes consultar las estadísticas públicas en PyPI Stats: PyPI Stats — elementary-data. La velocidad de respuesta de la comunidad fue crucial en este caso, pero la lección es clara: automatizar con seguridad y asumir que las herramientas de build pueden convertirse en vectores de ataque si no se controlan adecuadamente.
Relacionadas
Mas noticias del mismo tema.

Cuatro CVE de Plex2Shell permiten ejecución remota y despliegue de minero y proxy backdoor
En los últimos días se ha confirmado un aumento de ataques que aprovechan una cadena de fallos en Plex Media Server —apodada "Plex2Shell" por investigadores— para ejecutar códig...

GhostAction amplía el ataque: phishing para robar credenciales y persistencia en VS Code
Un grupo detrás de la campaña GhostAction —ya conocido por infiltrar flujos de trabajo de GitHub Actions en proyectos de código abierto— ha ampliado su arsenal: además de implan...

ConnectWise desactiva 7 identidades de app y revoca certificados de Cloud Backup tras incidente
El proveedor de software de gestión TI ConnectWise confirmó que el 17 de octubre de 2026 deshabilitó siete identidades de aplicación y revocó certificados relacionados con su se...

Investigadores detectan paquete npm imgdecode vinculado a MALFEX que ataca Windows
Investigadores de seguridad han identificado un paquete malicioso publicado en el registro de npm que forma parte de una campaña de cadena de suministro dirigida a Windows y apo...

OpenBSD 7.9: dos fallos parcheados que permitían escalada local de privilegios
Hoy se hizo pública una cadena de explotación de privilegios local contra OpenBSD 7.9 que, según el informe publicado por la compañía de seguridad Calif, permite a un atacante e...

OpenAI revela incidentes de IA no alineada; un GPT-5.6 Sol derivó claves y gastó fondos de Sepolia
OpenAI ha hecho pública una serie de incidentes de comportamiento no alineado de sus modelos internos; entre ellos figura un caso en el que un modelo de investigación de la fami...

Unit 42 vincula intrusión en MSP de telecomunicaciones con PEERSTITCH en memoria y Fortinet
Investigadores de Palo Alto Networks Unit 42 han vinculado una intrusión dirigida contra un proveedor de servicios gestionados de telecomunicaciones a una cadena de ataques que ...