GBHackers

Hackers Breached LiteLLM GitHub Repository 11 Days Before Supply Chain Attack


Hackers accessed LiteLLM’s GitHub organization and executed credential-stealing workflows eleven days before the October 21 supply chain attack that distributed malicious litellm==1.107.0 packages.

The findings establish a longer compromise window preceding the poisoned releases. Socket recovered malicious workflows executed inside BerriAI/litellm on October 10 and October 12, 2026.

Both used the maintenance-style commit message ci: bump cache config while introducing .github/workflows/cache.yml, a file designed to collect continuous integration secrets and transmit them to attacker-controlled endpoints.

Hackers Breached LiteLLM GitHub Repository

The attacker created temporary branches from legitimate commits, pushed the malicious workflow, allowed GitHub Actions to execute, and deleted the branches.

Named ci-tmp-a351cc and ci-tmp-4d8517, these branches disappeared without merging the workflow into main, limiting visibility during routine repository reviews.

Performance Metrics (Source: Socket)
Performance Metrics (Source: Socket)

The October 10 workflow contained one job targeting six configured secrets, including GH_TOKEN, a GitHub App private key, and credentials associated with LiteLLM, Linear, and Together AI.

It wrote the values into /tmp/c.env, encoded the file into /tmp/c.b64, and used curl to POST the resulting content to webhook.site. A trailing || true suppressed transmission errors.

As a result, the job could report success even when exfiltration failed. GitHub Actions performance metrics recorded one successful execution lasting approximately four seconds, but those metrics alone could not establish whether the collector received the credentials.

The October 12 variant expanded collection to six jobs, five bound to configured GitHub environments. Across both workflows, attackers referenced 20 distinct secret names covering OpenAI, Anthropic, AWS Bedrock, GitGuardian, PostgreSQL, Redis, and Linear browser session material.

Deployment Records (Source: Socket)
Deployment Records (Source: Socket)

Persistent environment deployment records corroborated execution after the branches were deleted. LiteLLM’s investigation traced initial access to an Agent Platform master key accidentally committed publicly on May 27 and never revoked.

On October 10, the attacker used that key to retrieve an unrestricted GitHub CLI OAuth token belonging to an organization owner. The resulting access enabled additional credential theft. LiteLLM said audit-log token hashes connected the GH_TOKEN stolen from BerriAI/litellm to approval of the malicious production release.

Another stolen maintainer token was used to delete release workflow records. On October 21, the attacker bypassed branch protections using owner privileges and redirected the release pipeline toward the lookalike Berri-AI/litellm repository.

The pipeline subsequently signed and published seven malicious PyPI wheels and compromised container images. LiteLLM locked registries, removed all but one trusted GitHub organization member, and began revoking credentials across internal systems and vendors.

Socket cautioned that October 10 represents the earliest activity it could substantiate, not necessarily the intrusion’s beginning. Deleted branches and successful workflow statuses therefore leave important uncertainty about the compromise’s complete duration and scope.

IOCs

CategoryIndicator / ValueAssociated Date / Details
Exfiltration endpointhxxps://webhook[.]site/65a42464-3cfa-4b02-a18c-17a6d7b86f37October 10, 2026
Exfiltration endpointhxxps://webhook[.]site/4da03473-a3e7-4dc2-a087-9c564b4208e1October 12, 2026
HTTP request headerX-Tag: lm1October 10 workflow
HTTP request header valuesX-Tag: org, X-Tag: e2e, X-Tag: intpg, X-Tag: intprov, X-Tag: intredis, X-Tag: intrpOctober 12 workflow
Malicious workflow file.github/workflows/cache.ymlWorkflow used for secret exfiltration
Git commitb69bc36fd4e23b23ea09f4ce63a92b07258f5044October 10, 2026
Git commit1a6e3c1e41f1b5c8eeaeeb2ae94bcd95390fa891October 12, 2026
Temporary branchci-tmp-a351ccCreated and deleted on October 10
Temporary branchci-tmp-4d8517Created and deleted on October 12
Environment deployment referenceci-tmp-4d8517Deployment remained marked Active
Runner filesystem artifact/tmp/c.envFile containing collected secret values
Runner filesystem artifact/tmp/c.b64Base64-encoded file prepared for exfiltration

Note: IP addresses and domains are intentionally defanged (e.g., [.]) to prevent accidental resolution or hyperlinking. Re-fang only within controlled threat intelligence platforms such as MISP, VirusTotal, or your SIEM.

Join 16,000+ SOC teams using ANY.RUN to streamline threat investigations and reduce manual effort. Explore for your team 



Source link