{"id":218708,"date":"2026-05-22T07:55:00","date_gmt":"2026-05-22T11:55:00","guid":{"rendered":"https:\/\/testing.news-you-need.com\/index.php\/2026\/05\/22\/megalodon-github-attack-targets-5561-repos-with-malicious-ci-cd-workflows\/"},"modified":"2026-05-22T11:46:03","modified_gmt":"2026-05-22T15:46:03","slug":"megalodon-github-attack-targets-5561-repos-with-malicious-ci-cd-workflows","status":"publish","type":"post","link":"https:\/\/testing.news-you-need.com\/index.php\/2026\/05\/22\/megalodon-github-attack-targets-5561-repos-with-malicious-ci-cd-workflows\/","title":{"rendered":"Megalodon GitHub Attack Targets 5,561 Repos with Malicious CI\/CD Workflows"},"content":{"rendered":"<p><a href=\"https:\/\/thehackernews.com\/2026\/05\/megalodon-github-attack-targets-5561.html\">Megalodon GitHub Attack Targets 5,561 Repos with Malicious CI\/CD Workflows<\/a><\/p>\n<p><a href=\"https:\/\/thehackernews.com\/2026\/05\/megalodon-github-attack-targets-5561.html\">https:\/\/thehackernews.com\/2026\/05\/megalodon-github-attack-targets-5561.html<\/a><\/p>\n<p>Publish Date: <a href=\"publish_date]\">2026-05-22 07:55:00<\/a><\/p>\n<p>Source Domain: <a href=\"thehackernews.com\">thehackernews.com<\/a><\/p>\n<p>Author: <a href=\"\"><\/a><\/p>\n<p> Using an unordered list, summarize the following article with between 4 and 8 key points.<br \/>\nCybersecurity researchers have disclosed details of a new automated campaign called Megalodon that has pushed 5,718 malicious commits to 5,561 GitHub repositories within a six-hour window.<\/p>\n<p>&#8220;Using throwaway accounts and forged author identities (build-bot, auto-ci, ci-bot, pipeline-bot), the attacker injected GitHub Actions workflows containing base64-encoded bash payloads that exfiltrate CI secrets, cloud credentials, SSH keys, OIDC tokens, and source code secrets to a C2 server at 216.126.225[.]129:8443,&#8221; SafeDep said in a report.<\/p>\n<p>The complete list of data harvested by the malware is below &#8211;<\/p>\n<p>  CI environment variables, \/proc\/*\/environ, and PID 1 environment<br \/>\n  Amazon Web Services (AWS) credentials<br \/>\n  Google Cloud access tokens<br \/>\n  Instance role credentials obtained by querying AWS IMDSv2, Google Cloud metadata, and Microsoft Azure Instance Metadata Service (IMDS) endpoints<br \/>\n  SSH private keys<br \/>\n  Docker and Kubernetes configurations<br \/>\n  Vault tokens<br \/>\n  Terraform credentials<br \/>\n  Shell history<br \/>\n  API keys, database connection strings, JWTs, PEM private keys, and cloud tokens matching more than 30 secret regular expression patterns<br \/>\n  GitHub Actions OIDC token request URL and token<br \/>\n  GITHUB_TOKEN, GitLab CI\/CD tokens, and Bitbucket tokens<br \/>\n  .env files, credentials.json, service-account.json, and other configuration files<\/p>\n<p>One of the impacted packages is @tiledesk\/tiledesk-server, which bundles a Base64-encoded bash payload within a GitHub Actions workflow file. In all, 5,718 commits were pushed against 5,561 distinct repositories on May 18, 2026, between 11:36 a.m. and 5:48 p.m. UTC.<\/p>\n<p>&#8220;The attacker rotated through four author names (build-bot, auto-ci, ci-bot, pipeline-bot) and seven commit messages, all mimicking routine CI maintenance,&#8221; SafeDep said. &#8220;The attacker used throwaway GitHub accounts with random 8-character usernames (e.g., rkb8el9r, bhlru9nr, lo6wt4t6), set git config to forge the author identity, and pushed via compromised PATs or deploy keys.&#8221;<\/p>\n<p>Two payload variants have been observed as part of the large-scale campaign: SysDiag, a mass variant which adds a new workflow that&#8217;s triggered on every push and pull request, and Optimize-Build, a targeted variant that activates only on workflow_dispatch, a GitHub Actions trigger that allows users to manually run a workflow on-demand. In the case of Tiledesk, the targeted approach is used to target CI\/CD runners, and not when the npm package is installed.<\/p>\n<p>&#8220;The tradeoff is reach: on: push would guarantee execution on every commit to master, hitting more targets without intervention,&#8221; SafeDep added. &#8220;Workflow_dispatch sacrifices that for operational security. With 5,700+ repos compromised, even a small fraction yielding a usable GITHUB_TOKEN gives the attacker enough targets for on-demand triggering.&#8221;<\/p>\n<p>The result is that once a repository owner merges the commit, the malware executes inside their CI\/CD pipelines and spreads further, enabling the theft of credentials and secrets at scale.<\/p>\n<p>&#8220;We&#8217;ve entered a new supply chain attack era, and TeamPCP compromising GitHub was only the beginning,&#8221; OX Security&#8217;s Moshe Siman Tov Bustan said. &#8220;What&#8217;s coming next is an endless wave, a tsunami of cyber attacks on developers worldwide.&#8221;<\/p>\n<p>The development comes as TeamPCP has weaponized the interlinked software supply chain to corrupt hundreds of open-source tools, worming their way through several ecosystems and extorting victims for profit in some cases. Microsoft-owned GitHub has become the latest addition to the group&#8217;s long list of victims, which also includes TanStack, Grafana Labs, OpenAI, and Mistral AI.<\/p>\n<p>TeamPCP attacks have fueled a cyclical exploitation of popular open-source projects, where one compromise feeds the next, allowing the malware to spread like wildfire in a worm-like fashion. The group also appears to be financially motivated and has established partnerships with BreachForums and other extortion crews like LAPSUS$ and VECT.<\/p>\n<p>What&#8217;s more, the group seems to be geopolitically motivated as well, as evidenced by the deployment of wiper malware upon detecting machines located in Iran and Israel.<\/p>\n<p>The fallout from TeamPCP&#8217;s attack spree and the Mini Shai-Hulud worm has prompted npm to invalidate granular access tokens with write access that bypasses two-factor authentication (2FA). NPM is also urging users to switch to Trusted Publishing to reduce reliance on such tokens.<\/p>\n<p>&#8220;By burning every bypass-2FA token on the platform, npm cuts off the credentials the worm has already collected,&#8221; application security firm Socket said. &#8220;Maintainers issue new ones. The worm, still active in the wild, goes back to harvesting them. The reset buys breathing room. It does not close the underlying hole.&#8221;<\/p>\n<p>Activity clusters like Megalodon and TeamPCP involve compromising legitimate packages to distribute malware. In contrast, a throwaway account named &#8220;polymarketdev&#8221; has been found to publish nine malicious npm packages impersonating Polymarket trading CLI tools within a 30-second window to steal victims&#8217; Ethereum\/Polygon private keys via a postinstall hook.<\/p>\n<p>As of writing, they are still available for download from npm. The names of the packages are below &#8211;<\/p>\n<p>  polymarket-trading-cli<br \/>\n  polymarket-terminal<br \/>\n  polymarket-trade<br \/>\n  polymarket-auto-trade<br \/>\n  polymarket-copy-trading<br \/>\n  polymarket-bot<br \/>\n  polymarket-claude-code<br \/>\n  polymarket-ai-agent<br \/>\n  polymarket-trader<\/p>\n<p>&#8220;On install, a postinstall script displays a fake wallet onboarding prompt that asks the user to paste their private key, claiming &#8216;it stays encrypted,'&#8221; SafeDep said. &#8220;The script POSTs the raw key in plaintext to a Cloudflare Worker at hxxps:\/\/polymarketbot.polymarketdev.workers[.]dev\/v1\/wallets\/keys.&#8221;<\/p>\n<p>&#8220;The attacker built a functional trading CLI around a credential theft operation. Social engineering carries the attack: the postinstall prompt looks like standard wallet onboarding, the masking mimics secure input, and the GitHub repo provides false credibility&#8221;<\/p>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Megalodon GitHub Attack Targets 5,561 Repos with Malicious CI\/CD Workflows https:\/\/thehackernews.com\/2026\/05\/megalodon-github-attack-targets-5561.html Publish Date: 2026-05-22 07:55:00&#8230;<\/p>\n","protected":false},"author":1,"featured_media":218709,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjC_sjVeLejyyBZJ0DWW2y9-Z2Jvmrzz9h-5XEIKPFTcJvDj49Jlt-z1FNbSp51K9XcQ8FqC9MBDFPPPdZuzRfjqtYvKNaqT0Qzd61oCHVhNq59IcAVcWV3LvDmKCsX5pHn4nU3LclQPEozMp3XsgYZnVHCZEj89AGkWJpqL1EjCjiqMLnvggZLsgb08MYp\/s1600\/github-worm.jpg","fifu_image_alt":"","footnotes":""},"categories":[15],"tags":[26,24,32],"class_list":["post-218708","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cybersecurity","tag-ai","tag-cybersecurity","tag-malware"],"_links":{"self":[{"href":"https:\/\/testing.news-you-need.com\/index.php\/wp-json\/wp\/v2\/posts\/218708"}],"collection":[{"href":"https:\/\/testing.news-you-need.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/testing.news-you-need.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/testing.news-you-need.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/testing.news-you-need.com\/index.php\/wp-json\/wp\/v2\/comments?post=218708"}],"version-history":[{"count":1,"href":"https:\/\/testing.news-you-need.com\/index.php\/wp-json\/wp\/v2\/posts\/218708\/revisions"}],"predecessor-version":[{"id":218710,"href":"https:\/\/testing.news-you-need.com\/index.php\/wp-json\/wp\/v2\/posts\/218708\/revisions\/218710"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/testing.news-you-need.com\/index.php\/wp-json\/wp\/v2\/media\/218709"}],"wp:attachment":[{"href":"https:\/\/testing.news-you-need.com\/index.php\/wp-json\/wp\/v2\/media?parent=218708"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/testing.news-you-need.com\/index.php\/wp-json\/wp\/v2\/categories?post=218708"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/testing.news-you-need.com\/index.php\/wp-json\/wp\/v2\/tags?post=218708"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}