Le défaut critique dans un nouvel outil pourrait permettre aux attaquants de voler des données à volonté des développeurs travaillant avec des référentiels non fiables.
Il est à peine sorti depuis un mois et déjà des chercheurs en sécurité ont découvert une vulnérabilité rapide dans l’injection dans l’agent d’interface de ligne de commande Gemini (CLI) de Google qui pourrait être exploité pour voler des données sensibles telles que les informations d’identification et les clés API de développeurs imprudents.
Gemini CLI intègre le LLM de Google aux outils de ligne de commande traditionnels tels que PowerShell ou Bash. Cela permet aux développeurs d’utiliser des invites en langage naturel pour accélérer les tâches telles que l’analyse et le débogage du code, la génération de documentation et la compréhension de nouveaux référentiels («REPOS»).
Cependant, dans les deux jours suivant sa sortie le 25 juin, le fournisseur de détection des menaces de cloud UK Tracebit avait déjà repéré les premières faiblesses de sécurité du logiciel, que les développeurs pourraient rencontrer lorsqu’ils étudient pour la première fois des références open source non vérifiées.
Dans la preuve de concept, les invites malveillantes ont été livrées à l’aide d’un fichier de licence publique GNU inoffensive du type qui ferait partie de tout dépôt open source.
Les chercheurs ont ensuite découvert une combinaison de faiblesses plus petites qui pourraient être exploitées ensemble pour exécuter des commandes de shell malveillant à l’insu de l’utilisateur.
ALLERDLIST EXPLOIT
La première faiblesse est que Gemini CLI permet aux utilisateurs de permettre à la liste des commandes fréquentes – par exemple, – d’éviter les ré-groupes constants. C’est une installation utile, sauf que la liste d’autorisation de Gemini CLI ne pouvait pas distinguer le Grep légitime et un commandement malveillant se faisant passer pour Grep.
Étant donné que une validation minimale a été effectuée, cela permettrait à un attaquant d’exécuter toute commande malveillante qu’il voulait, tout sans avoir besoin de reprocompter.
« (Cela pourrait inclure) une commande grep suivie d’une commande pour exfiltrer silencieusement toutes les variables d’environnement de l’utilisateur (contenant éventuellement des secrets) à un serveur distant. La commande malveillante pourrait être n’importe quoi (installer un shell distant, supprimer des fichiers, etc.) », a écrit Sam Cox de Tracebit.
Certes, la commande s’exécuterait sans réprimande, mais l’utilisateur ne le remarquerait-il pas toujours au fur et à mesure qu’il s’exécute dans la CLI? Si c’est le cas, cela exposerait l’attaquant même si la commande avait réussi à exécuter.
Malheureusement, Tracebit a découvert que les commandes malveillantes pouvaient être cachées dans Gemini CLI en emballant la ligne de commande avec des caractères vierges, poussant les commandes malveillantes hors de la vue de l’utilisateur.
«C’est la combinaison d’une injection rapide, de mauvaises considérations UX qui ne font pas surface de commandes risquées et de validation insuffisante sur les commandes risquées. Lorsqu’elles sont combinées, les effets sont significatifs et indétectables», a déclaré Cox.
La même attaque a échoué sur des outils rivaux: «Lors de cette attaque contre d’autres outils de code d’IA, nous avons trouvé plusieurs couches de protections qui l’ont rendu impossible», a déclaré Tracebit.
Les développeurs s’occupent
Les outils d’IA consistent à accélérer et à automatiser les tâches fastidieuses et longues. Cependant, ils font également la même chose pour les attaquants d’injection rapides. L’exploit documenté par Tracebit implique des hypothèses, mais pas des déraisonnables, qu’un attaquant pourrait exploiter dans des conditions réelles. Pendant ce temps, la chasse est déjà en cours pour trouver des défauts d’injection rapides dans un large éventail de contextes et d’outils.
En bref, bien que le défaut de Tracebit soit le premier découvert dans Gemini CLI, ce n’est probablement pas le dernier. Les défauts, classés par Google comme une gravité élevée (V1) et une correction prioritaire (P1), ont été corrigés dans Gemini CLI V0.1.14 publié le 25 juillet, c’est pourquoi nous entendons parler de cela maintenant.
Au-delà de la mise à jour de la version patchée de Gemini CLI, le meilleur conseil est toujours d’exécuter des outils en mode Sandbox pour les isoler à partir du système hôte. La réponse de Google à la divulgation, envoyée à Tracebit, a souligné ce dernier point:
« Notre modèle de sécurité pour la CLI est centré sur la fourniture de sable de sable à plusieurs couches robuste. Nous proposons des intégrations avec Docker, Podman et MacOS ceinture de sécurité, et fournissons même des conteneurs pré-construits que Gemini CLI peut utiliser automatiquement pour la protection sans transport », a déclaré à Tracebit le programme de divulgation de la Vulnerabilité Google (VDP). «Pour tout utilisateur qui choisit de ne pas utiliser de sable, nous nous assurons que cela est très visible en affichant un avertissement persistant dans le texte rouge tout au long de sa session.»



