Breach of GitHub Internal Repositories by TeamPCP: Exfiltration of ~3,800 Repositories via Malicious VS Code Extension
Threat Intelligence Note: Unauthorized Access and Exfiltration of GitHub Internal Repositories
Publication Date: May 23, 2026
Introduction
On May 19, 2026, GitHub detected and contained a security incident that compromised employee devices through a malicious extension for the Visual Studio Code (VS Code) development environment. The threat actor known as TeamPCP (also tracked as UNC6780 by Google Threat Intelligence Group) exfiltrated approximately 3,800 internal repositories from the platform. GitHub publicly confirmed the incident on May 20, 2026 through an official post on its security blog. According to the company’s initial assessment, the exfiltration activity was limited exclusively to GitHub’s own internal corporate repositories; there is no evidence, at the time of disclosure, that customer repositories, enterprise organizations, or user data stored outside internal systems were compromised. The source code of the platform’s core services, however, could be among the stolen material, representing a significant risk to the global software supply chain.
What is an Internal Development Repository Breach?
Nature of the Incident
The internal or private repositories of a software development organization represent the core of its intellectual property and operational infrastructure. Unlike public repositories, these contain:
- Proprietary source code of products and services in production
- Embedded secrets and credentials: API tokens, SSH keys, certificates, database passwords, and environment variables
- Infrastructure configurations: deployment scripts (IaC), CI/CD pipelines, and internal architectures
- Sensitive technical documentation: network diagrams, security specifications, and internal dependencies
- Customer support data: in GitHub’s case, some internal repositories may contain fragments of customer interactions, according to the company’s own statement
Strategic Implications
The compromise of internal repositories from a platform like GitHub — used by more than 180 million developers and 90% of Fortune 100 companies — goes beyond immediate corporate damage. Attackers in possession of this material can:
- Identify zero-day (0-day) vulnerabilities in the platform itself before they are patched
- Escalate privileges in customer infrastructure if tokens or credentials with broad permissions are obtained
- Design supply chain attacks against the millions of projects hosted on the platform
- Monetize the information through sale to third parties, as evidenced by its listing on underground forums with a starting price of $50,000 USD
How Does It Work?
Attack Vector: Malicious VS Code Extension (Supply Chain via Developer Tooling)
The attack followed a supply chain compromise pattern specifically targeting the attack surface of developer workstations.
Phase 1 — Implant Distribution
TeamPCP introduced a trojanized version of an extension into the VS Code Marketplace. The most likely candidate extension, according to multiple independent researchers, is nrwl.angular-console v18.95.0 (Nx Console), an extension with more than 2.2 million installs and verified publisher status. The malicious payload consisted of:
- A multi-stage stealer of approximately 2,777 bytes of JavaScript injected into a minified file
- Silent execution upon opening any workspace in the editor
Phase 2 — Credential Harvesting on the Endpoint
VS Code extensions run with the same privileges as the editor, granting them unrestricted access to:
- Operating system environment variables
- Configuration directories (
~/.ssh,~/.config,~/.aws,~/.gitconfig) - Tokens cached by CLI tools such as
gh,git,aws,az, andgcloud - Integrated password managers (in this case, 1Password material was reported as part of the scope)
- npm credentials and private package registries
The stealer silently collected authentication material from GitHub, npm, AWS, and 1Password from the moment the developer opened a workspace.
Phase 3 — Repository Exfiltration
Using the compromised employee’s access tokens, the threat actors proceeded to:
- Authenticate to the GitHub API using the stolen credentials
- Enumerate accessible repositories under the compromised user’s context
- Mass-clone the internal repositories (~3,800 repositories identified)
- Transfer the material to infrastructure under their control
Phase 4 — Monetization
TeamPCP posted the sale offer on the Breached forum (BreachForums) stating:
“As always, this is not a ransom. We do not care about extorting GitHub, 1 buyer and we shred the data on our end. If no buyer is found, we leak it for free.”
The group also explored alliances with ransomware actors, including LAPSUS$ and the Vect group, under an operational model in which TeamPCP provides initial access and its partners manage extortion and encryption.
Summarized Attack Flow
VS Code Marketplace
│
▼
Trojanized extension installed on employee workstation
│
▼
Stealer executed → Harvesting of GitHub tokens/credentials
│
▼
Authentication to GitHub API with compromised token
│
▼
Enumeration and cloning of ~3,800 internal repositories
│
▼
Exfiltration to attacker infrastructure
│
▼
Sale offer on underground forum ($50,000+)
Affected Systems and Assets
Compromised Assets (Confirmed or Probable)
- ~3,800 internal GitHub repositories: Proprietary source code of the platform, potentially including core services, infrastructure tooling, and development pipelines
- Customer support fragments: Some internal repositories contained data from customer interactions, according to the official statement
- Compromised employee credentials: GitHub tokens, npm credentials, AWS access, and 1Password material
- Employee endpoint device: Isolated as part of the incident response
- Internal secrets: Credentials embedded in the code of the exfiltrated repositories
Assets Outside the Scope (Per Official Report)
- Customer repositories: No evidence of compromise of end-user GitHub repositories, organizations, or enterprises
- External user data: Accounts, profiles, and code of the more than 180 million developers using the platform were not directly affected
- Service production infrastructure: No service interruptions or access to customer databases were reported
- Customer GitHub Actions and GitHub Packages: Not included in the confirmed incident scope
⚠️ Note: The investigation was ongoing at the time of disclosure. GitHub indicated it would notify customers if additional impacts were discovered.
Mitigation and Detection
Immediate Remediation Actions (Taken by GitHub)
- Isolation of the compromised endpoint: The employee’s device was immediately isolated upon detection of the indicator of compromise
- Removal of the malicious extension: The trojanized version was removed from the VS Code Marketplace
- Rotation of critical secrets: GitHub prioritized and rotated high-impact credentials during the first hours of the incident (from Monday night through Tuesday)
- Incident response initiation: Activation of IR teams with continuous log analysis, secret rotation validation, and infrastructure monitoring
- Active monitoring of follow-on activity: Surveillance of lateral movement, anomalous access, and post-exfiltration activity
Detection Recommendations for Organizations
The following measures enable detection of similar activities in corporate development environments:
GitHub Audit Log Monitoring
- Enable and review Audit Logs in GitHub Enterprise, paying attention to:
- Mass or off-hours
git.cloneandgit.fetchevents - Access from unusual IP addresses or anomalous geolocation
- Authentications using personal access tokens (PATs) that exceed usual privileges
repo.accessandorg.inviteevents not initiated by administrators
- Mass or off-hours
- Integrate audit logs with SIEM solutions (Splunk, Microsoft Sentinel, Elastic) for event correlation
Secret Scanning
- Enable GitHub Secret Scanning and Push Protection across all repositories to detect embedded credentials before they are committed
- Implement additional scanning tools such as TruffleHog, Gitleaks, or Detect-Secrets in CI/CD pipelines
- Set up automatic alerts upon detection of tokens, API keys, or certificates in commit history
Development Extension Management
- Implement approved extension allowlists for VS Code and other IDEs through MDM (Mobile Device Management) or endpoint policies
- Evaluate developer device protection solutions that enforce policies at the endpoint, regardless of the corporate network
- Monitor the publication of new versions of installed extensions and establish quarantine periods before automatic updates
- Review access permissions requested by extensions installed in corporate development environments
Principle of Least Privilege for Development Tokens
- Replace long-lived, broad-scope personal access tokens (PATs) with tokens with granular permissions and short expiration
- Migrate CI/CD pipelines to GitHub Apps with repository-specific permissions, instead of user PATs
- Implement periodic (quarterly) reviews of all active tokens and revoke unused ones
- Prohibit the storage of plaintext credentials in configuration files within repositories
Anomalous Behavior Detection on Workstations
- Monitor network processes initiated by child processes of the editor (e.g.,
code.exemaking unusual external connections) - Implement detection of mass reading of credential files from the user’s home directory
- Use EDR (Endpoint Detection and Response) solutions with specific detection rules for IDE extension-based stealers
Recap
The GitHub incident of May 2026 can be summarized as a precise chain of events: the TeamPCP group (UNC6780), specialized in software supply chain attacks, compromised a GitHub employee’s work device through a trojanized extension from the VS Code marketplace. The payload — a JavaScript stealer of just ~2,777 bytes — silently collected GitHub, npm, AWS, and 1Password authentication tokens from the employee’s development environment. With those credentials, the attackers authenticated to GitHub’s internal API and proceeded to clone approximately 3,800 private corporate repositories, potentially including source code from the platform’s core services.
GitHub responded immediately: it isolated the compromised device, removed the extension from the marketplace, and rotated critical credentials, prioritizing those with the greatest impact. The investigation confirmed that the scope of the incident was limited to the company’s own internal repositories, with no evidence of compromise of the repositories, organizations, or data of the platform’s more than 180 million users.
This case reinforces four lessons that every software development organization must internalize:
- The developer workstation is the new security perimeter: it has privileged access to critical systems and deserves protection equivalent to that of production servers.
- The popularity or verification of a tool does not guarantee its permanent integrity: an extension with millions of installs and a verified publisher was the entry vector.
- Strict secrets management is non-negotiable: a broad-scope, long-lived token turned the compromise of a single device into the exfiltration of thousands of repositories.
- Attacks on development platforms have a multiplier effect: TeamPCP’s campaign — which compromised Trivy, Checkmarx KICS, Bitwarden CLI, TanStack, and MistralAI in the preceding months — anticipates that developer tooling ecosystems will continue to be a priority target for financially motivated actors.
Protecting the software supply chain is not an isolated technical problem; it is an organizational responsibility that encompasses identity management, continuous monitoring, critical evaluation of the tooling ecosystem, and a security culture within engineering teams.
References
GitHub Security Blog. (2026, May 20). Investigating unauthorized access to GitHub-owned repositories. https://github.blog/security/investigating-unauthorized-access-to-githubs-internal-repositories/
Help Net Security. (2026, May 20). TeamPCP breached GitHub’s internal codebase via poisoned VS Code extension. https://www.helpnetsecurity.com/2026/05/20/github-breached-teampcp/
Infosecurity Magazine. (2026, May 21). GitHub confirms breach of internal repositories via malicious VS Code extension. https://www.infosecurity-magazine.com/news/github-confirms-breach-vs-code/
Phoenix Security. (2026, May 20). GitHub internal repository breach via poisoned VS Code extension (May 2026): TeamPCP exfiltrates 3,800 repos through the developer trust surface. https://phoenix.security/vs-code-extension-malware-github-breach-teampcp-2026/
The Hacker News. (2026, May 20). GitHub investigating TeamPCP-claimed breach of internal repositories. https://thehackernews.com/2026/05/github-investigating-teampcp-claimed.html
VentureBeat. (2026, May 20). GitHub confirms 3,800 internal repos stolen through poisoned VS Code extension as supply chain worm hits Microsoft’s Python SDK. https://venturebeat.com/security/github-confirms-3800-repos-stolen-poisoned-vs-code-extension-supply-chain-worm-microsoft-python-sdk