Five Supply-Chain Attacks in 48 Hours Show Why One Layer of Defense Is Not Enough

Summary
StepSecurity summarizes a May 18–19, 2026 supply-chain attack wave involving a poisoned VS Code extension, hijacked GitHub Actions, a self-replicating npm worm and trojanized PyPI releases; it says GitHub confirmed exfiltration of about 3,800 internal repositories.
Key points
- StepSecurity reports that malicious Nx Console VS Code extension v18.95.0, with more than 2.2 million installs, stole credentials and installed a persistent Python backdoor; it says an employee device compromised through the extension led to GitHub repository exfiltration.
- GitHub publicly confirmed that about 3,800 internal repositories were exfiltrated, and said critical secrets were rotated while its investigation continued.
- StepSecurity reports that tags for the compromised actions-cool/issues-helper and maintain-one-comment GitHub Actions were replaced with imposter commits; malicious code read Runner.Worker process memory to steal CI/CD credentials.
- The article describes the Shai-Hulud npm worm as compromising packages, harvesting credentials from more than 130 file paths, and using stolen npm tokens to spread; the campaign was described as ongoing.
- StepSecurity reports that three malicious versions of Microsoft's durabletask PyPI package appeared within 35 minutes and targeted credentials for cloud services, Kubernetes, password managers, and developer tools; it links the activity to TeamPCP.
- Recommended controls include pinning GitHub Actions to immutable commit SHAs, monitoring runner processes and restricting network egress, inventorying developer-machine extensions, and delaying newly published package versions.
Article Details
- Event Type
- Wave of software supply-chain attacks involving a compromised VS Code extension, GitHub Actions, npm packages, and a PyPI package, followed by GitHub's disclosure of an internal repository breach.
- Impact
- The attacks reportedly stole developer and CI/CD credentials, enabled package propagation, and established persistent access. GitHub confirmed that approximately 3,800 internal repositories were exfiltrated after an employee device was compromised through the Nx Console VS Code extension; GitHub rotated critical secrets and said its investigation was ongoing. Three malicious versions of Microsoft's durabletask PyPI package were also published.
Indicators of compromise
| Type | Indicator | Context |
|---|---|---|
| DOMAIN | t[.]m-kosche[.]com | Attacker-controlled domain to which the compromised GitHub Actions exfiltrated CI/CD credentials and stolen secrets. |
MITRE ATT&CK
T1003.007 · Proc FilesystemThe compromised GitHub Actions and Shai-Hulud worm reportedly read /proc/pid/mem to extract secrets from the Runner.Worker process.T1027.003 · SteganographyThe article describes WAV steganography as a technique used to hide payloads.T1041 · Exfiltration Over C2 ChannelCompromised GitHub Actions reportedly sent stolen CI/CD credentials and secrets to an attacker-controlled domain.T1071.004 · DNSThe Nx Console extension reportedly used DNS tunneling as an exfiltration channel.T1195.001 · Compromise Software Dependencies and Development ToolsAttackers compromised a VS Code extension, GitHub Actions, npm packages, and a PyPI package to deliver malicious code through software dependencies and development tools.T1552.001 · Credentials In FilesThe Shai-Hulud worm reportedly harvested credentials from more than 130 file paths.
Threat Actors
Malware
Vendors
GitHubof the development pipeline: a poisoned VS Code extension with 2.2 million installs, multiple compromised GitHub Actions, hijacked npm packages spreading via a self-replicating worm, and a trojanized PyPI package ownedMicrosofthijacked npm packages spreading via a self-replicating worm, and a trojanized PyPI package owned by Microsoft. The campaign culminated in GitHub itself disclosing that approximately 3,800 of its internal source
Products
Durable Functions SDKThree malicious versions of Microsoft's official Durable Functions SDK (400K+ monthly downloads) published within 35 minutes.GitHub Actionsdevelopment pipeline: a poisoned VS Code extension with 2.2 million installs, multiple compromised GitHub Actions, hijacked npm packages spreading via a self-replicating worm, and a trojanized PyPI package owned byNx ConsoleNx Console VS Code Extension CompromisedVS Codewaves ever recorded. Five distinct attacks targeted every layer of the development pipeline: a poisoned VS Code extension with 2.2 million installs, multiple compromised GitHub Actions, hijacked npm packages spreading
