Analicemos el ataque a la cadena de suministro tj-actions/changed-files. Sigue leyendo para un resumen (TL;DR), qué debes hacer, qué ocurrió y más información.
TL;DR
- El tj-actions/changed-files GitHub Action, que actualmente se utiliza en más de 23.000 repositorios, ha sido comprometida, filtrando secretos a través de los logs de flujo de trabajo e impactando a miles de pipelines de CI.
- Todas las versiones etiquetadas fueron modificadas, lo que hace que la fijación basada en etiquetas sea insegura. Los repositorios públicos corren el mayor riesgo, pero los repositorios privados también deberían verificar su exposición.
- Los pasos inmediatos incluyen identificar los flujos de trabajo afectados, eliminar todas las referencias a la acción comprometida, rotar los secretos y verificar 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 fijar automáticamente tus Github actions para prevenir este tipo de exploit en el futuro.
Para empezar, ¿qué deberías hacer?
Compruebe si le afecta el j-actions/changed-files ataque a la cadena de suministro:
A) Buscar tj-actions en su base de código
B) Utiliza esta consulta de GitHub para encontrar referencias a la acción de GitHub afectada en los repositorios de tu organización (sustituye [your-org] por el nombre de tu organización).
Deja de usar tj-actions/changed-files lo antes posible y eliminar todas las referencias a la acción comprometida.
Rota los secretos de las pipelines afectadas y revisa los registros de tus servicios (de terceros) en busca de un uso sospechoso de los tokens expuestos; prioriza los repositorios con registros de CI runner accesibles públicamente.
Analicemos el ataque: ¿Qué ocurrió?
Un incidente de seguridad que involucra a tj-actions/changed-files GitHub Action fue identificada a mediados de marzo de 2025. Los atacantes introdujeron código malicioso que expuso secretos de CI/CD a través de los logs de flujo de trabajo. Reportado inicialmente por Step Security, el incidente ha sido asignado como CVE-2025-30066.
Aunque sigue habiendo falta de claridad sobre lo sucedido y cómo se subió 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 eventos:
Antes del 14 de marzo de 2025: El código malicioso comenzó a afectar a los repositorios afectados, provocando la filtración de secretos en los registros públicos.
14 de marzo de 2025: Investigadores de seguridad identificaron el compromiso y alertaron sobre ello.
15 de marzo de 2025: El script malicioso alojado en GitHub Gist fue eliminado. El repositorio comprometido fue retirado brevemente de línea para revertir los cambios maliciosos y posteriormente restaurado sin los commits dañinos.
15 de marzo de 2025: El repositorio vuelve a estar en línea con un comunicado sobre el ataque; el mantenedor también ha comentado sobre el ataque.
Aunque la amenaza inmediata ha sido abordada, las versiones cacheadas de la acción comprometida aún podrían representar un riesgo. Es necesaria una mitigación proactiva para proteger las credenciales sensibles.
¿Cuál es el impacto del ataque tj-actions/changed-files?
Repositorios que utilizan populares tj-actions/changed-files, especialmente los públicos, corren el riesgo de filtrar los secretos utilizados en sus pipelines. Estos secretos fueron expuestos en los logs de los flujos de trabajo por el código malicioso del actor de la amenaza. Aunque no se confirmó ninguna exfiltración externa de datos, los logs de los repositorios públicos podrían ser accedidos por actores maliciosos. Los repositorios privados se ven menos afectados, pero aun así deberían evaluar su exposición y rotar los secretos si se ven comprometidos.
Repositorios Públicos: Alto riesgo debido a la exposición pública de los registros de flujo de trabajo que contienen secretos.
Repositorios privados: Menor riesgo, pero tener secretos activos expuestos en los logs de tu flujo de trabajo sigue siendo un riesgo significativo.
Usuarios de acciones en caché: Los flujos de trabajo que almacenaron en caché la acción comprometida pueden seguir en riesgo hasta que se purguen las cachés.
¿Cómo puede ayudar Aikido?
Hemos lanzado un nueva regla SAST que marca cualquier tj-actions/changed-files uso con gravedad crítica (Puntuación 100). Si ya utilizas Aikido, estás cubierto. Si no tienes una cuenta de Aikido, puedes conectar y escanear tu configuración en pocos segundos.
Más allá de este ataque, Aikido también fija automáticamente tus acciones de Github para prevenir este tipo de exploit en el futuro.
Y nuestro feed de amenazas de malware propietario - Aikido Intel - detecta malware en 3 minutos después de su lanzamiento en npm, pypi, y pronto se extenderá a las acciones de Github.
Facilitamos la seguridad de tu cadena de suministro de software y te proporcionamos la alerta más temprana sobre nuevos riesgos y ataques.
Más información sobre el ataque:
- Un análisis sobre “Comprendiendo y Recreando el Ataque a la Cadena de Suministro de tj-actions/changed-files” por el Analista de Latio, James Berthoty. James también te muestra cómo recrear el ataque en tu propio entorno para probar tu sensor (ten cuidado).
- Step Security, quien informó por primera vez del ataque, publicó un análisis de investigación, “Detección de Harden-Runner: la acción tj-actions/changed-files está comprometida”
- Ver CVE-2023-51664
Protege tu software ahora.


.jpg)
.avif)
