# GitHub Breach Exposes 4,000 Internal Repositories as TeamPCP Supply Chain Campaign Intensifies


GitHub is investigating a significant breach of its internal repositories after the notorious threat actor TeamPCP claimed responsibility for unauthorized access to approximately 4,000 internal code repositories. The incident marks an escalation in TeamPCP's ongoing supply chain attack campaign and highlights the increasing sophistication of threats targeting the software development pipeline.


## The Threat: GitHub's Internal Access Compromised


On May 20, 2026, GitHub confirmed it detected unauthorized access to internal repositories following a compromise of an employee device. The attack vector was particularly insidious: a poisoned Microsoft Visual Studio Code extension that gave attackers initial access to the company's infrastructure. TeamPCP subsequently listed the stolen source code and internal organizational data for sale on cybercrime forums, demanding a minimum of $50,000.


In an unusual statement, the threat actor claimed this was not a ransom demand, stating: *"We do not care about extorting GitHub. If no buyer is found, we leak it for free."* This posturing—combined with references to an impending "retirement"—suggests TeamPCP may be attempting to monetize its access before potentially suspending operations.


Key Details of the Breach:

  • Scope: Approximately 3,800–4,000 internal GitHub repositories exfiltrated
  • Attack Vector: Poisoned Visual Studio Code extension on employee device
  • Detection: GitHub identified and contained the compromise
  • Mitigation: Critical secrets rotated; highest-impact credentials prioritized for renewal
  • Customer Impact: No evidence of unauthorized access to customer repositories or data outside GitHub's internal systems

  • GitHub stated it detected no impact to external customer data, emphasizing that the exfiltration was limited to internal repositories. However, the company is actively monitoring for follow-on activity and has established incident response channels to notify customers if any additional impact is discovered.


    ## Background: TeamPCP's Growing Arsenal


    TeamPCP has emerged as a serious threat to the open-source software ecosystem over the past several months. The group is responsible for orchestrating Mini Shai-Hulud, a self-replicating malware campaign that has systematically compromised high-value Python packages on PyPI (Python Package Index).


    Previous Compromises in the Campaign:

  • guardrails-ai: Compromised last week with an infostealer payload
  • durabletask: Official Microsoft Python package for the Durable Task workflow framework (covered below)
  • Multiple other open-source projects targeted for credential harvesting

  • The sophistication of TeamPCP's operations has grown markedly. Rather than simple script-injection attacks, the group now deploys multi-stage payloads with advanced propagation capabilities and selective payload execution based on system location and architecture.


    ## Technical Details: A Multi-Stage Infostealer Evolution


    The malware embedded in compromised packages like durabletask demonstrates TeamPCP's technical maturity. The attack unfolds in stages:


    Stage 1: Initial Compromise

  • TeamPCP compromised a GitHub account via a previous attack
  • Extracted GitHub secrets from repositories accessible to the compromised account
  • Used extracted PyPI tokens to publish malicious package versions directly to PyPI

  • Stage 2: Dropper Deployment

  • Malicious packages (durabletask versions 1.4.1, 1.4.2, 1.4.3) contain a dropper payload
  • The dropper fetches a second-stage payload ("rope.pyz") from attacker-controlled server "check.git-service[.]com"

  • Stage 3: Credential Harvesting

    The second-stage infostealer is a 28KB Python script with sophisticated credential-theft capabilities:


    | Target | Details |

    |--------|---------|

    | Cloud Providers | AWS credentials, environment variables, access keys |

    | Password Managers | 1Password and Bitwarden vaults (with unlock attempts) |

    | Developer Tools | SSH keys, Docker credentials, kubectl configs |

    | Secret Management | HashiCorp Vault KV secrets |

    | System Data | VPN configurations, shell history, environment variables |


    Propagation Mechanisms:

    The malware includes environment-aware propagation logic:

  • AWS Environments: Leverages Systems Manager (SSM) to spread to other EC2 instances
  • Kubernetes Clusters: Uses kubectl exec to propagate across pod containers
  • Destructive Payload: On systems with Israeli or Iranian locale settings, executes rm -rf /* with a 1-in-6 probability (suggesting a geopolitical targeting component)

  • The Linux-only targeting suggests TeamPCP is focusing on development and cloud infrastructure environments where Python is prevalent and where credentials are typically stored.


    ## Supply Chain Impact: The Durabletask Compromise


    The compromise of durabletask, an official Microsoft Python package for the Durable Task workflow execution framework, represents a direct threat to organizations using Microsoft's Azure ecosystem for workflow automation.


    Attack Timeline:

    1. TeamPCP obtained access to the GitHub account of a contributor with PyPI publication rights

    2. Extracted PyPI authentication tokens from GitHub repository secrets

    3. Published three malicious versions (1.4.1, 1.4.2, 1.4.3) to PyPI

    4. Payload designed to harvest cloud credentials and propagate across infrastructure


    Who Is Affected:

  • Organizations running durabletask in Python-based workflows
  • Teams using Durable Task Framework for serverless orchestration
  • Any system executing the compromised package versions
  • Cloud environments connected to machines with the infostealer payload

  • This incident demonstrates a critical vulnerability in the Python ecosystem: the ability of a single compromised GitHub account to directly affect millions of downstream users through PyPI package distribution.


    ## Implications for Defenders


    This incident exposes multiple layers of risk:


    Supply Chain Vulnerability: Open-source packages remain a soft target for attackers with access to contributor credentials. A single compromised account with PyPI publication rights can distribute malware to thousands of organizations.


    Lateral Movement Risk: The malware's propagation capabilities—particularly SSM and kubectl exploitation—mean initial compromise of a development machine could translate to infrastructure-wide infection.


    Credential Harvesting at Scale: Infostealers targeting cloud provider credentials, password managers, and Vault secrets create a cascading compromise scenario where a single infected machine could unlock access to entire cloud environments.


    Detection Challenges: Python-based payloads fetched from external servers are difficult to detect with static analysis, requiring behavioral monitoring and network-based controls.


    ## Recommendations


    For Organizations Using Affected Packages:

  • Immediately audit use of durabletask versions 1.4.1, 1.4.2, and 1.4.3
  • Upgrade to the latest patched version once Microsoft releases remediation
  • Review execution logs for evidence of rope.pyz downloads from check.git-service[.]com
  • Assume credential compromise if affected package was executed in development or production environments

  • For Cloud-Native Development Teams:

  • Rotate all AWS, Azure, and GCP credentials used by developers or CI/CD systems
  • Audit 1Password and Bitwarden vaults for unauthorized access
  • Review SSH key usage and rotate keys that may have been exposed
  • Check Docker registries and Kubernetes clusters for anomalous activity
  • Implement strict IAM policies limiting EC2 Instance Metadata Service (IMDSv2) access

  • For Package Maintainers:

  • Enable mandatory code review for all PyPI package releases
  • Use hardware security keys for PyPI authentication
  • Store PyPI tokens in a secret manager, not in GitHub repository secrets
  • Implement automated malware scanning on package releases

  • For Security Teams:

  • Monitor for downloads from check.git-service[.]com and related domains
  • Track TeamPCP activity across threat intelligence channels
  • Increase monitoring for Python package installation anomalies
  • Prepare incident response playbooks for supply chain compromises

  • ---


    ## HackWire Analysis


    TeamPCP's attack on GitHub and the durabletask compromise represent a watershed moment in supply chain security. This isn't a one-off breach; it's the maturation of a coordinated campaign that weaponizes the trust inherent in open-source distribution.


    What makes this particularly dangerous is the *layering of tradecraft*. TeamPCP didn't just compromise GitHub's internal repositories—they used that access to extract secrets that gave them direct publishing rights to PyPI. They then weaponized that access with a multi-stage payload that's architecture-aware and environment-aware, capable of adapting its behavior based on where it's executed. The propagation through SSM and kubectl shows they understand cloud-native infrastructure deeply.


    The timing and the audacity matter. GitHub knew about this breach for hours before disclosing it publicly, according to TeamPCP's own statements. In a world where supply chain attacks move at machine speed, delays in disclosure are almost as dangerous as the breach itself. And TeamPCP's public statements—talking about "retirement" and offering to leak data for free—suggest a threat actor either confident they won't be caught or preparing to hand off their access to other actors.


    For defenders, the lesson is clear: a compromised developer credential no longer just threatens your own code. It threatens every downstream user of your packages. Organizations need defense-in-depth: credential rotation on a heartbeat cycle, network detection for known exfiltration domains, and honest conversations about the risk inherent in maintaining open-source software with minimal overhead.


    — HackWire Editorial


    ## Related Coverage


  • Read more in our [Tools](https://www.hackwire.news/category/tools) coverage
  • Cross-reference with [Breaches](https://www.hackwire.news/category/breaches) and [Vulnerabilities](https://www.hackwire.news/category/vulnerabilities)
  • Stay current via the [HackWire homepage](https://www.hackwire.news/)