A credential-stealing campaign has compromised over 340 repositories via malicious GitHub Actions workflows, starting with the hijacked account of pyxel's creator.
### The Attack That Slipped Through the Cracks
Imagine waking up to find that your open-source project—the one you've poured countless hours into—has been quietly weaponized to steal credentials from anyone who uses it. That's exactly what happened to Takashi Kitao, the maintainer behind pyxel, a game engine with over 18,400 stars on GitHub. On a seemingly ordinary day, attackers compromised his account and pushed a malicious workflow to 27 repositories in a matter of minutes.
But this wasn't an isolated incident. According to StepSecurity, the campaign has now spread to over 340 repositories, all using the same playbook: hijack a trusted maintainer's account, inject a credential-stealing workflow, and watch the chaos unfold. It's a sobering reminder that even the most popular projects aren't immune.
### How They Pulled It Off
The attackers didn't need to exploit some exotic zero-day. Instead, they leveraged the very tools we rely on every day: GitHub Actions and personal access tokens. By compromising maintainer accounts, they gained the ability to modify workflows—the automated scripts that run on every push, pull request, or schedule.
Once inside, they added steps that exfiltrate secrets like API keys, cloud credentials, and deployment tokens. These secrets are often stored as encrypted environment variables, but the malicious workflow simply reads them and sends them to an attacker-controlled server. It's stealthy, efficient, and devastating.
> "Using the account of Takashi Kitao, author of the 18,400-star game engine pyxel, the attacker pushed a malicious workflow to 27 repositories starting at 13:20 UTC," StepSecurity noted in their report.
### Why This Should Worry You
If you maintain a repository—or even contribute to one—this attack should set off alarm bells. Here's why:
- **Trust is the weakest link.** We trust maintainers to keep their accounts secure, but even the most diligent among us can fall victim to phishing or token leaks.
- **Automation amplifies impact.** A single malicious workflow can run across hundreds of repositories in minutes, stealing credentials at scale.
- **Secrets are the ultimate prize.** Once attackers have your cloud keys, they can spin up resources, access sensitive data, or pivot to other systems.
### What You Can Do Right Now
You don't have to be a security expert to protect yourself. A few proactive steps can go a long way:
- **Enable two-factor authentication (2FA) everywhere.** It's the single most effective way to prevent account takeovers.
- **Audit your workflows regularly.** Look for unexpected steps or unknown actions, especially in repositories you don't actively monitor.
- **Limit token permissions.** Use the principle of least privilege—don't give workflows more access than they need.
- **Monitor for suspicious activity.** Set up alerts for new workflows or changes to existing ones.
### The Bigger Picture
This campaign isn't just about one game engine or a handful of repositories. It's a wake-up call for the entire open-source ecosystem. As we increasingly rely on automation and third-party integrations, the attack surface grows. And while GitHub has robust security features, they're only as strong as the people using them.
So, take a moment today to review your own setup. Check your 2FA, scan your workflows, and talk to your team about security hygiene. Because in a world where a single compromised account can ripple across hundreds of projects, we're all responsible for keeping the community safe.
Remember: security isn't a one-time task—it's a habit. Stay vigilant, stay informed, and don't let your project become the next statistic.