LiteLLM empoisonné, console OpenCode fuitée : les clés d'API de tes agents sont la cible
Une version piégée de LiteLLM est restée en ligne moins de 3 h. Une console OpenCode a peut-être exposé des clés. Et côté attaque, des agents IA ramèneraient l'intrusion à environ 50 $. Ce que tu vérifies lundi.
Mercredi 21 octobre, une version de LiteLLM, le logiciel (souvent appelé « proxy LLM » ou « passerelle ») que beaucoup d’équipes placent entre leur code et les fournisseurs de modèles, a été publiée avec un voleur d’identifiants dedans. LiteLLM affirme l’avoir retirée en moins de trois heures[1]. Dans la nuit du 16 au 17, la console en ligne d’OpenCode, un outil de code par IA, a peut-être exposé les clés d’API que ses utilisateurs lui avaient confiées[4].
Ce qui est visé n’est pas le modèle, c’est la clé qui permet de l’appeler.
Tu es concernée ou concerné si : ton équipe a installé LiteLLM, tu as collé une clé OpenAI, Anthropic ou Google dans la console OpenCode, ou un agent tourne sur une machine où traînent des clés.
À retenir en 3 points :
- 21 octobre : LiteLLM 1.107.0 est publiée piégée (PyPI de 11 h 39 à 13 h 23 UTC, images Docker jusqu’à 14 h 20 UTC). Elle tente de voler les identifiants cloud et fichiers d’authentification d’outils d’IA[1], [2].
- 16-17 octobre : OpenCode prévient 1,4 % des utilisateurs de sa console que leurs clés OpenAI, Anthropic ou Google « peuvent avoir été exposées »[4].
- Lundi, fais le décompte des endroits où vit ta clé d’API, mets un plafond de dépense sur chacune et révoque celles qui ont pu fuiter (la marche à suivre est dans « Lundi matin »).
I.Le gros truc — la clé d’API est devenue la cible
L’édition #26 posait la question de l’identité d’un agent. Cette semaine, personne ne discute l’identité : on vole l’accès, en passant par les outils qui entourent l’agent.
21 octobre : LiteLLM. Le 19 octobre, LiteLLM avait élargi temporairement des droits de publication pour deux ingénieurs. Selon The Hacker News, l’attaquant disposait de trois jeux d’identifiants GitHub de développeurs, a désactivé les protections de branche et a lancé la publication depuis un dépôt sosie, au nom presque identique (« Berri-AI/litellm » au lieu de « BerriAI/litellm »), ce qui a conduit à signer et publier les paquets piégés[1]. Socket a vu la publication sur PyPI (le catalogue public de paquets Python) à 11 h 39 UTC et l’alerte à 11 h 46[2].
Le point grave : le piège s’exécute au démarrage de Python, sans même que LiteLLM soit importé. Il suffit que la version soit installée dans l’environnement. Il tente de collecter les identifiants cloud (AWS, Azure, Google, Kubernetes), les clés privées et les fichiers d’authentification d’outils d’IA (Codex, Claude, Gemini, Cursor) ; si la variable DATABASE_URL existe, il interroge aussi la table des identifiants et des modèles de LiteLLM. Il installe un chargeur qui va chercher du code supplémentaire toutes les heures[2]. Wiz a observé des identifiants AWS volés testés environ 4 h 30 après l’exfiltration, puis un inventaire des modèles Bedrock (le service d’IA d’Amazon) : un comportement compatible avec le vol de capacité de calcul (« LLMjacking »), selon Wiz[1].
Une passerelle qui rassemble toutes tes clés est confortable pour toi. Pour un attaquant, c’est un seul paquet à empoisonner.
Comment il serait entré. LiteLLM soupçonne un déploiement interne exposé sur Internet, dont les journaux contenaient des jetons GitHub (des clés d’accès à GitHub). On ne sait pas comment ce déploiement est devenu public[1].
16-17 octobre : OpenCode. Un intrus est entré dans un « système hérité » de la console hébergée d’OpenCode. Les clés de fournisseurs que les utilisateurs y avaient enregistrées « peuvent avoir été exposées » ; celles du logiciel installé en local, non. OpenCode parle de 1,4 % des utilisateurs de la console, prévenus par e-mail le 17 octobre. L’entreprise n’a pas dit qu’une clé ait été copiée ni utilisée, ni comment l’intrus est entré. Des utilisateurs disent avoir vu des dépenses qu’ils n’ont pas faites (de 168 $ à 1 700 $) : ce sont leurs témoignages, non vérifiés. Retirer la clé de la console ne suffit pas : il faut la révoquer chez le fournisseur[4].
Ma lecture. Chaque copie de ta clé est une porte de plus à surveiller. Trois endroits où dorment des clés : la passerelle (LiteLLM), le service hébergé (la console OpenCode), le poste du développeur (là où s’exécute le piège). Je ne prétends pas que les attaquants les ont choisis pour ça : chez OpenCode, on ignore comment il est entré, et LiteLLM est tombé par des jetons GitHub.
Côté attaque, Reuters raconte (19 octobre) qu’un pirate aidé d’agents IA aurait compromis plus de 100 entreprises (dont des sites liés à Deere, SharkNinja et Cummins) ; selon Reuters, le chercheur Snorre Fagerland estime le coût à environ 50 $ par intrusion réussie[3]. Si c’est juste, le coût d’une tentative baisse : « on est trop petits pour intéresser quelqu’un » vaut moins qu’avant. Rien ne dit que ce pirate visait des clés d’API : je cite le prix, pas la méthode.
- Si tu n’es pas dev : demande à la personne qui gère ta technique « combien d’outils détiennent une copie de nos clés d’IA, et lesquels sont hébergés chez un tiers ? ». Si la réponse est « je ne sais pas », c’est ton chantier de la semaine.
- Si ton équipe utilise LiteLLM : demande à ton dev de chercher la version 1.107.0 (installée via pip ou dans une image Docker « latest ») le 21 octobre entre 11 h 39 et 14 h 20 UTC (PyPI jusqu’à 13 h 23, Docker jusqu’à 14 h 20). Si elle a tourné quelque part : fais prévenir le responsable sécurité, isole la machine, change toutes les clés accessibles depuis elle, depuis un poste sain, et supprimez les fichiers
cook.pthetsitecustomize.py(désinstaller ne les retire pas), puis reconstruis l’environnement depuis une source saine[1], [2]. - Si tu as enregistré des clés dans la console OpenCode : regarde si tu as reçu l’e-mail du 17 octobre (« Action Required: Potential provider key breach »), révoque la clé chez OpenAI, Anthropic ou Google, et relis ta facturation depuis le 16 octobre[4]. Sous Windows ou WSL, passe aussi OpenCode en 1.18.33 ou plus (faille d’exécution de code corrigée le 28 septembre, décrite par Pillar Security)[5].
- Pour tout le monde : une clé par outil, avec un plafond de dépense réglé dans la console du fournisseur. Si une clé fuit, tu la coupes sans casser le reste, et le dégât a un plafond. Au moindre doute, régénère. Et mets à jour tes outils : Claude Code 2.1.309 (22 octobre) corrige des commandes qui s’exécutaient hors de leur espace isolé (le « bac à sable » de l’agent)[6].
II.Deux signaux qui valent ta semaine
Signal 1 — Anthropic dépose son dossier de Bourse : 16,3 milliards sur six mois, 80,7 milliards de perte
26 octobre. Selon Al Jazeera (qui reprend AP et Reuters), Anthropic a déposé publiquement son dossier d’introduction (sigle « ANT » au Nasdaq, cotation visée avant Thanksgiving). Revenu du premier semestre 2026 : environ 16,3 milliards de dollars. Perte nette : 80,7 milliards, en grande partie liée à la hausse de valeur d’obligations convertibles (des dettes qui peuvent devenir des actions)[7].
L’article ne dit pas comment le revenu est défini, la question ouverte depuis l’édition #25, et je n’ai pas lu le prospectus : tout vient de la presse. Pour toi : rien à faire. Les risques cités (dépendance à des fournisseurs cloud comme Amazon, Google et Microsoft, et au fabricant de puces Broadcom) sont ceux d’un fournisseur sur lequel tu bâtis : garde un plan B de modèle, comme dans l’édition #23.
Signal 2 — Claude Duet : un agent qui travaille quand ton ordinateur est éteint
21 octobre. Anthropic lance en préversion Claude Duet : un agent proactif qui envoie un brief le matin, vérifie tes comptes connectés toutes les quelques heures et tourne sur sa propre machine virtuelle, même appareils éteints. Réservé aux abonnés Pro et Max aux États-Unis, sur liste d’attente. Il doit te montrer l’action prévue et attendre ton accord avant d’envoyer un message, de payer, de signer ou de supprimer ; trading et virements entre comptes sont interdits[8].
Pour toi : c’est la version grand public de la tension de l’édition #26 : Duet a sa propre machine et ses étapes de validation, mais il agit sur tes comptes connectés, donc avec tes accès. Ma source est un site spécialisé (TestingCatalog) : je n’ai pas trouvé l’annonce d’Anthropic, donc les détails sont à confirmer avant de t’y fier.
III.Vrai ou faux ?
L’idée reçue : « mes clés sont sur mon poste, pas chez un tiers, donc elles ne peuvent pas fuiter ».
Verdict : faux. Chez OpenCode, les clés du logiciel local n’ont pas été touchées, c’est vrai[4]. Mais le piège de LiteLLM s’exécutait sur les postes et les serveurs : il allait chercher les fichiers d’authentification de Codex, Claude, Gemini et Cursor, les clés privées et les variables d’environnement[2]. Pour toi : « en local » ne protège pas contre un paquet que tu installes toi-même.
IV.La semaine prochaine
Anthropic vise une cotation avant Thanksgiving, fin novembre. La semaine prochaine, je lis le dossier déposé, pas la presse, et je te dis ce qu’il dit du revenu, de la dépendance cloud et de ce que ça change si tu bâtis sur Claude.
À très vite,
Niss
Tu as aimé cette édition ? Transmets-la à la personne de ton équipe qui sait où sont stockées vos clés d’API. Tu n’as pas aimé ? Réponds-moi directement — chaque réponse arrive dans ma boîte mail.
Références
- The Hacker News, « LiteLLM suspects GitHub token leak in supply chain compromise » — 22 octobre 2026 (compromission du 21 octobre ; inclut les observations de Wiz).
- Socket, analyse de la compromission de LiteLLM 1.107.0 — 21 octobre 2026.
- Reuters (via BNN Bloomberg), « How one hacker used AI agents and a few thousand dollars to break into scores of sites » — 19 octobre 2026.
- The Hacker News, brèche de la console OpenCode — 19 octobre 2026 (intrusion dans la nuit du 16 octobre).
- Pillar Security, « Open and Shut: remote code execution in OpenCode via MCP OAuth » — 19 octobre 2026 (la chronologie du billet mentionne aussi une publication le 4 octobre, non réconciliée).
- Anthropic, journal des changements de Claude Code, versions 2.1.309 et 2.1.310 — 22 et 23 octobre 2026.
- Al Jazeera, « Anthropic’s IPO filing shows explosive growth, risks and staggering costs » — 26 octobre 2026 (reprend AP et Reuters ; prospectus non lu directement).
- TestingCatalog, Claude Duet — 21 octobre 2026 (source secondaire ; annonce d’Anthropic non retrouvée).