The attack began on May 27, when a configuration file containing a master key was committed to the public LiteLLM-Labs/lite-harness repository. The key belonged to an open source tool LiteLLM uses internally to orchestrate AI agents. Developers spotted the error and removed the exposed commit, but did not revoke the master key.
"On October 10th, the threat actor used this key to gain access to our LiteLLM Agent Platform and extracted this GitHub CLI OAuth token," LiteLLM said in Friday's postmortem. "From this point onwards, the threat actor had owner-level access to all repositories in our GitHub."
The stolen GitHub CLI token was particularly dangerous because such tokens are "post-2fa" and do not trigger GitHub's sudo mode authentication, which is normally required for high-impact repository actions. The attacker used it to author malicious commits on other internal repositories, including workflows designed to steal tokens and secrets available during continuous integration. That allowed the attacker to capture further GitHub CLI OAuth tokens belonging to two engineers with maintainer privileges, plus credentials for other internal systems.
"Reviewing the actor's activity on these other systems shows attempts to identify and exfiltrate additional keys and tokens, with a primary focus on upstream inference API tokens," LiteLLM noted. Because the malicious actions appeared to come from legitimate, credentialed engineers, they raised no suspicion.
The compromised version, 1.107.0, contained an infostealer and a remote access trojan capable of executing arbitrary code. It was designed to collect browser credentials and cookies from Chrome, Firefox, Edge and Safari, along with AWS credentials, Google Cloud Platform service account keys, Azure tokens, and API keys for OpenAI, Anthropic, Cohere and other LLM providers.
LiteLLM is revoking every token associated with every internal system and vendor platform. "This incident has provided a strong illustration of the risks associated with failing to rotate a potentially exposed key," the developers wrote. Anyone who installed and ran version 1.107.0 should assume that any credentials accessible to the affected system may have been stolen, investigate affected systems, change passwords and rotate exposed keys.
