GitHub Developer Tokens Stolen: Police Investigate Major Security Breach 2026

GitHub's May 2026 breach exposed internal repositories through a poisoned VS Code extension; months later, South Korean police discovered widespread token leaks during an unrelated investigation.

Yes, GitHub developer tokens were stolen in a significant security breach that unfolded across May and July 2026. Microsoft’s GitHub platform fell victim to a coordinated attack where a malicious Visual Studio Code extension harvested authentication credentials and access tokens from developer machines, resulting in the theft of approximately 3,800 of GitHub’s own internal repositories. The breach, attributed to the threat group TeamPCP (tracked by some researchers as UNC6780), was discovered by GitHub on May 19, 2026, the same day the company rotated its critical secrets to prevent further exploitation. The full scope of the attack only became clear months later when South Korean police uncovered evidence of widespread token leakage during the course of investigating an unrelated cybercrime case.

Officers discovered that a criminal suspect possessed another person’s GitHub personal access token, triggering a broader investigation that revealed a large-scale leak of GitHub authentication credentials. By July 2026, South Korea’s National Police Agency had confirmed the breach involved numerous stolen tokens and issued a nationwide security advisory, notifying Microsoft, Interpol, and affected organizations of the incident. This breach exemplifies how supply chain attacks targeting developer infrastructure can compromise not just individual developers but the institutions that maintain critical software repositories. Unlike typical data breaches targeting consumer records, this attack aimed at the keys to the kingdom—the authentication tokens that grant access to code repositories, deployment pipelines, and internal systems.

Table of Contents

How Did Attackers Compromise GitHub’s Internal Repositories?

The attack chain began with a compromised Visual Studio Code extension that was designed to exfiltrate developer secrets and access tokens from infected machines. Developers who installed the malicious extension unknowingly granted it permissions to access their local development environments, including stored credentials, SSH keys, and authentication tokens. Once installed, the extension silently harvested these secrets and transmitted them to attacker-controlled infrastructure, giving TeamPCP a foothold into developer accounts and systems with legitimate access to GitHub repositories. The targeting was precise and strategic. By focusing on an attack vector that developers use daily—the editor many use to write and manage code—the attackers bypassed traditional network defenses and perimeter security.

GitHub’s internal developers, who maintain the platform’s core repositories and infrastructure code, were likely among the targets. When these developers’ credentials were compromised, attackers gained the ability to clone, inspect, and potentially modify the internal repositories that power GitHub’s own operations. The theft of 3,800 internal repositories represents an enormous intelligence gain for a threat actor. These repositories likely contain source code for GitHub’s authentication systems, infrastructure-as-code templates, internal deployment tools, security utilities, and architectural documentation. For an organization like GitHub, which operates a platform handling millions of developers worldwide, exposure of internal code repositories creates cascading risks—not just for GitHub’s own security, but potentially for the broader software supply chain that depends on GitHub’s integrity.

The Supply Chain Attack Through Poisoned Developer Tools

The use of a malicious Visual Studio Code extension as the attack vector highlights a critical vulnerability in how modern development tools distribute code and request permissions. VS Code extensions run with significant privileges and can access file systems, environment variables, clipboard contents, and stored credentials. Unlike application-store reviews that might catch obvious malware, an extension can appear legitimate while silently harvesting sensitive data in the background. The extension-based approach allowed TeamPCP to operate with minimal detection for a period of time. Developers who installed it would not notice obvious behavioral changes—no error messages, no system slowdowns, no suspicious network activity visible in typical monitoring.

The malicious code was bundled alongside seemingly legitimate functionality, making it difficult for casual inspection to identify the true purpose. This resembles previous supply chain attacks like the Codecov Bash Uploader breach or the SolarWinds compromise, where legitimate development infrastructure was weaponized to distribute malware at scale. A significant limitation of this attack method is that it required developers to actively install the extension and grant it permissions. This means the attack surface was narrower than a completely network-based compromise would be, and the number of affected developers was constrained by adoption rates. However, because GitHub’s own developers would naturally be early adopters of VS Code extensions and development tools, and because they would have elevated access to critical repositories, the targeting was still devastatingly effective. The attackers achieved maximum damage through targeted compromise of high-value victims rather than broad infection of many low-value targets.

South Korean Police Uncovering the Larger Token Leak

The discovery of the breach’s full scope came not from GitHub’s security team, but from South Korean law enforcement investigating an unrelated cybercrime case. During that investigation, police found that a criminal suspect possessed another individual’s GitHub personal access token. This seemingly routine finding triggered investigators to look deeper into how such tokens were circulating and whether a larger leak had occurred. Their inquiry revealed that GitHub tokens were being distributed and traded in ways consistent with a major credential breach. The South Korean National Police Agency’s investigation, conducted in coordination with Microsoft and Interpol, revealed that the May 2026 breach had resulted in a large-scale leak of personal access tokens—the primary authentication mechanism that developers use to interact with GitHub via command-line tools, CI/CD pipelines, and custom applications.

Personal access tokens grant the same level of access as the developer’s credentials, meaning anyone with a valid token can clone repositories, push code, create branches, and potentially sabotage projects. The police advisory issued in July 2026 warned that these tokens could be used for unauthorized access, credential manipulation, and supply chain attacks against organizations using those developers’ GitHub accounts. The international coordination between South Korea’s National Police, Microsoft, and Interpol underscores how seriously governments and major tech companies treat breaches of authentication infrastructure. Token leaks are particularly dangerous because they can be used silently—a stolen token allows an attacker to authenticate as a legitimate user without triggering password-reset warnings or unusual login notifications. Unlike a leaked database of passwords, which users can be forced to rotate, tokens sitting in attackers’ hands can be leveraged gradually and carefully to avoid detection.

What Does a Stolen GitHub Token Actually Let Attackers Do?

A GitHub personal access token grants API access equivalent to a developer’s GitHub account, with specific permission scopes determined at token creation. Depending on the token’s configuration, an attacker with a stolen token can read all private repositories that the token’s owner can access, push commits to any repository the owner has write access to, create pull requests, manage workflows, delete branches, and modify repository settings. For developers working on sensitive projects—financial infrastructure, healthcare systems, government software, or proprietary machine learning models—a stolen token is a critical security incident. The practical risk varies significantly based on the token’s scope and the developer’s access level. A junior developer’s token might grant access only to a few public projects, limiting the damage. But a senior engineer’s token or an administrator’s token could provide access to hundreds of repositories, deployment systems, and organizational settings.

In the GitHub breach, many of the stolen tokens likely belonged to employees with elevated access, multiplying the potential for damage. An attacker could use such tokens to inject malicious code into repositories, alter CI/CD pipelines to inject backdoors into published software packages, or exfiltrate proprietary code for competitive advantage. The tradeoff in token security lies between convenience and restriction. Developers create personal access tokens to automate workflows without storing their passwords in configuration files, making tokens a security improvement over old practices. However, they also create a single point of compromise—if the token is stolen, the attacker’s access persists until the token is manually revoked. Unlike passwords that can be managed through centralized authentication systems, tokens are often forgotten in configuration files, Docker containers, CI/CD systems, and old scripts, living far longer than developers expect.

Why Developer Tool Attacks Are Particularly Dangerous

The GitHub breach highlights how attacks targeting developer infrastructure create disproportionate risk compared to traditional data breaches. A developer’s compromised account doesn’t just expose that individual’s data—it potentially compromises every project they touch, every library they maintain, every open-source package they contribute to, and every organization that depends on their work. The blast radius of a developer credential breach extends through the entire software supply chain. Consider the case of a compromised developer who maintains a popular open-source library used by thousands of applications. An attacker with that developer’s GitHub token could inject malicious code into a new version of the library, which would automatically be installed by developers worldwide as they run dependency updates.

The developer themselves might not even notice for hours or days, by which time the malicious code is embedded in tens of thousands of projects. This is not theoretical—similar attacks have been conducted against popular packages like ua-parser-js, colors.js, and several Python packages, though those were typically achieved through compromised passwords rather than stolen tokens. A significant limitation of security awareness campaigns is that they often focus on individual users without adequately addressing how developer-level compromises affect downstream users and organizations. A developer might ignore warnings about securing their credentials because they believe they’re only responsible for their own work, unaware that compromising their account potentially compromises millions of users who depend on their software. The GitHub breach demonstrates that securing developer accounts requires not just individual responsibility, but also platform-level protections like IP allowlisting, token expiration policies, and anomalous access detection.

How GitHub and Microsoft Responded to the Breach

GitHub’s detection and response on May 19, 2026 was relatively swift—the company identified the breach and immediately rotated its critical secrets, preventing attackers from using stolen credentials to maintain persistence or escalate access to core infrastructure. This rapid containment limited the window during which attackers could use internal GitHub credentials to further compromise the platform. However, the 3,800 stolen internal repositories remained in attacker hands, meaning the damage in terms of code exposure was already done.

Microsoft’s broader response included notifying affected customers, publishing details about the attack, and working with law enforcement to investigate TeamPCP’s operations. The company also likely implemented additional controls such as tighter restrictions on personal access token permissions, enhanced monitoring for anomalous token usage, and IP-based access controls for certain sensitive repositories. For developers whose tokens were exposed, GitHub issued recommendations to revoke compromised tokens and rotate any secrets that were stored in environment variables or configuration files that might have been accessed during the initial compromise.

The Ongoing Investigation and What Comes Next

The South Korean police investigation, ongoing through July 2026, has helped establish the scale of the token leak and has contributed to global law enforcement awareness of TeamPCP’s operations. By tracing how tokens entered the criminal underworld through the unrelated cybercrime investigation, police have been able to quantify the threat and alert organizations about the specific nature of the stolen credentials. The police advisory served to accelerate disclosure and response among affected organizations that might not have received direct notification from GitHub or Microsoft.

The GitHub developer token breach and police investigation represent a significant shift in how governments treat cybersecurity breaches targeting critical infrastructure. Rather than allowing private sector responses alone, law enforcement agencies are directly participating in breach investigations, conducting independent analysis, and issuing public warnings. This coordination has established a clearer picture of the attack scope and has forced organizations to acknowledge the severity of token leaks—not as theoretical risks, but as immediate threats being actively exploited and traded in criminal networks. The breach also prompted broader conversations across the industry about the security of developer tools, the risks of supply chain attacks through IDE extensions, and the need for stronger authentication mechanisms beyond simple token-based access.

Frequently Asked Questions

How many GitHub repositories were stolen in the breach?

Approximately 3,800 of GitHub’s internal repositories were stolen during the May 2026 breach attributed to TeamPCP.

What was the attack method used in the GitHub breach?

The attackers used a malicious Visual Studio Code extension that harvested developer secrets and personal access tokens from infected developer machines.

When was the GitHub breach discovered?

GitHub detected the breach on May 19, 2026, the same day the company rotated critical secrets to prevent further exploitation.

How did South Korean police discover the full scope of the breach?

Police uncovered evidence of token leakage while investigating an unrelated cybercrime case, discovering that a suspect possessed another person’s GitHub token, which triggered a broader investigation.

What threat actor was responsible for the GitHub breach?

The breach was attributed to TeamPCP, also tracked by security researchers as UNC6780.

What organizations were involved in investigating the breach?

The investigation involved South Korea’s National Police Agency, Microsoft (GitHub’s operator), and Interpol.


You Might Also Like