GitHub confirms breach after poisoned VS Code extension

GitHub says attackers stole data from around 3,800 internal code repositories after a compromise involving a poisoned VS Code extension on an employee device. The company says it has no evidence customer information stored outside GitHub’s internal repositorie
GitHub woke up to a familiar kind of attack — one that doesn’t crash systems so much as quietly slip through them. In a series of posts on X, the company confirmed it had been hacked and said attackers stole data from around 3,800 internal code repositories.
The damage, at least as GitHub currently understands it, appears contained to its own internal holdings. It said it has “no evidence of impact to customer information stored outside of GitHub’s internal repositories,” while its investigation is still ongoing.
What set the compromise in motion was more specific — and more worrying for developers who rely on tools every day. GitHub said it “detected and contained a compromise of an employee device involving a poisoned VS Code extension.” In other words. a malicious plugin for Visual Studio Code. the popular code editor used for programming. played a role in getting into the environment.
GitHub also did not name which extension was involved.
The broader pattern is already familiar to cybersecurity teams: attackers are increasingly targeting widely used developer tools, including coding extensions. The reasoning is brutally practical. If a popular extension is poisoned. the people who install it can become a pathway into far larger networks — magnifying the reach of an otherwise small initial intrusion.
For now. questions remain about what the attackers were able to do after the internal compromise began. and whether anything else followed. GitHub did not immediately respond to a request for comment about the incident. It also did not answer questions about whether it has received any communication from the hackers. including whether a ransom demand was made.
The claim of responsibility adds another layer to the story. The Record and Bleeping Computer reported that a hacking group called TeamPCP took credit for the GitHub breach and is selling the data on a cybercrime forum.
TeamPCP has also been linked to a prior major incident involving the European Commission. That breach resulted in the theft of more than 90 gigabytes of data from the cloud storage of the EU’s executive arm. In that case. the hackers stole the European Commission’s cloud key during an earlier breach at Trivy. a vulnerability scanning tool. They did it by pushing info-stealing malware to Trivy’s downstream users.
And GitHub isn’t the only platform in recent weeks that has faced a similar threat shaped by the same playbook. OpenAI was also targeted in a separate attack in which hackers broke into Tanstack. a platform used by web developers. to push updates containing malware. Those updates were designed to let the attackers steal passwords and tokens from users.
For developers, the uncomfortable lesson is simple: security failures increasingly start at the edge — in the extensions, plugins, and update channels people trust.
GitHub says it has contained the compromise and sees no evidence that customer information stored outside its internal repositories was impacted. But with the investigation ongoing and the extension unnamed. one thing is already clear: the software supply chain is not a distant concept anymore. It’s the route attackers are using to get in.
GitHub Microsoft breach VS Code extension poisoned extension internal repositories cybersecurity TeamPCP supply chain attack malware developer tools
So they got hacked through a VS Code thing?? That’s just wild.
I don’t even trust extension marketplaces anymore. If it was internal repos only then cool I guess, but how do we know? 3,800 repos sounds like a lot.
Wait, poisoned extension on an employee device… that means VS Code itself got compromised right? Like it’s not just a plugin, it’s the whole program? Either way this is why I avoid updates.
GitHub always says “no evidence” and then later it’s like oh actually there was. Also why wouldn’t customer info be impacted if they can see internal repos? Kinda feels like they’re downplaying it. Wonder if the extension had like 5M downloads or something.