Socket Finds Malicious LiteLLM Workflows Ran 11 Days Before Supply-Chain Attack

· Original article ↗

Summary

Socket says two malicious GitHub Actions workflows ran in the LiteLLM repository on October 10 and 12, targeting organization and environment secrets. The runs succeeded, but successful exfiltration is unconfirmed; LiteLLM says audit logs link the first workflow’s GH\_\

Key points

  • Socket recovered two malicious commits that added .github/workflows/cache.yml on short-lived branches on October 10 and 12, 2026; both branches were deleted the same day.
  • Repository performance metrics record a successful run for each workflow. These aggregate records confirm execution, but do not show whether the collectors received the secrets.
  • The October 10 workflow encoded six organization-level secrets and attempted to send them to a webhook[.]site collector. The October 12 workflow used six jobs to target 14 additional secrets, including environment-scoped credentials.
  • The workflows used push-triggered jobs and temporary branches to run in the repository’s context, where GitHub secrets were available. Deployment records corroborate activity from the October 12 branch.
  • The repository activity log attributes the branch creation, pushes, and deletions to the account ishaan-berri, but does not establish who used the account or how its credentials were obtained.
  • LiteLLM later reported that it traced initial access to an Agent Platform master key accidentally committed publicly and not revoked. It says audit logs link the GH_TOKEN targeted by the October 10 workflow to approval of the October 21 malicious release.

Article Details

Attack Vectors
  • Malicious GitHub Actions workflows were pushed to short-lived branches in the upstream BerriAI/litellm repository, triggered on push, and deleted after running.
  • The workflows read repository and organization secrets, and the October 12 workflow bound jobs to GitHub Environments to access environment-scoped secrets.
  • The workflows wrote secret values to a temporary file, base64-encoded the file, and used curl to POST it to webhook.site endpoints. Successful receipt of the data was not confirmed.
  • LiteLLM’s investigation reportedly traced initial access to an Agent Platform master key accidentally committed to a public repository in May and not revoked; it says the attacker used the key to obtain a GitHub organization owner’s token. Socket says it has not established how the earlier workflow access was obtained.
Defensive Notes
  • Review the complete Actions run history and repository activity log; the performance metrics establish successful runs but do not reveal run contents or the full number of possible cycles.
  • Use organization audit-log data, including source addresses, user agents, session history, and recently created access tokens, SSH keys, or OAuth grants, to investigate whether account activity involved compromised credentials, a stolen credential, or legitimate use.
  • Treat the October 10 and October 12 workflow executions as evidence of secret exposure, while recognizing that successful job status does not prove the collectors received the data.

Indicators of compromise

TypeIndicatorContext
URLhxxps[:]//webhook[.]site/4da03473-a3e7-4dc2-a087-9c564b4208e1Specific webhook.site endpoint configured by the October 12 workflow to receive the encoded secrets; successful receipt was not confirmed.
URLhxxps[:]//webhook[.]site/65a42464-3cfa-4b02-a18c-17a6d7b86f37Specific webhook.site endpoint configured by the October 10 workflow to receive the encoded secrets; successful receipt was not confirmed.

MITRE ATT&CK

Products

Related Articles