GitHub internal repositories exfiltrated via malicious VS Code extension
GitHub confirmed a breach where 3,800 internal repositories were exfiltrated after a developer installed a malicious VS Code extension.
Deep dive
- GitHub confirmed approximately 3,800 internal repositories were exfiltrated due to a malicious VS Code extension installed by an employee.
- The incident aligns with claims from the TeamPCP hacker group, known for supply chain attacks involving CI/CD credentials.
- GitHub CISO Alexis Wales stated there is no evidence of impact to external customer repositories, but some internal data included customer support interactions.
- GitHub immediately began rotating critical secrets, prioritizing high-impact credentials, and is conducting a full investigation.
- This breach highlights the growing risk in the software supply chain, where malicious developer tools are used as an entry vector.
- The article mentions a separate, swift-response incident where the Nx Console VS Code extension (2.2 million installs) was briefly backdoored, collecting credentials silently.
- Experts, like Sonatype's Ilkka Turunen, emphasize that developers are now permanent targets, and "minimum package and extension ages" could help protect against such attacks.
Decoder
- Software supply chain attack: A cyberattack that targets vulnerabilities in the software development process, often by compromising third-party components or tools used by developers.
- VS Code extension: A program that extends the functionality of Microsoft's Visual Studio Code integrated development environment.
Original article
GitHub has confirmed that around 3,800 internal repositories have been breached, after a developer unwittingly installed a malicious VS Code extension.
The Microsoft-owned code repository and DevOps platform said the breach was detected on Monday, but that the activity involved exfiltration of GitHub-internal repositories only.
"We have no evidence of impact to customer information stored outside of GitHub's internal repositories, such as our customers' own enterprises, organizations, and repositories," said the firm's chief information security officer, Alexis Wales.
"Some of GitHub's internal repositories contain information from customers, for example, excerpts of support interactions. If any impact is discovered, we will notify customers via established incident response and notification channels."
GitHub said it started rotating critical secrets as soon as it discovered the breach, with the highest-impact credentials prioritized first. It is now analyzing logs, validating secret rotation, and monitoring its infrastructure for any follow-on activity, it said, promising a fuller report once it's finished its investigation.
GitHub hasn't explicitly named the attacker, but made reference to a claim by the TeamPCP hacker group that it had accessed around 3,800 repositories, saying that the number was consistent with its investigation so far.
TeamPCP, which first appeared late last year, is the group linked to the Mini Shai-Hulud worm, and carries out supply chain attacks by stealing CI/CD credentials and using them to publish infected versions of further packages.
The group has reportedly not asked for a ransom for the GitHub data, but is offering the stolen data for sale for $50,000, saying that if it doesn't receive an offer, it will leak it for free.
"This is another reminder that developers are now permanent targets in software supply chain attacks. TeamPCP has shown how a motivated attacker can move through the tools developers trust every day – open source packages, extensions, accounts, and credentials – rather than trying to break in through the front door," said Ilkka Turunen, Field CTO at Sonatype.
"Combined with the acceleration we're already seeing from AI-assisted vulnerability discovery, the window between compromise and exploitation is collapsing. The old assumption was that defenders would have time to identify, prioritize, and respond. That margin is disappearing."
The news came just a day after the Nx Console VS Code extension, which has 2.2 million installs, was briefly backdoored, with the malicious version collecting credentials silently when a developer opened a workspace. The issue was handled swiftly, with the extension pulled within 18 minutes on the VS Code Marketplace and 36 minutes on Open VSX.
"The community's ability to catch and remove malicious packages is real. For extensions with millions of installs, it's also insufficient," commented Shaun Brown technical product marketer at Aikido Security.
"Caught in 18 minutes and prevented exposure are not the same thing. Minimum package and extension ages are the best way to protect your devices from similar attacks today."
Fresh dev news, AI-digested daily. Never miss a trend at devoured.fyi