Blinder - un outil CLI qui masque les secrets d’un projet pour les agents IA
(github.com/YellowC-137)Bonjour.
À chaque fois que je confiais un projet à un agent IA, supprimer manuellement une à une les données sensibles était trop fastidieux, alors j’ai créé moi-même un outil d’automatisation qui masque les informations avec une seule commande.
Avant de transmettre un projet existant à un agent IA, il empêche en amont toute fuite vers l’extérieur de clés API, identifiants, certificats, etc. codés en dur dans le code source.
-
Les chaînes suspectes trouvées par expression régulière font l’objet d’une seconde vérification via une analyse syntaxique afin de confirmer qu’elles se trouvent bien dans de véritables « string literals » du code.
-
Transformation automatique du code (auto-fix), et pas seulement masquage
Les secrets codés en dur sont extraits dans un fichier.env, puis le code source est automatiquement remplacé selon le langage parprocess.env.API_KEY,System.getenv(),@Value, etc. -
Traitement des fichiers adapté à chaque plateforme :
L’outil ne se limite pas au code source : il essaie aussi de séparer avec précision les secrets présents dans les fichiers de build et de configuration commeInfo.plistsur iOS,build.gradlesur Android,pubspec.yamlpour Flutter ouapplication.ymlpour Spring, à l’aide de parseurs dédiés.
Les principales fonctionnalités sont les suivantes :
Séparer les secrets codés en dur, comme les clés et URL, dans .env et transformer automatiquement le code
blinder blind
- String apiKey = "sk_live_abc123..." # Before
+ String apiKey = BuildConfig.STRIPE_KEY # After (빌드 가능)
Créer un projet en lecture seule pour les agents IA
blinder mask
- apiKey: "AIzaSy9xK2mP3rT..." # Before
+ apiKey: "__BLINDER_VAR__FIREBASE_API_KEY" # After (빌드 불가)
Il propose ces deux modes.
Vous pouvez l’installer globalement dans un environnement Node.js et l’utiliser immédiatement.
Bash
npm install -g github:YellowC-137/Blinder
À ce jour, il prend en charge les environnements iOS, Android, Flutter, Node.js, React, Spring Boot et Ruby, et de nouvelles plateformes sont ajoutées en continu.
Comme il s’agit d’un projet open source encore à ses débuts, il peut y avoir des points à améliorer.
Tous les retours sont les bienvenus, merci !
GitHub Repo: https://github.com/YellowC-137/Blinder
Aucun commentaire pour le moment.