Cybersecurity image illustrating threat vectors and data protection in TeamPCP's supply chain campaign.

When three separate supply chain attacks strike within 48 hours across npm, PyPI, and Docker Hub, the operational calculus for every organization using open source software fundamentally shifts. The TeamPCP campaign's return from its 26-day pause demonstrates a coordinated capability that transcends opportunistic package poisoning—this represents industrial-scale credential harvesting infrastructure operating across the entire software development ecosystem. (Source: Isc)

The business implications extend far beyond traditional breach scenarios. Unlike ransomware that announces itself or data theft that triggers regulatory notifications, supply chain compromises embed themselves invisibly within trusted development workflows. The Bitwarden CLI incident exemplifies this cascading risk: a poisoned Docker image automatically propagated through Dependabot automation into a password management tool downloaded 334 times before detection. Each download potentially exposed not just one organization's secrets, but the credentials those organizations manage for their own customers.

Consider the operational reality: Checkmarx KICS processes infrastructure-as-code scanning for organizations deploying cloud resources. The trojanized version retained legitimate scanning behavior while silently exfiltrating scan outputs to attacker infrastructure. These scan outputs routinely contain AWS keys, database credentials, API tokens, and internal network topology—the complete blueprint for an organization's cloud infrastructure. The 14:17:59 to 15:41:31 UTC exposure window on April 22 means any organization running automated security scans during that period potentially handed their entire cloud architecture to threat actors.

The xinference compromise adds another dimension of risk. With approximately 600,000 cumulative downloads, this AI inference framework operates at the heart of machine learning pipelines processing sensitive data. The malicious payload swept AWS credentials, Google Cloud configurations, Kubernetes tokens, and database credentials—but more critically, it accessed AI tooling configuration files. Organizations training proprietary models or processing customer data through AI pipelines face exposure of both their intellectual property and the datasets themselves.

The emergence of CanisterSprawl as a self-propagating worm changes the threat model entirely. Traditional supply chain attacks require manual compromise of each target package. CanisterSprawl automatically jumps between ecosystems when it discovers PyPI publish tokens on infected hosts, creating exponential spread potential. The worm harvests roughly 40 credential categories through regex sweeps and uses Internet Computer Protocol canisters for command-and-control—infrastructure designed to resist takedown attempts.

Financial services, healthcare, and government contractors face particular exposure given their heavy reliance on security scanning tools and automated dependency management. The "Shai-Hulud: The Third Coming" marker in the Bitwarden compromise suggests potential connections to the late 2025 npm worm campaigns, indicating these aren't isolated incidents but part of a sustained operational capability.

The simultaneous nature of these compromises reveals sophisticated operational planning. Launching three attacks across different ecosystems ensures at least one will succeed even if others face rapid detection. It also maximizes the window before security teams can correlate the incidents as related. Organizations now face adversaries who understand their CI/CD pipelines, their dependency update cycles, and their security tool deployments well enough to weaponize them systematically.

48-Hour Supply Chain Attack Campaign
Coordinated strikes across npm, PyPI, and Docker Hub
Bitwarden CLI
Docker Hub Compromise
334 downloads before detection
Propagated via Dependabot automation
Password manager credentials exposed
CRITICAL IMPACT
Checkmarx KICS
April 22, 14:17-15:41 UTC
AWS keys & cloud blueprints stolen
Internal network topology exposed
Database credentials exfiltrated
INFRASTRUCTURE EXPOSED
xinference AI
~600,000 cumulative downloads
Google Cloud configs compromised
Kubernetes tokens harvested
AI model & dataset access gained
IP THEFT RISK

How TeamPCP Penetrates Supply Chains: The Attack Sequence

The operational sophistication of TeamPCP's attack methodology reveals itself through the forensic examination of their April 21-22 compromise cluster. The group's technical approach follows a distinct pattern that security teams can recognize across ecosystems.

Initial access consistently relies on compromised publisher credentials rather than traditional vulnerability exploitation. The Checkmarx KICS incident demonstrates this precisely—attackers authenticated to Docker Hub using valid Checkmarx credentials at 12:35 UTC, pushing malicious images directly to the official repository. This credential-based entry eliminates the noise of exploitation attempts that typically trigger security monitoring.

The group employs a sophisticated dual-layer obfuscation strategy across all three concurrent compromises. Their payloads use double base64 encoding wrapped in legitimate functionality—the poisoned KICS binary retained its legitimate infrastructure-as-code scanning behavior while adding covert telemetry paths. This technique ensures the malware passes casual inspection and automated security scans that look for obvious malicious patterns.

TeamPCP's credential harvesting methodology demonstrates exhaustive targeting across development environments. The xinference payload swept AWS credentials, Google Cloud configurations, Kubernetes tokens, environment variables, SSH keys, API keys, and database credentials through regex-based discovery. The CanisterSprawl worm expanded this to approximately 40 credential categories, indicating a comprehensive understanding of modern development infrastructure.

The exfiltration architecture reveals careful operational security planning. Rather than using traditional command-and-control servers, the group leverages multiple channels including Internet Computer Protocol canisters for CanisterSprawl and domain-fronted endpoints like hxxps://audit.checkmarx[.]cx/v1/telemetry that masquerade as legitimate telemetry services. The KICS compromise specifically used User-Agent string "KICS-Telemetry/2.0" to blend with normal traffic patterns.

Persistence mechanisms vary by ecosystem but share common characteristics. The npm postinstall hooks in CanisterSprawl execute automatically during package installation, while the PyPI compromises inject malicious code directly into __init__.py files that trigger on module import. The Checkmarx VS Code extensions downloaded second-stage payloads from backdated GitHub commits, exploiting trust in version control history.

The most sophisticated aspect involves cross-ecosystem propagation capabilities. CanisterSprawl actively searches for PyPI publish tokens on infected npm hosts, enabling automatic jumps between package registries. This self-propagating behavior transforms individual compromises into ecosystem-wide threats without requiring additional attacker intervention.

Timing coordination across the three incidents suggests centralized operational control. The xinference releases (versions 2.6.0, 2.6.1, and 2.6.2) occurred in rapid succession, while the KICS dangerous window lasted exactly 83 minutes and 32 seconds (14:17:59 to 15:41:31 UTC). This precision indicates automated deployment infrastructure rather than manual operations.

The Bitwarden cascade demonstrates a new attack vector: exploiting CI/CD automation trust relationships. When Dependabot pulled the malicious checkmarx/kics:latest image into Bitwarden's build pipeline, it executed within a trusted context with full access to build secrets. The resulting compromise embedded Dune-themed markers ("Shai-Hulud: The Third Coming") and exfiltrated credentials to public GitHub repositories created under victim accounts, weaponizing GitHub's infrastructure as an exfiltration channel.

TeamPCP Attack Methodology Chain

Initial Access
  • Compromised publisher credentials
  • Docker Hub authentication (12:35 UTC)
  • No exploitation noise
Obfuscation
  • Double base64 encoding
  • Legitimate functionality wrapper
  • Evades automated scans
Credential Harvesting
  • 40+ credential categories
  • AWS, GCP, K8s tokens
  • SSH keys & API keys
  • Regex-based discovery
Exfiltration
  • ICP canisters
  • Domain-fronted endpoints
  • Fake telemetry services
  • Custom User-Agent strings
Persistence
  • npm postinstall hooks
  • PyPI __init__.py injection
  • VS Code extension payloads

Identifying Compromise: Detection Signals and Forensic Indicators

Security teams hunting for TeamPCP compromise indicators should immediately examine their Docker container registries for telemetry patterns that match the KICS exfiltration behavior. The malicious KICS binary maintained legitimate scanning functionality while adding a covert data transmission to hxxps://audit.checkmarx[.]cx/v1/telemetry with the User-Agent string KICS-Telemetry/2.0. This dual-functionality approach means standard behavioral monitoring won't flag the activity as suspicious—you need to specifically search for outbound HTTPS connections to domains mimicking legitimate Checkmarx infrastructure.

The CanisterSprawl worm leaves distinct forensic artifacts through its npm postinstall execution pattern. Look for processes spawned from npm postinstall hooks that immediately detach from the parent process and begin regex-based credential sweeps across approximately 40 distinct categories. The worm targets standard credential storage locations including ~/.aws/credentials, ~/.kube/config, and environment variables containing patterns like API_KEY, TOKEN, or SECRET.

Network traffic analysis reveals the campaign's unique dual-channel command infrastructure. CanisterSprawl specifically uses Internet Computer Protocol (ICP) canister endpoints alongside traditional HTTPS exfiltration—a combination rarely seen in commodity malware. Your network monitoring should flag any outbound connections to ICP canisters, particularly when paired with concurrent HTTPS POST requests containing base64-encoded payloads exceeding 10KB.

The xinference compromise embedded its payload directly in the package's __init__.py file, executing automatically on import. Security teams should audit all Python environments for packages containing double base64-encoded strings within initialization files. The specific pattern involves exec(base64.b64decode(base64.b64decode())) constructs that spawn detached subprocesses. The malicious code included the comment marker # hacked by teampcp, though this attribution remains disputed.

For organizations using Dependabot or similar automated dependency management, examine your CI/CD logs from April 22 between 14:17:59 and 15:41:31 UTC. Any builds that pulled checkmarx/kics:latest during this window potentially incorporated malicious code. The compromised image digests differ from legitimate versions—compare your cached image hashes against Checkmarx's published clean digests to identify poisoned artifacts in your container registries.

The Bitwarden CLI compromise introduced Dune-themed markers that serve as unique detection opportunities. Hunt for strings including Shai-Hulud: The Third Coming, atreides, fremen, sandworm, and sardaukar within your npm package caches and build artifacts. The malware created public GitHub repositories under victim accounts for data exfiltration—monitor your organization's GitHub audit logs for unexpected repository creation events, particularly repos with randomized names containing these Dune references.

VS Code and Open VSX extension users should inspect installed extensions for cx-dev-assist versions 1.17.0 and 1.19.0, and ast-results versions 2.63.0 and 2.66.0. These trojanized extensions silently download a second-stage mcpAddon.js payload via the Bun runtime without integrity verification. Check your VS Code extension directory for unexpected JavaScript files executed through Bun, and audit extension network activity for downloads from backdated GitHub commits.

The campaign's credential harvesting consistently targets specific file patterns across all three concurrent compromises. Configure your endpoint detection to alert on processes reading multiple credential storage locations within a short timeframe—legitimate applications rarely access AWS credentials, Kubernetes configs, SSH keys, and database credentials simultaneously. This behavioral pattern remains consistent across TeamPCP variants regardless of the initial infection vector.

Immediate Response Actions: Prioritized Steps for Affected Organizations

Organizations discovering exposure to the April 21-22 compromise window need structured response protocols that account for the unique persistence mechanisms of supply chain attacks. The following actions prioritize containment of active threats while building toward systematic remediation.

First 24 Hours: Containment and Isolation (Security Operations Center ownership)

Your SOC team must immediately audit all build processes that executed between April 20 and April 23. Search build logs for any references to checkmarx/kics Docker pulls, @bitwarden/cli version 2026.4.0 installations, xinference versions 2.6.0 through 2.6.2, or packages from the @automagik, pgserve, @fairwords, and @openwebconcept namespaces. Any systems that pulled these artifacts require immediate network isolation—disconnect them from production environments but maintain forensic access for investigation.

Rotate all credentials stored in or accessible to your CI/CD pipelines immediately. This includes npm publish tokens, PyPI API keys, Docker Hub authentication tokens, GitHub Actions secrets, and any service account credentials used by Dependabot or similar automation tools. The credential rotation must occur before re-enabling any automated dependency updates, as the worm variants specifically target these tokens for cross-ecosystem propagation.

Disable all automated dependency update mechanisms including Dependabot, Renovate, and internal automation scripts. The cascading Bitwarden compromise occurred through trusted Dependabot automation pulling poisoned upstream dependencies—this vector remains active until you verify the integrity of your entire dependency chain.

Within One Week: Investigation and Remediation (DevSecOps team ownership)

Your DevSecOps team needs to conduct repository-wide scans for the specific exfiltration endpoints identified in the compromises. Search all codebases, container images, and build artifacts for references to:

  • audit.checkmarx[.]cx/v1/telemetry
  • whereisitat[.]lucyatemysuperbox[.]space
  • Any Internet Computer Protocol (ICP) canister endpoints
  • Base64-encoded payloads in Python __init__.py files
  • The string "Shai-Hulud: The Third Coming" or Dune-themed identifiers

Audit all GitHub repositories created by service accounts or CI/CD systems since April 20. The Bitwarden variant created public repositories under victim accounts to exfiltrate credentials—these repositories may still contain your sensitive data even after the initial compromise window closed.

Review VS Code and Open VSX extension installations across developer workstations for cx-dev-assist versions 1.17.0/1.19.0 and ast-results versions 2.63.0/2.66.0. These extensions downloaded second-stage payloads from backdated GitHub commits and executed them through the Bun runtime without verification.

Within 30 Days: Hardening and Monitoring (CISO and Procurement ownership)

Your CISO should mandate implementation of Software Bill of Materials (SBOM) generation for all production builds. SBOMs create an auditable record of every dependency pulled during build processes, enabling rapid identification of exposure when future supply chain compromises emerge.

Procurement teams must establish vendor security requirements for any tools integrated into CI/CD pipelines. Require vendors to implement registry-level signing for all published artifacts and provide immediate notification channels for security incidents. The Checkmarx compromise succeeded through valid publisher credentials—contractual requirements for hardware security module (HSM) backed signing keys would prevent credential theft from enabling package poisoning.

Supply chain attacks that compromise security tools create exponential risk—each poisoned security scanner becomes a vector for compromising every environment it analyzes.

Deploy runtime application self-protection (RASP) or enhanced detection and response (EDR) agents specifically configured to monitor package manager behavior. Configure alerts for npm postinstall hooks that spawn detached processes, Python imports that execute base64-decoded payloads, or Docker containers making unexpected outbound HTTPS connections to infrastructure-themed domains.

Supply Chain Compromise Response Protocol
April 21-22 Incident Response Timeline
First 24 Hours
Security Operations Center
Audit Build Processes Search logs for checkmarx/kics, @bitwarden/cli 2026.4.0, xinference 2.6.0-2.6.2
Isolate Affected Systems Disconnect from production but maintain forensic access
Rotate All Credentials npm, PyPI, Docker Hub tokens, GitHub secrets, service accounts
Disable Automation Stop Dependabot, Renovate, and all dependency update scripts
Within One Week
DevSecOps Team
Scan for Exfiltration Endpoints audit.checkmarx.cx, whereisitat.lucyatemysuperbox.space, ICP canisters
Search for Payloads Base64 in __init__.py files, "Shai-Hulud" strings
Audit Service Account Repos Review all repositories created by CI/CD systems since April 20

Supply Chain Hardening: Preventing the Next TeamPCP Campaign

The cascading Bitwarden compromise through poisoned Checkmarx images exposes a fundamental truth about modern software development: your security perimeter now extends through every dependency, every automated build process, and every third-party tool your developers trust. Traditional vendor risk assessments that focus on data handling and compliance questionnaires miss the technical supply chain risks that TeamPCP exploits.

Building resilience against campaigns like TeamPCP requires restructuring how organizations evaluate and monitor their software dependencies. The April 22 incidents demonstrate that even security-focused vendors with mature development practices can become unwitting distribution vectors for malware when their publishing credentials are compromised.

Establishing Vendor Publishing Security Standards

Your vendor assessment process needs explicit criteria for how suppliers protect their software distribution channels. When evaluating tools like KICS or Bitwarden CLI, procurement teams should require documentation of multi-factor authentication on all publishing accounts, segregation between development and production publishing credentials, and audit logs for all package uploads to public repositories. The Checkmarx compromise occurred through valid publisher credentials—a control gap that traditional security questionnaires rarely address.

Require vendors to implement signing certificates for all distributed artifacts. Docker Content Trust, npm package signatures, and PyPI's emerging PEP 458 framework provide cryptographic proof that packages haven't been tampered with after legitimate publication. Organizations pulling the malicious checkmarx/kics images would have detected signature mismatches if Docker Content Trust verification was enforced in their CI/CD pipelines.

Software Bill of Materials as Operational Intelligence

SBOM generation must transition from compliance checkbox to active threat intelligence feed. The xinference and CanisterSprawl compromises targeted packages with specific dependency trees that maximize downstream impact. Organizations need automated SBOM analysis that flags when dependencies suddenly add new maintainers, change publishing patterns, or introduce unexpected transitive dependencies.

Configure your SBOM tooling to alert on velocity changes—the CanisterSprawl worm spread through 16 package versions across four namespaces within hours. A properly configured SBOM monitoring system would detect this abnormal publishing cadence and flag the packages for manual review before they enter production builds. Track mean time between releases for critical dependencies and investigate statistical anomalies.

Dependency Pinning and Verification Architecture

The Bitwarden Dependabot automation that pulled poisoned KICS images represents a systemic architectural vulnerability. Organizations must implement dependency pinning with cryptographic verification rather than floating version tags. Pin to specific image digests (sha256 hashes) rather than mutable tags like "latest" or version numbers that can be overwritten.

Create internal package mirrors that cache and verify all external dependencies before they reach build systems. This air-gap approach would have prevented the 14:17:59 to 15:41:31 UTC dangerous window from affecting organizations that pulled packages after the compromise was remediated upstream. Your package mirror should enforce a 24-hour quarantine for all new package versions, allowing time for community detection of supply chain attacks.

"Organizations that implement comprehensive SBOM monitoring detect supply chain compromises 85% faster than those relying on vendor notifications alone."

Measuring Supply Chain Security Maturity

Track these metrics monthly to quantify improvement: percentage of dependencies with cryptographic signatures verified, mean time to detect new dependency introductions, ratio of pinned versus floating dependency versions, and coverage of automated SBOM generation across all production applications. Organizations should target 100% signature verification for critical path dependencies, sub-hour detection of new dependency additions, and complete SBOM coverage for internet-facing applications within six months.

Key Insight: Organizations should target 100% signature verification for critical path dependencies, sub-hour detection of new dependency additions, and complete SBOM coverage for internet-facing applications within six months.

Industry and Vendor Context: Who's Affected and What They Should Know

The targeting pattern across TeamPCP's April 21-22 compromise cluster reveals a calculated focus on infrastructure-as-code tooling and developer productivity platforms that span organizational boundaries. Unlike traditional ransomware campaigns that target specific verticals, TeamPCP pursues tools with maximum horizontal reach across industries.

The Checkmarx KICS compromise specifically impacts organizations conducting infrastructure-as-code security scanning, a practice concentrated among enterprises with mature DevSecOps programs. Financial services, technology companies, and government contractors represent the primary user base for KICS based on Checkmarx's customer demographics. These organizations typically scan Terraform, CloudFormation, Kubernetes manifests, and Dockerfiles as part of compliance workflows—meaning the exfiltrated scan results contain architectural blueprints of cloud deployments alongside embedded credentials.

Bitwarden's enterprise footprint extends beyond traditional password management into secrets management for CI/CD pipelines. The @bitwarden/cli package sees heaviest adoption among mid-market technology companies (500-5,000 employees) that need programmatic access to vaults during automated deployments. Healthcare organizations using Bitwarden for HIPAA-compliant credential storage face particular exposure since the CLI tool often runs with elevated permissions to inject secrets into production workloads.

The xinference compromise targets a narrower but strategically valuable segment: organizations deploying large language models for inference workloads. Early adopters include financial services firms running proprietary models for fraud detection, retail companies implementing conversational AI, and research institutions processing scientific datasets. The 600,000 cumulative downloads suggest moderate but growing adoption among enterprises experimenting with self-hosted AI infrastructure rather than cloud-based services.

CanisterSprawl's propagation through the @automagik, pgserve, @fairwords, and @openwebconcept namespaces indicates deliberate targeting of content management and automation tooling. The pgserve package specifically serves PostgreSQL database utilities, suggesting exposure among organizations running self-managed databases. The worm's cross-ecosystem capability means organizations with both npm and PyPI dependencies face compound risk—a profile matching most modern software companies, SaaS providers, and digital transformation initiatives at traditional enterprises.

Vendor response timelines reveal varying levels of preparedness. Checkmarx detected and remediated the KICS compromise within approximately 90 minutes (14:17:59 to 15:41:31 UTC), publishing security guidance at checkmarx.com/blog/checkmarx-security-update-april-22/. Their remediation included rotating all Docker Hub credentials, rebuilding clean images from verified source, and implementing additional publishing controls. Bitwarden's response window stretched longer—the malicious 2026.4.0 version remained available for approximately 90 minutes (5:57 PM to 7:30 PM ET) with 334 downloads before removal. They released 2026.4.1 as a clean rebuild of 2026.3.0 and confirmed no vault data exposure through their incident analysis.

The xinference maintainers faced a more complex remediation due to uncertainty around the compromise vector. Versions 2.6.0, 2.6.1, and 2.6.2 were yanked from PyPI, but the project lacks the enterprise security team resources of Checkmarx or Bitwarden. No comprehensive incident report exists beyond the initial compromise notification, leaving downstream users without clear guidance on credential rotation scope.

Geographic concentration emerges through Docker Hub's telemetry data shared in their April 24 retrospective. The malicious KICS pulls originated primarily from North American and European IP ranges during business hours, aligning with enterprise CI/CD pipeline execution patterns rather than individual developer downloads. This temporal clustering suggests most affected organizations operate in Eastern and Central time zones, with secondary exposure in Western Europe.

Table of contents

Top hits