Malicious LiteLLM Releases Linked to Trivy Supply Chain Attack May Have Exposed Thousands of Organizations

Summary: Two malicious LiteLLM releases sat on PyPI for about 40 minutes in March carrying credential-stealing code capable of harvesting cloud keys, SSH keys, Kubernetes tokens, database passwords, and other secrets from systems that installed them. Threat intelligence firm CloudSEK now says a dataset it obtained, built from roughly 434,000 files the attackers captured, maps potential exposure to more

A software supply chain attack that briefly compromised the popular LiteLLM Python package may have exposed credentials and sensitive information belonging to thousands of organizations, demonstrating how a malicious dependency can transform a routine software installation into a large-scale credential theft operation.

New threat intelligence indicates that data collected during the compromise can potentially be associated with more than 2,500 organizations, although researchers stress that this figure should not be interpreted as a confirmed victim count. The dataset contains roughly 434,000 files believed to have been captured during the campaign. (⁠The Hacker News)

The incident originated in March 2026, when malicious versions 1.82.7 and 1.82.8 of LiteLLM appeared on the Python Package Index (PyPI). The releases remained available for only around 40 minutes before PyPI quarantined them, but that short window was sufficient to create potentially extensive exposure because LiteLLM is widely deployed in developer environments, CI/CD pipelines and AI infrastructure. (⁠The Hacker News)

LiteLLM provides an open-source gateway that allows applications to communicate with numerous large language model providers through a unified interface. Its position inside AI infrastructure makes it particularly sensitive: environments running LiteLLM may contain API credentials for model providers alongside cloud credentials, database passwords and other secrets required by applications.

The malicious releases turned that privileged position into an intelligence-gathering mechanism.

A credential stealer hidden inside a legitimate package

This was not a conventional typosquatting operation involving a package designed to resemble LiteLLM.

Attackers compromised releases of the legitimate project.

Systems installing the affected versions could execute credential-stealing code capable of collecting cloud credentials, SSH keys, Kubernetes authentication tokens, database passwords and other sensitive secrets. NHS England’s cyber alert concerning the incident also warned that the malicious code could establish persistence capable of surviving system restarts. (⁠NHS England Digital)

That distinction makes the incident particularly dangerous.

Developers did not need to make the mistake of downloading an obviously suspicious library. Normal dependency management could introduce the malicious code into an otherwise legitimate environment.

The attack therefore exploited one of the fundamental assumptions underpinning modern software development: that a package retrieved under the correct name from a trusted public repository corresponds to the software developers intended to install.

For approximately 40 minutes, that assumption failed.

The attack appears connected to the Trivy compromise

Investigations have linked the LiteLLM incident to a broader supply chain operation attributed to a threat actor tracked as TeamPCP.

The campaign did not begin with LiteLLM.

Researchers traced activity through the earlier compromise of Trivy, the widely used open-source vulnerability scanner maintained by Aqua Security. The operation subsequently expanded across other components and ecosystems, demonstrating how credentials stolen from one software project can potentially provide access to another. (⁠Datadog Security Labs)

This creates a particularly dangerous form of supply chain propagation.

Instead of compromising one package and waiting for users to install it, attackers steal credentials from the first compromise and use them to penetrate additional development infrastructure.

One compromised project becomes the mechanism for compromising the next.

The attack can consequently spread through trusted relationships between maintainers, repositories, CI/CD workflows, package registries and security tools.

The result resembles lateral movement inside a corporate network, except the network is the global open-source ecosystem.

Security tooling became part of the attack path

The connection to Trivy makes the campaign especially significant.

Trivy is itself a security tool designed to identify vulnerabilities, misconfigurations and other risks in software environments.

Organizations integrate security scanners into CI/CD pipelines precisely because they are considered trusted components of the development process.

But security tools often require extensive visibility.

They inspect source code, containers, dependencies, configuration files and build environments. In automated pipelines, they may execute alongside credentials allowing access to repositories, registries, cloud environments and deployment infrastructure.

That privileged position makes security tooling an attractive supply chain target.

Compromising a scanner can potentially provide attackers with something considerably more valuable than control over the scanner itself: access to the environments the tool was trusted to inspect.

The LiteLLM campaign illustrates the paradox facing modern DevSecOps teams.

The tools introduced to secure the software supply chain have themselves become part of the software supply chain.

Hundreds of thousands of captured files

The scale of the newly analyzed dataset provides a clearer picture of the potential consequences.

CloudSEK told The Hacker News that intelligence obtained from the campaign contained approximately 434,000 captured files and could be mapped to potential exposure involving more than 2,500 organizations. (⁠The Hacker News)

Researchers have attempted to distinguish stronger attribution from weaker associations.

High-confidence matches rely on identity information found inside captured CI runner environments, including host identities and legitimate committer domains. Repository namespaces alone provide weaker evidence and are therefore classified with lower confidence.

This distinction is important.

The appearance of an organization’s name in the dataset does not prove that attackers successfully used stolen credentials to penetrate that company.

Nor does it necessarily demonstrate that every organization identified suffered a conventional network breach.

Instead, the dataset indicates that information apparently originating from environments associated with those organizations may have been captured by the malicious package.

The difference between exposure and confirmed exploitation is critical when assessing the scale of a supply chain incident.

Major organizations appear in the dataset

The dataset reportedly contains associations with recognizable organizations including NVIDIA, Cisco, Deloitte, Volkswagen, FedEx, Siemens and X Corp.

However, their presence should not automatically be interpreted as evidence that these companies were compromised.

Researchers explicitly caution that the dataset cannot establish whether credentials associated with those environments were subsequently used by the attackers. (⁠The Hacker News)

That uncertainty creates a difficult incident-response problem.

Waiting for evidence that stolen credentials were abused may provide attackers with additional time to use them.

Organizations potentially affected must therefore assume compromise until they can establish otherwise.

Credential rotation becomes the safest response.

CI/CD systems are extraordinarily valuable targets

One of the most concerning aspects of the incident is the potential exposure of continuous integration and deployment environments.

CI/CD runners frequently operate with access to some of an organization’s most sensitive secrets.

They may contain cloud API keys, container registry credentials, package publishing tokens, GitHub authentication, SSH keys, Kubernetes service accounts, database passwords, signing credentials and deployment secrets.

Those credentials exist because automated pipelines need them to build and deploy software without human intervention.

For attackers, compromising a CI runner can therefore provide an extraordinary collection of privileged identities.

A developer laptop may contain several useful credentials.

A production CI/CD environment may contain the keys required to deploy an entire application stack.

This is why modern supply chain attacks increasingly focus on build infrastructure rather than finished applications.

Kubernetes environments were also at risk

Researchers investigating the original LiteLLM compromise warned that the malicious payload was capable of collecting Kubernetes credentials and attempting further activity involving Kubernetes environments. Datadog recommended treating affected hosts or CI jobs as full credential-exposure events and investigating persistence, outbound communications and Kubernetes activity rather than simply removing the malicious package. (⁠Datadog Security Labs)

This substantially increases the potential blast radius.

Kubernetes service accounts can provide access to workloads, secrets, internal services and cluster administration capabilities depending on their assigned permissions.

If excessive privileges are present, stealing a single token can potentially transform a dependency compromise into broader infrastructure access.

Once again, least privilege becomes decisive.

A CI runner should possess only the credentials required for its immediate task, and those credentials should ideally be short-lived rather than persistent secrets capable of remaining useful long after the build finishes.

Removing the malicious package is not enough

One of the most important lessons from the incident is that remediation cannot end with upgrading LiteLLM.

The compromised releases have already been removed from PyPI, and current releases are not affected by the malicious component. LiteLLM identified versions 1.82.7 and 1.82.8 as compromised. (⁠GitHub)

But if either malicious version executed, simply uninstalling it does not invalidate information already stolen.

Organizations that installed the affected releases should treat credentials available to those environments as potentially exposed.

That may require rotating cloud credentials, SSH keys, API tokens, database passwords, Kubernetes credentials, package registry tokens and other secrets accessible during execution.

Investigators should also examine whether those credentials were subsequently used from unusual locations or infrastructure.

The incident therefore demonstrates why credential theft is often more damaging than the malicious package itself.

Software can be replaced.

Secrets remain valid until somebody revokes them.

Dependency pinning becomes a security control

The attack also strengthens the case for more conservative dependency management.

Many development environments automatically retrieve the newest compatible version of a package during builds.

That approach simplifies maintenance but creates an important security weakness: a malicious release can enter production infrastructure almost immediately after publication.

Organizations increasingly respond by introducing dependency lockfiles, version pinning and release cooldown periods.

Instead of consuming a package immediately after publication, automated systems can delay adoption long enough for security researchers, package registries and the wider community to detect suspicious behavior.

In this incident, the malicious LiteLLM releases were available for only around 40 minutes.

An organization enforcing even a modest delay before automatically accepting newly published dependencies could potentially have avoided them entirely.

The security principle is straightforward: the newest version is not necessarily the safest version.

Public package repositories are critical infrastructure

The incident also demonstrates how PyPI, npm and similar package repositories have effectively become critical components of global software infrastructure.

Millions of developers and automated build systems continuously retrieve code from these ecosystems.

A single compromised package can therefore distribute malicious code across organizations faster than many traditional malware campaigns.

This creates enormous responsibility for package maintainers, registry operators and enterprise security teams.

Multi-factor authentication, trusted publishing mechanisms, protected CI/CD workflows, short-lived credentials and stronger verification of release provenance all help reduce opportunities for attackers to hijack legitimate projects.

PyPI itself has increasingly promoted Trusted Publishers and stronger authentication controls as defenses against precisely this class of attack. (⁠Blog de PyPI)

AI infrastructure creates an especially valuable target

LiteLLM’s role in artificial intelligence environments adds another dimension to the incident.

AI applications frequently require credentials for several model providers simultaneously.

An AI gateway may therefore sit between applications and services from multiple cloud and model vendors while processing prompts, responses and authentication information.

Compromising that intermediary can provide attackers with access to an unusually concentrated collection of sensitive assets.

As enterprises deploy increasingly complex AI stacks involving models, agents, vector databases, MCP servers, cloud infrastructure and external APIs, dependency security becomes inseparable from AI security.

The model itself does not need to be attacked.

Compromising one trusted component surrounding it may be enough.

Forty minutes can be enough

Perhaps the most striking lesson from the LiteLLM incident is its duration.

The malicious releases did not remain undetected for weeks.

They were available for roughly 40 minutes.

Yet modern software distribution operates at machine speed. CI/CD pipelines continuously rebuild applications, dependency bots automatically update packages, containers are created on demand and development environments routinely install dependencies from public repositories.

A malicious release therefore does not require prolonged availability to create significant consequences.

It only needs to exist when an automated system asks for the latest version.

The LiteLLM compromise demonstrates the fundamental challenge facing modern software security: organizations depend on enormous networks of code they did not write, infrastructure they do not control and credentials moving through automated systems at extraordinary speed.

Supply chain security can no longer be reduced to scanning dependencies for known vulnerabilities.

Organizations must understand how software reaches their environments, who is authorized to publish it, when new releases are trusted and what secrets become accessible when that software executes.

The LiteLLM campaign lasted minutes.

Its consequences may take organizations months to fully understand.

Key facts

  • Two malicious LiteLLM releases were available on PyPI for about 40 minutes in March
  • The malware could harvest cloud keys, SSH keys, Kubernetes tokens, and database passwords
  • Threat intelligence firm CloudSEK analyzed captured data from the incident
  • The attackers captured roughly 434,000 files
  • The incident may have exposed over 2,100 organizations

Why it matters

The compromise of a widely used developer tool like LiteLLM highlights the pervasive supply chain risks in the software development ecosystem. Such incidents can lead to widespread data breaches, impacting not only the directly affected organizations but also their downstream partners and customers, potentially causing significant operational disruption and security implications for cloud infrastructure.