Investigadores de ciberseguridad han revelado detalles de una nueva campaña automatizada llamada megalodón eso ha impulsado 5.718 confirmaciones maliciosas a 5.561 repositorios de GitHub en un período de seis horas.
«Utilizando cuentas desechables e identidades de autor falsificadas (build-bot, auto-ci, ci-bot, pipeline-bot), el atacante inyectó flujos de trabajo de GitHub Actions que contienen cargas útiles bash codificadas en base64 que extraen secretos de CI, credenciales de nube, claves SSH, tokens OIDC y secretos de código fuente a un servidor C2 en 216.126.225(.)129:8443», dijo SafeDep en un informe.
La lista completa de datos recopilados por el malware se encuentra a continuación:
- Variables de entorno CI, /proc/*/environ y entorno PID 1
- Credenciales de servicios web de Amazon (AWS)
- Tokens de acceso a Google Cloud
- Credenciales de rol de instancia obtenidas consultando los puntos finales de AWS IMDSv2, metadatos de Google Cloud y Microsoft Azure Instance Metadata Service (IMDS)
- Claves privadas SSH
- Configuraciones de Docker y Kubernetes
- Fichas de bóveda
- Credenciales de terraforma
- Historia del caparazón
- Claves API, cadenas de conexión de bases de datos, JWT, claves privadas PEM y tokens de nube que coinciden con más de 30 patrones secretos de expresiones regulares.
- URL y token de solicitud de token OIDC de GitHub Actions
- GITHUB_TOKEN, tokens GitLab CI/CD y tokens Bitbucket
- Archivos .env, credenciales.json, service-account.json y otros archivos de configuración
Uno de los paquetes afectados es @tiledesk/tiledesk-server, que incluye una carga útil bash codificada en Base64 dentro de un archivo de flujo de trabajo de GitHub Actions. En total, se enviaron 5.718 confirmaciones a 5.561 repositorios distintos el 18 de mayo de 2026, entre las 11:36 a. m. y las 5:48 p. m. UTC.
«El atacante rotó entre cuatro nombres de autores (build-bot, auto-ci, ci-bot, pipeline-bot) y siete mensajes de confirmación, todos imitando el mantenimiento rutinario de CI», dijo SafeDep. «El atacante utilizó cuentas de GitHub desechables con nombres de usuario aleatorios de 8 caracteres (por ejemplo, rkb8el9r, bhlru9nr, lo6wt4t6), configuró git config para falsificar la identidad del autor y utilizó PAT comprometidas o claves de implementación».
Se han observado dos variantes de carga útil como parte de la campaña a gran escala: SysDiag, una variante masiva que agrega un nuevo flujo de trabajo que se activa en cada solicitud push y pull, y Optimize-Build, una variante específica que se activa solo en flowwork_dispatch, un activador de GitHub Actions que permite a los usuarios ejecutar manualmente un flujo de trabajo bajo demanda. En el caso de Tiledesk, el enfoque dirigido se utiliza para dirigirse a los ejecutores de CI/CD, y no cuando está instalado el paquete npm.
«La compensación es alcance: encendido: empuje garantizaría la ejecución en cada compromiso para dominar, alcanzando más objetivos sin intervención», agregó SafeDep. «Workflow_dispatch sacrifica eso por la seguridad operativa. Con más de 5700 repositorios comprometidos, incluso una pequeña fracción que produzca un GITHUB_TOKEN utilizable le da al atacante suficientes objetivos para la activación bajo demanda».

El resultado es que una vez que el propietario de un repositorio fusiona la confirmación, el malware se ejecuta dentro de sus canales de CI/CD y se propaga aún más, lo que permite el robo de credenciales y secretos a escala.
«Hemos entrado en una nueva era de ataques a la cadena de suministro, y el compromiso de TeamPCP con GitHub fue sólo el comienzo», dijo Moshe Siman Tov Bustan de OX Security. «Lo que viene a continuación es una ola interminable, un tsunami de ciberataques a desarrolladores de todo el mundo».
El desarrollo se produce cuando TeamPCP ha utilizado como arma la cadena de suministro de software interconectada para corromper cientos de herramientas de código abierto, abriéndose camino a través de varios ecosistemas y extorsionando a las víctimas para obtener ganancias en algunos casos. GitHub, propiedad de Microsoft, se ha convertido en la última incorporación a la larga lista de víctimas del grupo, que también incluye a TanStack, Grafana Labs, OpenAI y Mistral AI.
Los ataques de TeamPCP han impulsado una explotación cíclica de proyectos populares de código abierto, donde un compromiso alimenta al siguiente, permitiendo que el malware se propague como la pólvora en forma de gusano. El grupo también parece estar motivado financieramente y ha establecido asociaciones con BreachForums y otros grupos de extorsión como LAPSUS$ y VECT.
Es más, el grupo también parece tener motivaciones geopolíticas, como lo demuestra el despliegue de malware limpiador al detectar máquinas ubicadas en Irán e Israel.
Las consecuencias del ataque de TeamPCP y el gusano Mini Shai-Hulud han llevado a npm a invalidar los tokens de acceso granular con acceso de escritura que evita la autenticación de dos factores (2FA). NPM también insta a los usuarios a cambiar a Trusted Publishing para reducir la dependencia de dichos tokens.
«Al quemar cada token bypass-2FA en la plataforma, npm corta las credenciales que el gusano ya ha recopilado», dijo la firma de seguridad de aplicaciones Socket. «Los mantenedores emiten otros nuevos. El gusano, todavía activo en la naturaleza, vuelve a recolectarlos. El reinicio da un respiro. No cierra el agujero subyacente».
Los grupos de actividades como Megalodon y TeamPCP implican comprometer paquetes legítimos para distribuir malware. Por el contrario, se descubrió que una cuenta desechable llamada «polymarketdev» publica nueve paquetes npm maliciosos que se hacen pasar por herramientas CLI comerciales de Polymarket en una ventana de 30 segundos para robar las claves privadas de Ethereum/Polygon de las víctimas a través de un gancho posterior a la instalación.
Al momento de escribir este artículo, todavía están disponibles para descargar desde npm. Los nombres de los paquetes están a continuación:
- polimercado-trading-cli
- terminal-polimercado
- comercio-polimercado
- polimercado-auto-comercio
- comercio de copias de polimercado
- robot-polimercado
- código-claude-polimercado
- agente-ai-polimercado
- comerciante-polimercado
«Durante la instalación, un script posterior a la instalación muestra un mensaje de incorporación de billetera falsa que le pide al usuario que pegue su clave privada, afirmando que ‘permanece cifrada'», dijo SafeDep. «El script envía la clave sin formato en texto plano a un trabajador de Cloudflare en hxxps://polymarketbot.polymarketdev.workers(.)dev/v1/wallets/keys».
«El atacante creó una CLI comercial funcional en torno a una operación de robo de credenciales. La ingeniería social lleva el ataque: el mensaje posterior a la instalación parece una incorporación de billetera estándar, el enmascaramiento imita la entrada segura y el repositorio de GitHub proporciona credibilidad falsa»