LiteLLM és una eina de codi obert molt popular que fa de passarel·la entre les aplicacions i els models d'IA de diversos proveïdors: amb una sola interfície, un programa pot cridar OpenAI, Anthropic o Cohere. Precisament per això guarda les claus d'accés a tots aquests serveis. El 21 d'octubre, algú va publicar a PyPI, el gran dipòsit de paquets de Python, i a Docker una versió falsa, la 1.107.0, que contenia programari maliciós. L'empresa n'ha publicat ara l'anàlisi completa.
Segons l'informe, tot va començar el 27 de maig, quan es va pujar a un dipòsit públic de GitHub un fitxer de configuració amb la clau mestra d'una plataforma interna d'agents. Els desenvolupadors en van esborrar el rastre, però no van anul·lar la clau. El 10 d'octubre, l'atacant la va fer servir per obtenir la credencial d'accés a GitHub d'un dels propietaris de l'organització, i amb això va controlar tots els dipòsits. Durant onze dies va robar els secrets dels sistemes d'integració, va aconseguir les credencials de dos responsables del projecte, es va saltar les proteccions de la branca de publicació i va fer que el procés oficial empaquetés el codi d'una còpia falsa. La versió infectada va estar disponible unes dues hores i, segons l'empresa de seguretat Wiz, citada per The Register, es va baixar unes 49.000 vegades. Un membre de la comunitat la va detectar i PyPI la va posar en quarantena.
El cas és rellevant perquè el programa robava justament el que fa valuosa una eina com aquesta: credencials dels navegadors, de serveis al núvol d'Amazon, Google i Microsoft i claus d'API de proveïdors d'IA. A més, l'atacant va actuar amb identitats legítimes, de manera que les seves aprovacions semblaven rutinàries. LiteLLM resumeix la lliçó en una frase: l'incident il·lustra el risc de no renovar una clau que podria haver quedat exposada.
L'informe no descriu el codi maliciós per dins i la mateixa empresa admet que l'atacant va esborrar registres i reescriure l'historial per amagar-se, de manera que encara es desconeix l'abast real. LiteLLM diu que ha anul·lat totes les claus i credencials, que ha tret tots els permisos del procés de publicació i que explicarà en un altre text els canvis que farà. Qui hagi instal·lat i executat la versió 1.107.0 ha de donar per robades totes les credencials a què tingués accés aquell sistema i canviar-les.
