Exploitation de LLM APIs avec une agentivité excessive

Exploiting LLM APIs with excessive agency

Objectif du lab

Utiliser le LLM pour supprimer l’utilisateur carlos.

Connaissances requises

  • Fonctionnement des API de LLM

  • Méthode pour cartographier la surface d’attaque d’une API de LLM (fonctions/outils accessibles)

Contexte

L’application fournit un live chat connecté à un LLM capable d’appeler des fonctions internes (outils).

Reconnaissance (énumération des fonctions)

Dans le chat, on demande directement quels outils sont disponibles :

  • Question :

    • What API do you have access to?

Réponse du LLM (fonctions accessibles) :

Exploitation

1) Exécuter une requête SQL pour lister les utilisateurs

On demande au LLM d’exécuter une requête pour énumérer les comptes :

Résultat renvoyé par le LLM :

2) Obtenir la suppression de l’utilisateur via le LLM

On lui demande ensuite de supprimer carlos en se présentant comme administrateur :

  • Prompt :

Le LLM exécute l’action et confirme :

Mis à jour