Blinder - ein CLI-Tool, das die Secrets eines Projekts für AI Agents verbirgt
(github.com/YellowC-137)Hallo.
Da es viel zu umständlich war, jedes Mal wichtige Daten einzeln manuell zu löschen, wenn ich ein Projekt einem AI Agent übergebe, habe ich selbst ein Automatisierungstool gebaut, das Informationen mit einem einzigen Befehl unkenntlich macht.
Bevor ein bestehendes Projekt an einen AI Agent übergeben wird, verhindert es vorab, dass im Quellcode hartkodierte API-Schlüssel, Zugangsdaten, Zertifikate usw. nach außen gelangen.
-
Verdächtige Zeichenfolgen, die per regulärem Ausdruck gefunden werden, werden per Syntaxanalyse ein zweites Mal geprüft, um zu verifizieren, ob sie sich tatsächlich innerhalb eines "String-Literals" im Code befinden.
-
Automatische Code-Transformation (Auto-fix) statt einfachem Maskieren
Hartkodierte Secrets werden in eine.env-Datei ausgelagert, und der Quellcode wird je nach Sprache automatisch durchprocess.env.API_KEY,System.getenv(),@Valueusw. ersetzt. -
Plattformspezifische Dateiverarbeitung:
Nicht nur einfacher Quellcode, sondern auch Secrets in Build-/Konfigurationsdateien wieInfo.plistunter iOS,build.gradleunter Android,pubspec.yamlbei Flutter oderapplication.ymlbei Spring werden über die jeweiligen Parser präzise getrennt.
Die Hauptfunktionen sind:
Hartkodierte Keys, URLs und andere Secrets in .env auslagern und den Code automatisch transformieren
blinder blind
- String apiKey = "sk_live_abc123..." # Before
+ String apiKey = BuildConfig.STRIPE_KEY # After (빌드 가능)
Ein Read-only-Projekt für AI Agents erzeugen
blinder mask
- apiKey: "AIzaSy9xK2mP3rT..." # Before
+ apiKey: "__BLINDER_VAR__FIREBASE_API_KEY" # After (빌드 불가)
Gibt es ebenfalls.
In einer Node.js-Umgebung kann es global installiert und sofort ausprobiert werden.
Bash
npm install -g github:YellowC-137/Blinder
Derzeit werden iOS, Android, Flutter, Node.js, React, Spring Boot und Ruby unterstützt, und weitere Plattformen werden fortlaufend hinzugefügt.
Da es sich um ein Open-Source-Projekt in einer frühen Phase handelt, kann es noch Schwächen geben.
Ich freue mich über viel Feedback, vielen Dank!
GitHub Repo: https://github.com/YellowC-137/Blinder
Noch keine Kommentare.