GitHub Under Fire: Poisoned VS Code Extension Steals 3,800 Repositories

Eighteen minutes. That's all it took for a single poisoned VS Code extension to breach GitHub's internal infrastructure and exfiltrate thousands of repositories. If the world's most security-conscious developer platform can fall this way, every enterprise needs to pay attention.

On May 18, 2026, a supply-chain attack unfolded that should keep every CTO awake at night. The popular Nx Console extension — installed by over 2.2 million developers worldwide — was compromised and republished to the official VS Code Marketplace with a malicious payload baked in.

It was live for just 18 minutes before being taken down. But 18 minutes was enough. One GitHub employee installed it. That single click gave the threat actor group known as TeamPCP (tracked as UNC6780 by Google Threat Intelligence) access to approximately 3,800 of GitHub's internal code repositories.

No CVE was issued. No zero-day was exploited. No firewall was breached. A developer tool that millions trust was simply turned into a Trojan horse — and the front door opened from the inside.

Why this is different from a normal breach

Most enterprise breaches involve exploiting unpatched vulnerabilities, phishing employees, or misconfigured cloud storage. This attack was fundamentally different. It abused the trust relationship between developers and their tools — the very tools that are supposed to be on their side.

VS Code extensions run with the same privileges as the editor itself. They can access your filesystem, execute commands, make network requests, and read your environment variables. Most developers install extensions the way they install mobile apps: casually, without auditing the code, trusting that Microsoft's marketplace does the due diligence.

In this case, the marketplace failed. The malicious payload was pushed through the standard publishing pipeline, passed whatever automated checks exist, and went live.

The developer toolchain is the new attack surface

IDE extensions, npm packages, Docker images, CI/CD plugins — your entire software supply chain is a chain of trust assumptions. The GitHub attack proved that even the most sophisticated organizations can be compromised through a single weak link in this chain.

What actually happened (the facts)

Here's the timeline based on Google Threat Intelligence and public reporting:

  • The extension: Nx Console, a legitimate tool for the Nx build system, with 2.2 million installs
  • The compromise: Attackers gained access to the extension's publishing credentials and pushed a trojanized version
  • The window: The poisoned version was live on the VS Code Marketplace for just 18 minutes
  • The victim: A GitHub employee installed the extension, triggering the payload
  • The impact: Approximately 3,800 internal GitHub repositories were exfiltrated
  • The actor: TeamPCP (UNC6780), tracked by Google Threat Intelligence Group

No vulnerabilities were exploited in VS Code itself. The attack vector was entirely in the supply chain — compromising the publisher, not the platform.

What this means for your enterprise

If GitHub — a company whose entire business is hosting the world's source code, with security teams that are among the best in the industry — can be breached through a single poisoned IDE extension, your organization isn't safe either.

Consider your own development environment. How many VS Code extensions are installed across your engineering team? Who audited them? When was the last time you reviewed what permissions they request? Do you even have an inventory?

"We trust our developers to write secure code. But we don't audit the tools they write it with. That's a blind spot most enterprises can't afford anymore."

— Bastiaan, SimplyOnline

The "trust but verify" model is broken

For years, the security advice has been "trust but verify." Only install extensions from reputable publishers. Check the install count. Read the reviews.

The GitHub attack demolished that model. The publisher was reputable. The install count was high. The extension was legitimate — until it wasn't. The attackers didn't create a fake extension; they compromised a real one.

This is the new reality: supply-chain attacks don't need to be clever. They just need to be patient, and they need one moment of access to the publishing pipeline.

What you should do this week

  • Inventory your extensions: Audit every VS Code extension installed across your organization. You can't protect what you don't know about.
  • Implement extension allowlisting: Use VS Code's built-in extension allowlisting to control which extensions your developers can install. Yes, it's restrictive. That's the point.
  • Treat dev tools as critical infrastructure: Your IDE, your build system, your package managers — these are as important as your production servers. Apply the same security rigor.
  • Monitor for publisher changes: Watch for extensions that suddenly change ownership or publishing patterns. This is an early warning signal.
  • Review CI/CD pipeline access: Ensure your build pipelines don't have broader access than necessary. A compromised build plugin is just as dangerous as a compromised IDE extension.

The bottom line

The GitHub supply-chain attack wasn't sophisticated. It was simple, fast, and devastatingly effective. It exploited the one thing every organization takes for granted: trust in the tools developers use every day.

I've been in IT for 30 years, and the pattern is always the same. We secure the perimeter, harden the servers, encrypt the data — and then we leave the front door open because the person walking through it is wearing a trusted badge.

Your developer toolchain is part of your attack surface. If you're not treating it that way, you're already behind.