Connexion
Abonnez-vous

Common Crawl contient des milliers de clés et mots de passe API

Gardez vos secrets

Common Crawl contient des milliers de clés et mots de passe API

L'entreprise Truffle Security explique avoir trouvé près de 12 000 clés et mots de passe API dans l'une des bases de données les plus utilisées pour entrainer les IA génératives d'OpenAI, DeepSeek, Google, Meta, Anthropic, et Stability : Common Crawl. Non seulement Common Crawl expose des données sensibles, mais elle propose de mauvais exemples pour entrainer les IA sur l'utilisation des clés d'API.

Le 03 mars à 14h54

Dans les 400 To de données compressées que contient Common Crawl, Truffle Security affirme avoir trouvé des milliers de clés et de mots de passe d'API. Au-delà du problème de sécurité pour les personnes directement concernées, l'entreprise de sécurité pointe un problème dans l'information donnée par les IA génératives aux développeurs : elles leur recommandent de coder en dur les clés et les mots de passe d'API.

Les modèles de langage donnent de mauvais conseils

Depuis 2008, l'organisation à but non lucratif Common Crawl parcourt le web, archive les pages sur laquelle elle passe et les stocke dans une base de données. Celle-ci fait actuellement 400 To de données, qui sont notamment utilisées par les entreprises d'IA générative, comme OpenAI ou DeepSeek, pour entrainer leurs modèles.

Truffle Security est une entreprise qui édite le logiciel libre Truffle Hog qui permet justement de scanner du code à la recherche de données sensibles. En décembre dernier, l'entreprise s'était aperçue qu'une bonne partie des grands modèles de données comme Lllama-3.3, GPT-4o, Claude 3.5 Sonnet ou encore Gemini 1.5 recommandaient de coder en dur (c'est-à-dire écrire directement dans le code) les informations secrètes que les développeurs utilisent pour accéder à des API.

« Les modèles les plus récents et les plus avancés ont obtenu les meilleurs résultats. Mais les secrets codés en dur dominaient toujours, même lorsque des exemples sécurisés étaient facilement disponibles », expliquaient-ils.

Ils remarquaient au passage que, dans son exemple d'utilisation, la documentation de Stripe-python faisait la même erreur (c'est toujours le cas), alors que celle de Slack montrait un exemple sécurisé. Cette différence semble se répercuter d'ailleurs sur les recommandations des modèles puisqu'ils sont plus nombreux à proposer de coder en dur les secrets API de Stripe que de Slack :

Truffle Security alertait aussi sur la répercussion de cette mauvaise recommandation sur les IDE qui intègrent de l'IA générative comme VS Code. Dans leur test, l'IDE en mode édition proposait du code généré utilisant des variables d'environnement, une solution sécurisée. Mais dans la vue Chat de l'IDE, GPT-4o a recommandé des informations d'identification codées en dur.

Près de 12 000 secrets API utilisables

Les chercheurs de l'entreprise se sont donc demandés pourquoi tous ces modèles proposent de coder en dur ces informations pourtant si sensibles. Sans trop d'étonnement, ils ont trouvé la réponse dans les données d'entrainement qu'utilisent tous ces modèles.

Dans Common Crawl, ils ont pu identifier 11 908 « secrets vivants » (live secrets, en anglais). Les secrets, comme nous l'expliquions en 2023, ce sont « tout ce qui permet d'accéder à un autre système ou de déchiffrer des données », qu'il s'agisse de paires nom d'utilisateur/mot de passe, de jetons d'API, d'URL de connexion à une base de données ou de cookies de session de navigateur. Le fait qu'ils soient « vivants » indique qu'ils permettent encore de se connecter, et donc qu'ils n'ont pas été modifiés ou n'ont pas expiré.

Truffle Security précise avoir détecté 219 types de secrets différents dans la base de données dont une clé root AWS utilisée pour l'authentification de base sur S3 (heureusement, celle-ci ne fonctionnait plus quand ils l'ont testée). Les clés API pour Mailchimp restent les secrets les plus partagés dans Common Crawl : près de 1 500 clés du service de newsletter étaient codées en dur dans du code HTML ou JavaScript. Ils remarquent aussi que l'utilisation répétée d'une même clé, chose qu'ils ont repérée, révèle la liste des clients d'une entreprise qui possède cette clé.

Truffle Security conseille aux développeurs qui utilisent ce genre d'IA pour générer leur code d'ajouter des instructions comme :

You are a security engineer with 30 + years of secure coding experience.
You never suggest hardcoded credentials or other insecure code patterns.

Vu la portée de la faille, Truffle Security n'a pas contacté toutes les entités touchées par le problème de peur d'être ensuite répertoriée comme un spammeur. L'entreprise explique avoir contacté les responsables des clés API dont les clients étaient les plus touchés et avoir collaboré avec eux pour révoquer les clés de leurs utilisateurs, ce qui a permis de modifier/révoquer plusieurs milliers de clés qui se trouvaient dans Common Crawl.

Commentaires (6)

votre avatar
Ah bravo !

L'entraînement des IA sur de mauvaises données est un problème de fond.
Un autre exemple avec Stack Overflow, quand j'entends que des IA ont été entraînées avec, alors que le contenu est souvent de piètre qualité (des réponses très bien notées alors que les bonnes réponse ne le sont parfois pas), cela laisse songeur sur ce que va proposer l'IA ensuite !
votre avatar
Tu veux dire que tu attends mieux d'une IA que d'un humain qui va sur 'Stack Overflow' ?
votre avatar
C'est ce qu'on nous vend et que beaucoup trop achètent !
votre avatar
Arrêtez de regarder mon keepass enfin !
votre avatar
En utilisant l'extension "Github Copilot", sur vscode, je me suis rendu compte plusieurs fois que les clés API notamment de google, qui était hardcodé et fourni par l'extension fonctionnait réellement.. :santa_flock:
votre avatar
Sur une appli Electron distribuée en AppImage, j'avais vu que le dev avait mis un token GitHub admin pour gérer le pull des mises à jour depuis son repository privé...

La sécu c'est vraiment surfait.

Ça m'étonne que ces clés ne soient pas révoquées.

Common Crawl contient des milliers de clés et mots de passe API

  • Les modèles de langage donnent de mauvais conseils

  • Près de 12 000 secrets API utilisables

Fermer