Supply Chain

Hades: el gusano que envenena tus configuraciones de IA

Hades es un gusano que roba credenciales y se autopropaga a través de paquetes de PyPI y npm. Lo que lo distingue: reescribe los archivos de configuración de los asistentes de IA para lograr persistencia - y planta inyecciones de prompt para engañar a las propias herramientas de IA que la gente usa para analizarlo.

~7 min de lectura · Supply Chain

Cómo se propaga Hades

Hades forma parte de la campaña de cadena de suministro Miasma, una oleada que envenenó aproximadamente 30 paquetes de PyPI (37 artefactos wheel maliciosos) en los ecosistemas de Python científico y bioinformática. Cada wheel malicioso incluye un archivo *-setup.pth que Python ejecuta en cada arranque del intérprete, el equivalente en Python al problema del hook de instalación de npm. No se necesita ningún import; el payload se ejecuta antes de que revises el código.

El hook .pth descarga un runtime Bun precompilado en /tmp/b/ y ejecuta un payload JavaScript ofuscado (_index.js), eludiendo los controles del gestor de paquetes y los registros del proxy de red. Los tokens de GitHub y de publicación robados le permiten después republicar más paquetes: autopropagación.

La parte que ataca a los agentes de IA

Hades instala una puerta trasera en los archivos de configuración y reglas de 14 asistentes de IA - Claude, Codex, Gemini, Copilot, Cline, Aider, Tabby, Amazon Q, Cody, Bolt, Continue y más. Planta instrucciones o hooks personalizados (p. ej. bun run bootstrap) en archivos como .cursorrules, .windsurfrules, .github/copilot-instructions.md, .aider.conf.yml y settings.json / mcp.json. La próxima vez que un desarrollador abra el workspace, tu propio agente ejecutará el gusano.

Hades también incrusta inyección de prompt en texto plano dirigida a escáneres de seguridad basados en LLM - literalmente intenta convencer al analista de IA de que no lo marque. A la IA que revisa el gusano se le puede indicar que mire hacia otro lado.

Esto es exactamente envenenamiento de memoria: una infección puntual se convierte en una instrucción permanente que el agente relee en cada ejecución.

¿Está infectado? Qué comprobar

  • Archivos *-setup.pth no reconocidos en tu site-packages de Python.
  • Un marcador /tmp/.bun_ran, un binario Bun en /tmp/b/, o /var/tmp/.gh_update_state.
  • Instrucciones extrañas en configuraciones de IA: .cursorrules, .vscode/tasks.json, ~/.claude/settings.json, mcp.json, .aider.conf.yml.
  • Persistencia: ~/.config/systemd/user/update-monitor.service (Linux) o ~/Library/LaunchAgents/com.user.update-monitor.plist (macOS), más ~/.local/share/updater/update.py.

Los nombres de paquetes reportados en esta oleada incluyen:

# Oleada Hades - no instalar; eliminar si esta presente:
bramin  cmd2func  coolbox  dynamo-release  embiggen  ensmallen
executor-engine  executor-http  funcdesc  gpsea  magique  magique-ai
mflux-streamlit  mrbios  napari-ufish  nhmpy  nucbox  okite
pantheon-agents  pantheon-toolsets  ppkt2synergy  pyphetools  rlask
rsquests  spateo-release  synago  tlask  ufish  uprobe

Si le ha afectado: el orden importa

NO rotes tus claves primero. Hades ejecuta un borrador de archivos si detecta que tu token robado fue revocado. Limpia la máquina antes de tocar las credenciales.
  • 1. Aislar - desconecta la máquina de la red.
  • 2. Eliminar la persistencia - borra el archivo *-setup.pth, elimina las instrucciones inyectadas de tus configuraciones de IA y suprime cualquier servicio update-monitor o LaunchAgent.
  • 3. Eliminar el paquete - desinstala el paquete afectado con pip uninstall / npm uninstall.
  • 4. Ahora rotar - solo ahora rota cada clave, token y credencial a los que la máquina pudiera acceder.

Cómo te protege PoisonZero aquí

PoisonZero vigila los archivos de configuración e instrucciones de tu asistente de IA y comprueba cada escritura antes de que surta efecto. El paso de persistencia de Hades (reescribir .cursorrules, settings.json, mcp.json y similares) es exactamente un cambio en un archivo protegido: una edición inofensiva pasa, esta reescritura peligrosa se revierte al último estado limpio con un rastro de auditoría completo, y una que no está clara se te presenta a ti para que decidas.

Para ser claros sobre el alcance: PoisonZero protege el vector de configuración del agente, el paso que convierte una infección puntual en persistencia duradera dentro de tus herramientas de IA. No elimina el paquete malicioso en sí; para eso, siga el orden de limpieza indicado arriba.

La instrucción inyectada nunca sobrevive a la escritura: PoisonZero es fail-closed, así que una reescritura de configuración que no pueda descartar se revierte, en lugar de que tu agente la relea en la siguiente ejecución.
¿Te resultó útil?

Mantén los gusanos fuera de las configuraciones de tu agente.

PoisonZero comprueba cada escritura en tus archivos de configuración y memoria de IA - fail-closed.

Sign me up