Entremos en el ataque a la cadena de suministro de tj-actions/changed-files. Sigue leyendo para conocer el TL;DR, lo que debes hacer, lo que ocurrió y más información.
TL;DR
- La tj-actions/archivos modificados
GitHub Action, que se utiliza actualmente en más de 23.000 repositorios, se ha visto comprometido, filtrando secretos a través de los registros de flujo de trabajo y afectando a miles de canalizaciones de CI.
- Todas las versiones etiquetadas fueron modificadas, lo que hace que el anclaje basado en etiquetas sea inseguro. Los repositorios públicos son los de mayor riesgo, pero los privados también deben verificar su exposición.
- Las medidas inmediatas incluyen la identificación de los flujos de trabajo afectados, la eliminación de todas las referencias a la acción comprometida, la rotación de secretos y la comprobación de los registros en busca de actividad sospechosa.
Respuesta de Aikido: Hemos lanzado una nueva regla SAST que marca cualquier uso con gravedad crítica (Puntuación 100). Aikido puede marcar automáticamente tus acciones de Github para evitar este tipo de exploits en el futuro.
En primer lugar, ¿qué debe hacer?
Compruebe si le afecta el j-actions/archivos modificados
ataque a la cadena de suministro:
A) Buscar tj-actions
en su código base
B) Utiliza esta consulta de Github para encontrar referencias a la acción de GitHub afectada en los repositorios de tu organización (sustituye [tu-organ] por el nombre de tu organización).
Deje de utilizar tj-actions/archivos modificados
lo antes posible y elimine todas las referencias a la acción comprometida.
Rota los secretos de los pipelines afectados y comprueba los logs de tus servicios (de terceros) en busca de usos sospechosos de los tokens expuestos; céntrate primero en los repos con logs de CI runner de acceso público.
Entremos en el ataque: ¿Qué pasó?
Un incidente de seguridad relacionado con el tj-actions/archivos modificados
GitHub Action se identificó a mediados de marzo de 2025. Los atacantes introdujeron código malicioso que exponía secretos de CI/CD a través de registros de flujos de trabajo. Reportado por primera vez por Step Security, al incidente se le ha asignado CVE-2025-30066.
Aunque sigue sin estar claro qué ocurrió y cómo se distribuyó el código, la mayoría de los informes indican que el atacante comprometió un Token de Acceso Personal (PAT) de GitHub vinculado a la cuenta tj-actions-bot, lo que le permitió realizar modificaciones no autorizadas, inyectar código malicioso y manipular etiquetas de versión.
Cronología de los hechos:
Antes del 14 de marzo de 2025: El código malicioso comenzó a afectar a los repositorios afectados, provocando la filtración de secretos a los registros públicos.
14 de marzo de 2025: Los investigadores de seguridad identificaron el compromiso y aumentaron la concienciación.
15 de marzo de 2025: El script malicioso alojado en GitHub Gist fue eliminado. El repositorio comprometido se desconectó brevemente para revertir los cambios maliciosos y posteriormente se restauró sin los commits dañinos.
15 de marzo de 2025: El repositorio vuelve a estar en línea con una declaración sobre el ataque; el mantenedor también ha comentado el ataque.
Aunque la amenaza inmediata se ha abordado, las versiones en caché de la acción comprometida aún podrían suponer un riesgo. La mitigación proactiva es necesaria para asegurar las credenciales sensibles.
¿Cuál es el impacto del ataque tj-actions/changed-files?
Repositorios que utilizan tj-actions/archivos modificados
especialmente las públicas, corren el riesgo de filtrar los secretos utilizados en sus canalizaciones. Estos secretos fueron expuestos en los registros de flujo de trabajo por el código malicioso del actor de la amenaza. Aunque no se ha confirmado ninguna filtración externa de datos, los actores maliciosos podrían acceder a los registros de los repositorios públicos. Los repositorios privados están menos afectados, pero deben evaluar su exposición y rotar los secretos si se ven afectados.
Repositorios públicos: Alto riesgo debido a la exposición pública de registros de flujo de trabajo que contienen secretos.
Repositorios privados: Menor riesgo, pero tener secretos activos expuestos en los registros de tu flujo de trabajo sigue siendo un riesgo importante.
Usuarios de acciones en caché: Los flujos de trabajo que almacenaron en caché la acción comprometida pueden seguir estando en riesgo hasta que se purguen las cachés.
¿Cómo puede ayudar el Aikido?
Hemos publicado un nueva norma SAST que marca cualquier tj-actions/archivos modificados
uso con gravedad crítica (Puntuación 100). Si ya utilizas Aikido, estás cubierto. Si usted no tiene una cuenta de Aikido, puede conectarse y escanear su configuración en unos pocos segundos.
Más allá de este ataque, Aikido también bloquea automáticamente tus acciones de Github para evitar este tipo de exploits en el futuro.
Y nuestro feed de amenazas de malware propietario - Aikido Intel - detecta malware en 3 minutos después de su publicación en npm, pypi, y se extenderá a las acciones de Github en breve.
Se lo ponemos fácil a su cadena de suministro de software y le avisamos lo antes posible de nuevos riesgos y ataques.
Más información sobre el ataque:
- Un desglose sobre "Comprensión y Recreación del Ataque a la Cadena de Suministro tj-actions/changed-files" por el Analista de Latio, James Berthoty. James también muestra cómo recrear el ataque en su propio entorno para probar su sensor (tenga cuidado).
- Step Security, que informó en primer lugar del ataque, publicó un análisis de la investigación, "Detección de Harden-Runner: la acción tj-actions/changed-files está comprometida"
- Ver CVE-2023-51664