Artikel wurde ohne KI geschrieben und kann tippfehler/formfehler enthalten.
Sichere Passwörter sind die erste Verteidigungslinie für Ihre Online-Konten. Ein übliches Muster in der Entwicklung ist, man hat im Projekt ein Datei mit Umgebungsvariabeln (.env environment file), welche Geheimnisse (Passwörter und Schlüssel) enthält.
In .NET Projekten manchmal auch ein appsettings JSON.
Sobald man ein KI Tool verwendet muss man den Ansatz ändern, da diese alles auf dem Dateisystem findet und hochlädt. Das Zeitalter von .env Dateien ist vorbei.
Geheimnisse des Testsystems sind auch schützenswert. Über das testsystem kann man Hintergrundwissen wie OpenAPI endpunkte oder geteilte Schlüssel finden. Nur wenn alles lokal läuft ist man auf der sicheren Seite.
Ein Komplett verbot der KI auf das Dateisystems is möglich, jedoch muss man dann manuell Änderungen hin und her kopieren. Dieser (airgap) Ansatz kann auch gewünscht sein falls ein hoher grad an Complience erforderlich ist.
Bei .NET gibt es einen Secret Manager welcher die apssetting Werte automatisch ausfüllt. Siehe dotnet user-secrets link
Für andere Applikationen hier ein paar Alternative Ansätze.
1Password managed die Geheimnisse und injected sie vor start der Applikation. Somit hat die KI keine Möglichkeit an diese zu kommen.
op run --env-file=".env" -- node app.js
Sops entschlüsselt eine Datei und übergibt diese dann der Applikation.
sops --decrypt --output-type dotenv .env.enc | xargs -d '\n' env -- node app.js
Es ist wichtig das die Geheimnisse nicht der Shell exportiert werden, sonst können andere darauf zugreifen.
Ein Möglicher Ansatz der noch nicht so verbreitet ist, die KI in einer abgeschlossener Sandbox laufen zu lassen, und nur die benötigten Dateien zur verfügung stellen. Da jedoch die KI oft auch Pakete runterlädt und andere Befehle ausführt, benötigt dieser Ansatz mehr Betreuung.
Die Wunschlösung wäre das ein Proxy zwischen der KI und dem System Sitzt, und die Geheimnisse bei jedem HTTP request austauscht. Somit wird die KI, und auch die Entwickler, nie die echten Geheimnisse sehen.
Zusammenfassung
- Die ganze Umgebung lauft nur lokal und verbindet sich nicht zu externen systemen.
- Geheimnisse zur Laufzeit der Applikation geben, nicht auf das Dateisystem Speichern.