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 Fallo en la acción de GitHub de Claude Code permitía secuestrar repositorios mediante un issue malicioso


Un investigador descubrió una vulnerabilidad en Claude Code de Anthropic que permitía a atacantes tomar el control de repositorios públicos mediante la inyección de prompts en issues de GitHub. El fallo aprovechaba una verificación insuficiente de bots para robar credenciales y ejecutar código malicioso, afectando potencialmente la cadena de suministro. Anthropic ya corrigió el error en la versión 1.0.94 y recomienda actualizar inmediatamente.





Un investigador de seguridad encontró un fallo en la GitHub Action de Claude Code de Anthropic que permitía a un atacante tomar el control de repositorios públicos vulnerables que la estuvieran ejecutando, con tan solo abrir un problema (issue) de GitHub. Debido a que el propio repositorio de la acción de Anthropic utilizaba el mismo flujo de trabajo, un ataque exitoso podría haber insertado código malicioso en la acción misma y en los proyectos derivados que la utilizan.

RyotaK, de GMO Flatt Security, informó el bypass principal a Anthropic en enero, y Anthropic lo solucionó en cuatro días aquí, con más mejoras durante la primavera; los arreglos están en la versión v1.0.94 de claude-code-action. Anthropic calificó el problema con un 7.8 bajo CVSS v4.0 y pagó una recompensa por el bug.

Claude Code GitHub Actions integra a Claude en los flujos de CI/CD para clasificar problemas, poner etiquetas, revisar pull requests o ejecutar comandos de barra. Por defecto, el flujo de trabajo tiene acceso de lectura y escritura al código, problemas, pull requests, discusiones y archivos de flujo de trabajo de un repositorio. Debido a que esos permisos son amplios, se supone que la acción debe ser selectiva sobre quién puede activarla: solo usuarios con acceso de escritura.

La verificación del activador tenía un agujero. Dejaba pasar a cualquier actor cuyo nombre terminara en [bot], bajo la suposición de que las aplicaciones de GitHub son elementos confiables que los administradores instalan. El problema es que cualquiera puede registrar una aplicación de GitHub, instalarla en un repositorio propio y usar su token para abrir un problema o pull request en cualquier repositorio público. La acción veía "a un bot" y permitía el contenido del atacante. El modo de etiquetas tenía una verificación extra para confirmar que el actor era un humano real; el modo agente no la tenía, lo que lo dejaba abierto.

A partir de ahí, el atacante recurre a la inyección indirecta de prompts, el truco de plantar instrucciones dentro del contenido que lee una IA para que el modelo las siga en lugar de su tarea real. RyotaK escribió un problema cuyo cuerpo parecía un mensaje de error, y luego refinó el prompt hasta que Claude se "recuperaba" ejecutando los comandos ocultos en él. El objetivo es /proc/self/environ, el archivo de Linux que contiene las variables de entorno de un proceso, incluyendo los secretos. Claude Code bloquea las lecturas ingenuas, pero RyotaK eludió la protección y logró que Claude escribiera los valores de vuelta en el problema, donde el atacante podía recogerlos.

El premio real en esas variables es el par de credenciales que GitHub Actions utiliza para solicitar un token OIDC, un token firmado que prueba "soy este flujo de trabajo ejecutándose en este repositorio". Claude Code canjea ese token con el backend de Anthropic por un token de instalación de la aplicación Claude GitHub con acceso de escritura. Si robas esas credenciales y replicas el intercambio, obtienes acceso de escritura al código, problemas y flujos de trabajo del objetivo. Si lo diriges al propio repositorio de claude-code-action, podrías envenenar la acción que descargan los proyectos derivados.



RyotaK también señaló una ruta más sencilla que omitía totalmente el truco del bot. El flujo de trabajo de ejemplo de clasificación de problemas de Anthropic venía con allowed_non_write_users: "*", lo que permite que cualquier persona lo active, una configuración que la propia documentación de Anthropic ya marca como riesgosa. Peor aún, Claude publicaba resúmenes de tareas en el panel de resumen visible públicamente de la ejecución del flujo, una forma directa de filtrar datos. Muchos repositorios copiaron ese ejemplo y heredaron el agujero.

También existe una ruta para un atacante que puede editar problemas pero no puede activar a Claude por su cuenta: editar el problema de un usuario confiable después de que se haya disparado el flujo de trabajo, pero antes de que Claude lo lea, y el payload entra como entrada "confiable".

¿qué hacer?



Actualiza a claude-code-action v1.0.94 o posterior. Luego, audita cualquier flujo de trabajo que permita a usuarios sin acceso de escritura, o a bots, activar a Claude: si acepta entradas no confiables, no le proporciones ningún secreto más allá de la clave API de Anthropic y el GITHUB_TOKEN, y elimina las herramientas y permisos que puedan usarse para la exfiltración de datos.

Nada de esto es teórico. La misma configuración (un clasificador de problemas por IA más permisos amplios más inyección de prompts) ya causó un ataque real a la cadena de suministro:

* En febrero, un título de problema con inyección de prompts contra el flujo de trabajo de clasificación de claude-code-action de Cline permitió a los atacantes robar un token de publicación de npm y subir una versión no autorizada de cline@2.3.0. La versión maliciosa solo forzaba la instalación de un agente de IA separado y no malicioso, y fue retirada unas ocho horas después, pero la misma cadena podría haber distribuido malware real a todos los que actualizaran.
* El bot autónomo "HackerBot-Claw" pasó finales de febrero sondeando configuraciones erróneas de GitHub Actions en Microsoft, Datadog, proyectos de CNCF y otros, aunque cuando intentó inyectar un prompt a un revisor basado en Claude a través de un archivo de configuración envenenado, Claude lo detectó y se negó.

No hay señales públicas de que esta ruta exacta, la que envenena la acción de Anthropic, haya sido utilizada contra un objetivo real; RyotaK lo demostró solo en sus propios repositorios de prueba y se encarga de separarlo de las variantes anteriores que sí fueron explotadas.

RyotaK afirma que ha informado ahora de unas 50 formas distintas de evadir el sistema de permisos de Claude Code y ejecutar comandos, parte de una serie constante de fallos de inyección de prompts en agentes de codificación de IA. La inyección de prompts sigue sin resolverse, y un agente con herramientas y tokens reales puede ser empujado hasta donde sus permisos lo permitan.

Fuente:
THN

0 comentarios :

Publicar un comentario

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.