Sécurité et contrôle
L'IA ne devrait agir sur de vraies machines que dans les limites que vous fixez, avec les étapes sensibles approuvées par une personne et chaque action enregistrée. Cette page décrit comment LetKite Lite le fait aujourd'hui, et ce qu'ajoutent les offres LetKite hébergées.
Modèle d'autorisation
Autorisations du client
Lorsque vous connectez un client d'IA, vous approuvez ses autorisations : fleet.read, fleet.exec et fleet.write. Nous recommandons d'accorder d'abord la lecture et l'exécution, et l'écriture uniquement lorsqu'elle est nécessaire.
Autorisations de la machine
Chaque machine a ses propres autorisations : une base de données de production peut ainsi être en lecture seule tandis qu'un serveur de test accepte les modifications.
Droits du compte
Par défaut, la passerelle se connecte à chaque machine avec un compte dédié qui n'a pas de droits sudo. Les commandes qui nécessitent root doivent être listées explicitement dans le fichier sudoers.
Connexion avec OAuth 2.1
Les clients d'IA se connectent à la passerelle avec OAuth 2.1, sans mot de passe ni clé SSH :
- Les jetons d'accès expirent au bout de 15 minutes et sont liés à l'URL de votre passerelle.
- Les jetons de rafraîchissement sont remplacés à chaque utilisation. Si un ancien jeton est réutilisé, tous les jetons issus de cette connexion sont révoqués.
- L'autorisation utilise PKCE (S256) et des codes à usage unique qui expirent au bout de deux minutes.
- Vous approuvez chaque client sur une page de consentement qui affiche son adresse de rappel. Seules les adresses de rappel figurant sur la liste autorisée sont acceptées.
- Les mots de passe administrateur sont stockés sous forme de hachages scrypt. Après cinq échecs de connexion depuis une même adresse, les tentatives suivantes depuis cette adresse sont bloquées pendant des durées croissantes.
Confirmation des commandes risquées
Les commandes manifestement destructrices, comme la suppression du système de fichiers racine ou le formatage d'un disque, sont refusées. Les commandes légitimes mais risquées, comme un redémarrage, l'arrêt d'un service, l'effacement des règles du pare-feu ou une suppression récursive, sont mises en attente jusqu'à ce que l'IA reformule la commande exacte et la confirme : vous voyez ainsi ce qui va s'exécuter avant son exécution.
Ces vérifications sont conçues pour détecter les erreurs, y compris celles d'un modèle induit en erreur par un texte qu'il a lu. Elles ne constituent pas la limite de sécurité : ce rôle revient aux droits du compte sur chaque machine. Pour un contrôle plus strict, exécutez la passerelle en mode lecture seule ou n'accordez pas fleet.write.
Un enregistrement de chaque appel
Pour chaque appel, la passerelle écrit une ligne dans son journal d'audit et l'enregistre sur disque avant de renvoyer le résultat : qui a fait l'appel, quand, sur quelle machine, la commande et son code de sortie. La sortie des tâches longues reste sur la machine et peut être consultée plus tard.
Aucun logiciel à installer sur vos serveurs
Les serveurs Linux n'ont besoin d'aucun programme supplémentaire. L'inscription crée le compte aux droits limités et ajoute la clé publique de la passerelle ; elle ne place ni code ni clé privée sur le serveur. Retirer un serveur prend une commande, et la désinstallation de la passerelle commence par retirer sa clé de chaque serveur.
Où vont vos données
Avec LetKite Lite, la passerelle fonctionne sur votre propre serveur. Les commandes et leur sortie circulent uniquement entre cette passerelle, vos machines et le client d'IA que vous avez connecté ; l'entreprise LetKite ne les reçoit pas. Le fournisseur d'IA voit ce que son assistant lit et écrit, selon ses propres conditions.
Questions
L'IA peut-elle exécuter n'importe quelle commande ?
Non. Une commande ne s'exécute que si les autorisations du client, celles de la machine et les droits du compte sur cette machine le permettent tous. Les commandes risquées nécessitent en plus une confirmation.
LetKite voit-il mes commandes ou mes fichiers ?
Pas avec LetKite Lite. La passerelle fonctionne sur votre propre serveur ; les commandes et leur sortie circulent uniquement entre cette passerelle, vos machines et le client d'IA que vous avez connecté.
Où le journal d'audit est-il conservé ?
Sur la passerelle, à raison d'une ligne par appel. Il indique qui a fait l'appel, quand, sur quelle machine, la commande et son code de sortie.
Comment signaler un problème de sécurité ?
Écrivez à contact@letkite.com. Indiquez les étapes pour reproduire le problème, et laissez-nous le temps de le corriger avant de le rendre public.