Osegi
Security·2 min read

wfx-loot attack hit 61,000 GitHub repos to steal secrets

The wfx-loot campaign used 4,800 hijacked GitHub accounts to probe 61,700 repositories. Researchers confirm stolen secrets from more than 1,800 targets.

A laptop screen showing code with a red warning overlay, symbolising a malicious GitHub Actions workflow stealing credentials.
Image: Хабр

Someone borrowed thousands of real GitHub accounts, opened a harmless-looking pull request in tens of thousands of projects, and walked away with secrets from more than 1,800 of them. Researchers at the application security firm Aikido call the campaign wfx-loot.

According to Aikido, it began on 10 November 2026. The attackers used credentials from more than 4,800 compromised GitHub accounts to check whether those accounts had write access to 61,700 repositories. The test was a pull request titled "docs: dependency audit notes", dressed up as documentation. About 92% of those pull requests are still open, so the real owners probably never noticed.

Some of the hijacked accounts belonged to Fortune 100 organisations, the US General Services Administration, the French government, Nextcloud and WebdriverIO. Aikido suspects around 50 of them could publish packages to npm, PyPI, Go, crates and Packagist, which is what makes this worrying for everyone downstream.

What does the wfx-loot script steal?

The payload is a 1,500-line shell script. The attackers edited existing GitHub Actions workflows, added new ones on freshly created temporary branches and planted hooks that fire when npm packages are installed. The script goes after GitHub Actions secrets and variables, the workflow's GITHUB_TOKEN, and OIDC tokens. It also hunts for AWS, Azure and Google Cloud credentials, plus keys from Git, SSH, GPG, Docker, Kubernetes, npm, PyPI, Vault and Terraform. Access tokens for OpenAI, Anthropic, Gemini, Hugging Face, Cursor and GitHub Copilot are on the list too, along with .env files, private keys, shell history and process memory.

It can also trade GitHub OIDC tokens for temporary cloud sessions, and where permissions allow it can create long-lived credentials or change identity and trust policies to stay put. Loot was packed into tar archives and sent by HTTP POST to one of two attacker-controlled endpoints. Then the attackers reverted their changes and deleted workflow runs and logs, in under a minute according to Aikido.

The researchers saw some overlap with the 2025 GhostAction campaign.

How do I check if my repository was affected?

Aikido advises owners to look for a branch called wfx-docs, a pull request named probe, and gaps in workflow run numbers. If the payload ran, treat every secret and cloud role available to the affected workflows as compromised and replace them right away.

Apps worth a look

SUMO: the number puzzle

Tap the right tiles, add them up, hit the target. Easy to learn, hard to master. Free, for all ages.

Tags:githubgithub actionswfx-lootsupply chain attackaikidocredential theft

More from this day

See all →

More in: Security

See all →