Skip to content
Security

Stolen GitHub Tokens Put Malware in a LiteLLM Release

LiteLLM says three engineers' GitHub CLI OAuth tokens were used to push version 1.107.0 to PyPI and the Docker registry on 21 October 2026. The build carried a credential stealer and a remote access tool. The last clean public release is 1.106.2.

By
· Updated 3 min read
inLinkedIn𝕏Post
Datacenter Equinix AM3 & AM4 Amsterdam
Datacenter Equinix AM3 & AM4 Amsterdam · Choinowski · CC BY-SA 4.0 · via Wikimedia Commons

LiteLLM's release pipeline was compromised at 04:00 Pacific on 21 October 2026 and pushed version 1.107.0 of the package to both PyPI and the Docker registry, according to the incident report the project published the same day. The build carried compiled malware that steals credentials and loads remote code execution tooling. Every earlier version is clean, and the poisoned artifacts have been removed from PyPI, Docker Hub and GHCR.

LiteLLM is an open source proxy that routes API calls across language model providers, which is what makes it worth the effort of attacking. A machine running it usually holds keys for several model vendors and at least one cloud account in the same process.

Three engineers' tokens, one approval

The project says the malicious actions were taken through three engineers' GitHub accounts, apparently by way of stolen GitHub CLI OAuth tokens. One account was used to change the release pipeline and trigger the project-releaser run. A second was used to approve it. The attackers disabled branch protections and pointed the releaser at a lookalike repository, Berri-AI/litellm, standing in for the real BerriAI/litellm, then signed and published from there. The official v1.107.0 source tag on GitHub contains none of the malicious files.

LiteLLM's advisory, last updated at 16:00 UTC on 21 October, says it had not identified how the threat actor acquired the tokens and therefore could not assert that there was no further access to those accounts. SecurityWeek reported that the project's investigation pointed to the tokens being written into LiteLLM's own logs by Claude Code, which in specific circumstances would embed them in a response body. That is a working explanation rather than a confirmed one.

What the build took

The payload dropped three files into the site-packages root so that they execute whenever a Python interpreter starts, which is why the project's clean-up instructions open by telling people not to begin with pip. SecurityWeek's account of the stealer lists system information, browser credentials and cookies, developer credentials, environment variables, cloud secrets for AWS, GCP and Azure, API keys for AI tools including Anthropic, OpenAI and GitHub Copilot, SSH private keys, shell history files and GPG keys. The encrypted haul went to a domain spelled litellm.dev.

checks a GitHub dead drop every hour and runs whatever Python the attacker serves

— StepSecurity, security research firm, describing the remote access component

Wiz said the attackers began abusing the stolen credentials roughly four and a half hours after exfiltration, and observed them querying Amazon Bedrock models with stolen AWS credentials, the resource theft pattern the industry calls LLMjacking.

A short window, a long tail

The exposure was narrow in time. LiteLLM puts the pip window at 11:39 to 13:23 UTC on 21 October and the Docker window, covering the v1.107.0, latest, main-latest and main-stable tags, at 11:46 to 14:20 UTC the same day. An estimate drawn from PyPI's published download statistics and cited by SecurityWeek puts downloads of the affected version above 49,000, which counts pulls rather than infected machines.

The honest reading is that the window is the least interesting number here. A stealer that runs on build agents and developer laptops turns under three hours of exposure into an open-ended problem, because what it took was the keys to everything those machines could reach. Mirai operators spent days throwing PHP2Shell exploits at the internet with no confirmed compromise, as Parallax Nexus reported on 24 October. This one was signed, published through official channels, and spending stolen AWS credit before lunch.

LiteLLM has revoked the tokens involved, removed all but one user from its GitHub organisation, and cut the trusted publishing links between its public registries and that organisation. Enterprise customers pulling from the private registry were not affected. That registry was carrying an embargoed release fixing a separate vulnerability due for disclosure on 27 October.

Anyone who installed during the window is being told to treat the host as compromised rather than simply to upgrade: remove the dropped files, rotate every credential the machine could reach, revoking at the provider first, and rebuild affected GCP servers. The project credits a researcher posting as LidorMachluf with helping it detect the incident.

What happens next?

  • LiteLLM's investigation into how the GitHub CLI OAuth tokens were obtained remains open, and the project has not ruled out continued access to the affected accounts.
  • A separate LiteLLM vulnerability, carried in an embargoed enterprise release during the incident, was scheduled for public disclosure on 27 October 2026.
  • Credentials exposed during the window stay usable until they are rotated, and the Bedrock queries Wiz observed suggest cloud billing is where many victims will notice first.

Sources & references

  1. 01Contained: Oct 21, 2026 LiteLLM release v1.107.0 Compromised — LiteLLMprimaryProject incident report, last updated 16:00 UTC on 21 October 2026. Source of the timeline, the affected tags and the account of the three compromised GitHub accounts.
  2. 02LiteLLM Compromised in Fresh Supply Chain Attack — SecurityWeeknewsAccessed 26 October 2026. Source of the payload inventory and the download estimate drawn from PyPI statistics.
  3. 03LiteLLM compromised, steals credentials — WizresearchVendor research cited for the four and a half hour gap between exfiltration and credential abuse, and the Amazon Bedrock queries.
  4. 04LiteLLM 1.107.0 compromised: PyPI backdoored wheels, credential stealer — StepSecurityresearchSource of the quoted description of the remote access component.
Published 26 October 2026 · Updated 26 October 2026 · Report a correction · How we use AI
inLinkedIn𝕏Post

More from Security

View all
Security

China-Linked Scanner Holds 1,300 Exploit Scripts, FBI Says

A joint advisory led by the FBI describes MicroScan, a Python web application holding more than 1,300 penetration-testing scripts that China-linked actors have used since at least 2017. CISA added five of the eight named flaws to its exploited-vulnerability catalogue with a federal deadline that expired on 11 October.

3 min read
Security

FBI Removes Contractor Over an Unapplied PeopleSoft Patch

The FBI says the breach of its job applicant portal followed a third party's failure to install a security patch, and has removed the contractor responsible. Reuters, citing two unnamed sources, identified the contractor as working for Accenture and the platform as Oracle PeopleSoft.

3 min read