{"id":960,"date":"2026-05-22T14:25:09","date_gmt":"2026-05-22T14:25:09","guid":{"rendered":"https:\/\/cybercolombia.co\/index.php\/2026\/05\/22\/el-ataque-megalodon-github-apunta-a-5561-repositorios-con-flujos-de-trabajo-ci-cd-maliciosos-cyberdefensa-mx\/"},"modified":"2026-05-22T14:25:09","modified_gmt":"2026-05-22T14:25:09","slug":"el-ataque-megalodon-github-apunta-a-5561-repositorios-con-flujos-de-trabajo-ci-cd-maliciosos-cyberdefensa-mx","status":"publish","type":"post","link":"https:\/\/cybercolombia.co\/index.php\/2026\/05\/22\/el-ataque-megalodon-github-apunta-a-5561-repositorios-con-flujos-de-trabajo-ci-cd-maliciosos-cyberdefensa-mx\/","title":{"rendered":"El ataque Megalodon GitHub apunta a 5561 repositorios con flujos de trabajo CI\/CD maliciosos \u2013 CYBERDEFENSA.MX"},"content":{"rendered":"<div id=\"articlebody\">\n<p>Investigadores de ciberseguridad han revelado detalles de una nueva campa\u00f1a automatizada llamada <b>megalod\u00f3n<\/b> eso ha impulsado 5.718 confirmaciones maliciosas a 5.561 repositorios de GitHub en un per\u00edodo de seis horas.<\/p>\n<p>\u00abUtilizando cuentas desechables e identidades de autor falsificadas (build-bot, auto-ci, ci-bot, pipeline-bot), el atacante inyect\u00f3 flujos de trabajo de GitHub Actions que contienen cargas \u00fatiles bash codificadas en base64 que filtran secretos de CI, credenciales de nube, claves SSH, tokens OIDC y secretos de c\u00f3digo fuente a un servidor C2 en 216.126.225[.]129:8443\u00bb, SeguridadSegura <a href=\"https:\/\/safedep.io\/megalodon-mass-github-repo-backdooring-ci-workflows\/\" target=\"_blank\">dicho<\/a> en un informe.<\/p>\n<p>La lista completa de datos recopilados por el malware se encuentra a continuaci\u00f3n:<\/p>\n<ul>\n<li>Variables de entorno CI, \/proc\/*\/environ y entorno PID 1<\/li>\n<li>Credenciales de servicios web de Amazon (AWS)<\/li>\n<li>Tokens de acceso a Google Cloud<\/li>\n<li>Credenciales de rol de instancia obtenidas consultando los puntos finales de AWS IMDSv2, metadatos de Google Cloud y Microsoft Azure Instance Metadata Service (IMDS)<\/li>\n<li>Claves privadas SSH<\/li>\n<li>Configuraciones de Docker y Kubernetes<\/li>\n<li>Fichas de b\u00f3veda<\/li>\n<li>Credenciales de terraforma<\/li>\n<li>Historia del caparaz\u00f3n<\/li>\n<li>Claves API, cadenas de conexi\u00f3n de bases de datos, JWT, claves privadas PEM y tokens de nube que coinciden con m\u00e1s de 30 patrones secretos de expresiones regulares.<\/li>\n<li>URL y token de solicitud de token OIDC de GitHub Actions<\/li>\n<li>GITHUB_TOKEN, tokens GitLab CI\/CD y tokens Bitbucket<\/li>\n<li>Archivos .env, credenciales.json, service-account.json y otros archivos de configuraci\u00f3n<\/li>\n<\/ul>\n<p>Uno de los paquetes afectados es @tiledesk\/tiledesk-server, que incluye una carga \u00fatil 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.<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/threatlabz-vpn-risk-2026-d\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Ciberseguridad\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhnNON5UeWywT7OcPNw7V4L7QNWnCnm7Xl_99Y9ek8dL-gRwx-bWxQM1TKqt8deqqrdpUyKMuuijAWyyPQVB0s0qf8ntQ6ldFAJLru-QUWhddKTopc7SeNbBBnd-TsfFyRPP-AAyDuclLlL6XHK4_LXqDC_7eyaz9pzToYr7U543MhrJ7qcK-89sVWHTQUZ\/s728-e100\/zz-2-d.jpg\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>\u00abEl atacante rot\u00f3 entre cuatro nombres de autores (build-bot, auto-ci, ci-bot, pipeline-bot) y siete mensajes de confirmaci\u00f3n, todos imitando el mantenimiento rutinario de CI\u00bb, dijo SafeDep. \u00abEl atacante utiliz\u00f3 cuentas de GitHub desechables con nombres de usuario aleatorios de 8 caracteres (por ejemplo, rkb8el9r, bhlru9nr, lo6wt4t6), configur\u00f3 git config para falsificar la identidad del autor y utiliz\u00f3 PAT comprometidas o claves de implementaci\u00f3n\u00bb.<\/p>\n<p>Se han observado dos variantes de carga \u00fatil como parte de la campa\u00f1a 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\u00edfica que se activa solo en <a href=\"https:\/\/docs.github.com\/en\/actions\/reference\/workflows-and-actions\/events-that-trigger-workflows#workflow_dispatch\" target=\"_blank\">env\u00edo_flujo de trabajo<\/a>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\u00e1 instalado el paquete npm.<\/p>\n<p>\u00abLa compensaci\u00f3n es alcance: encendido: empuje garantizar\u00eda la ejecuci\u00f3n en cada compromiso para dominar, alcanzando m\u00e1s objetivos sin intervenci\u00f3n\u00bb, agreg\u00f3 SafeDep. \u00abWorkflow_dispatch sacrifica eso por la seguridad operativa. Con m\u00e1s de 5700 repositorios comprometidos, incluso una peque\u00f1a fracci\u00f3n que produzca un GITHUB_TOKEN utilizable le da al atacante suficientes objetivos para la activaci\u00f3n bajo demanda\u00bb.<\/p>\n<div class=\"separator\" style=\"clear: both;\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjgOi30e1RABlSxe7QyIGD14Z6CB-6zwYwf4Y3Xsecd5do01dlAZwYRJW2X16QpT90e3N9pKh8zh9THZtJJ-5KBK39DBDWSjJ0iXfxxclJ4Uz8N4wLFIPKts7jWdyD1XSm4czO7-cpOmP7s0MgdZG-4HRXFsDGhMsojb0Opxo2R8eKWeWTHXTJfPNV5YGe1\/s1700-e365\/megalodon.jpg\" style=\"clear: left; display: block; float: left;  text-align: center;\"><img decoding=\"async\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjgOi30e1RABlSxe7QyIGD14Z6CB-6zwYwf4Y3Xsecd5do01dlAZwYRJW2X16QpT90e3N9pKh8zh9THZtJJ-5KBK39DBDWSjJ0iXfxxclJ4Uz8N4wLFIPKts7jWdyD1XSm4czO7-cpOmP7s0MgdZG-4HRXFsDGhMsojb0Opxo2R8eKWeWTHXTJfPNV5YGe1\/s1700-e365\/megalodon.jpg\" alt=\"\" border=\"0\" data-original-height=\"787\" data-original-width=\"1024\"\/><\/a><\/div>\n<p>El resultado es que una vez que el propietario de un repositorio fusiona la confirmaci\u00f3n, el malware se ejecuta dentro de sus canales de CI\/CD y se propaga a\u00fan m\u00e1s, lo que permite el robo de credenciales y secretos a escala.<\/p>\n<p>\u00abHemos entrado en una nueva era de ataques a la cadena de suministro, y el compromiso de TeamPCP con GitHub fue solo el comienzo\u00bb, Moshe Siman Tov Bustan de OX Security. <a href=\"https:\/\/www.ox.security\/blog\/megalodon-cicd-malware-github\/\" target=\"_blank\">dicho<\/a>. \u00abLo que viene a continuaci\u00f3n es una ola interminable, un tsunami de ciberataques a desarrolladores de todo el mundo\u00bb.<\/p>\n<p>El desarrollo se produce cuando TeamPCP ha utilizado como arma la cadena de suministro de software interconectada para corromper cientos de herramientas de c\u00f3digo abierto, abri\u00e9ndose camino a trav\u00e9s de varios ecosistemas y extorsionando a las v\u00edctimas para obtener ganancias en algunos casos. GitHub, propiedad de Microsoft, se ha convertido en la \u00faltima incorporaci\u00f3n a la larga lista de v\u00edctimas del grupo, que tambi\u00e9n incluye a TanStack, Grafana Labs, OpenAI y Mistral AI.<\/p>\n<p>Los ataques de TeamPCP han impulsado una explotaci\u00f3n c\u00edclica de proyectos populares de c\u00f3digo abierto, donde un compromiso alimenta al siguiente, permitiendo que el malware se propague como la p\u00f3lvora en forma de gusano. El grupo tambi\u00e9n parece estar motivado financieramente y ha establecido asociaciones con BreachForums y otros grupos de extorsi\u00f3n como LAPSUS$ y VECT.<\/p>\n<p>Es m\u00e1s, el grupo tambi\u00e9n parece tener motivaciones geopol\u00edticas, como lo demuestra el despliegue de malware limpiador al detectar m\u00e1quinas ubicadas en Ir\u00e1n e Israel.<\/p>\n<p>Las consecuencias de la ola de ataques del TeamPCP y la <a href=\"https:\/\/trustedsec.com\/blog\/shai-hulud-is-back\" target=\"_blank\">Mini gusano Shai-Hulud<\/a> tiene <a href=\"https:\/\/x.com\/npmjs\/status\/2056960835030016286\" target=\"_blank\">incitado<\/a> npm para invalidar tokens de acceso granular con acceso de escritura que omite la autenticaci\u00f3n de dos factores (2FA). NPM tambi\u00e9n insta a los usuarios a cambiar a <a href=\"https:\/\/docs.npmjs.com\/trusted-publishers\/\" target=\"_blank\">Publicaci\u00f3n confiable<\/a> para reducir la dependencia de dichos tokens.<\/p>\n<p>\u00abAl quemar cada token bypass-2FA en la plataforma, npm corta las credenciales que el gusano ya ha recopilado\u00bb, afirma la empresa de seguridad de aplicaciones Socket. <a href=\"https:\/\/socket.dev\/blog\/npm-invalidates-tokens-mini-shai-hulud\" target=\"_blank\">dicho<\/a>. \u00abLos mantenedores emiten otros nuevos. El gusano, todav\u00eda activo en la naturaleza, vuelve a recolectarlos. El reinicio da un respiro. No cierra el agujero subyacente\u00bb.<\/p>\n<p>Los grupos de actividades como Megalodon y TeamPCP implican comprometer paquetes leg\u00edtimos para distribuir malware. Por el contrario, una cuenta desechable llamada \u00ab<a href=\"https:\/\/www.npmjs.com\/~polymarketdev\" target=\"_blank\">polimercadodev<\/a>\u00bb 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\u00edctimas a trav\u00e9s de un gancho posterior a la instalaci\u00f3n.<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/ai-cant-stop-d\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Ciberseguridad\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjPEV6-530TOlxG6PjrmdlY623wpBwduZ7t1HV6flcmO5R4q4AmfixDUzW0CrhlvMVNWbhvOIso-UDNTka4W_W9Chrdj_dglwBZwi7DuePM2IMIl-hfUYVIqBXgfpr_2619K8Gptb4LzwJ6gUbi7lWl2M8AFQJsHEaw63Q7tZ6708YGruiHrr0Y2W9YYxLQ\/s728-e100\/ThreatLocker-d.png\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>Al momento de escribir este art\u00edculo, todav\u00eda est\u00e1n disponibles para descargar desde npm. Los nombres de los paquetes est\u00e1n a continuaci\u00f3n:<\/p>\n<ul>\n<li>polimercado-trading-cli<\/li>\n<li>terminal-polimercado<\/li>\n<li>comercio-polimercado<\/li>\n<li>polimercado-auto-comercio<\/li>\n<li>comercio de copias de polimercado<\/li>\n<li>robot-polimercado<\/li>\n<li>c\u00f3digo-claude-polimercado<\/li>\n<li>agente-ai-polimercado<\/li>\n<li>comerciante-polimercado<\/li>\n<\/ul>\n<p>\u00abDurante la instalaci\u00f3n, un script posterior a la instalaci\u00f3n muestra un mensaje de incorporaci\u00f3n de billetera falsa que solicita al usuario que pegue su clave privada, afirmando que &#8216;permanece cifrada&#8217;\u00bb, SafeDep <a href=\"https:\/\/safedep.io\/malicious-polymarket-npm-crypto-wallet-drainer\/\" target=\"_blank\">dicho<\/a>. \u00abEl script PUBLICA la clave sin formato en texto plano a un trabajador de Cloudflare en hxxps:\/\/polymarketbot.polymarketdev.workers[.]dev\/v1\/billetera\/claves.\u00bb<\/p>\n<p>\u00abEl atacante cre\u00f3 una CLI comercial funcional en torno a una operaci\u00f3n de robo de credenciales. La ingenier\u00eda social lleva el ataque: el mensaje posterior a la instalaci\u00f3n parece una incorporaci\u00f3n de billetera est\u00e1ndar, el enmascaramiento imita la entrada segura y el repositorio de GitHub proporciona credibilidad falsa\u00bb<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Investigadores de ciberseguridad han revelado detalles de una nueva campa\u00f1a automatizada llamada megalod\u00f3n eso ha impulsado 5.718 confirmaciones maliciosas a 5.561 repositorios de GitHub en un per\u00edodo de seis horas. \u00abUtilizando cuentas desechables e identidades de autor falsificadas (build-bot, auto-ci, ci-bot, pipeline-bot), el atacante inyect\u00f3 flujos de trabajo de GitHub Actions que contienen cargas \u00fatiles [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":731,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25,5],"tags":[27,181,731,31,24,675,931,267,2685,55,648],"class_list":["post-960","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-noticias","category-trending","tag-apunta","tag-ataque","tag-cicd","tag-con","tag-cyberdefensa-mx","tag-flujos","tag-github","tag-maliciosos","tag-megalodon","tag-repositorios","tag-trabajo"],"_links":{"self":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts\/960","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/comments?post=960"}],"version-history":[{"count":0,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts\/960\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/media\/731"}],"wp:attachment":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/media?parent=960"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/categories?post=960"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/tags?post=960"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}