Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Sicherheit und Datenschutz bei KI-Assistenten

Nach dieser Lektion: Ich kann sagen, was ich nicht in einen Assistenten einfüge und was generierter Code oft falsch macht.

Lektion, 55 Min.3 BefehleLab für KI-Coding-Agenten: mit opencode Code erklären und reparieren lassen und die Arbeit prüfen

Was Sie einem Assistenten schicken, verlässt Ihren Rechner

Datenschutz bei einem KI-Assistenten heißt: Alles, was Sie eintippen, geht an einen fremden Dienst und kann dort gespeichert werden. Sicherheit heißt außerdem, den Code, den er liefert, vor der Übernahme auf bekannte Schwächen zu prüfen.

Eine Studentin fügt eine Konfigurationsdatei ein, damit der Assistent einen Fehler findet. In der Datei steht ein Passwort. Jetzt liegt es auf einem Server, den sie nicht kontrolliert.

Am Ende dieser Lektion

Notiz

Ich kann sagen, was ich nicht in einen Assistenten einfüge und was generierter Code oft falsch macht.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
Geheimnisein Wert, der Zugang gibt, etwa ein Passwort oder ein Schlüssel
Personenbezogene DatenAngaben, mit denen sich ein Mensch erkennen lässtName und Anschrift
Einschleusungein Angriff, bei dem Text als Befehl gelesen wird
Abhängigkeitein fremdes Paket, das Ihr Code benutzt
Maskiereneinen Wert vor dem Weitergeben durch Sternchen ersetzen

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Fügen Sie nie Geheimnisse und fremde Daten ein

Ein Geheimnis ist ein Passwort, ein Schlüssel oder ein Zugangscode. Fügen Sie so etwas nie in einen Prompt ein.

Personenbezogene Daten wie Namen, Adressen oder Noten von anderen gehören ebenfalls nicht hinein. Das gilt auch für Texte, die Ihnen nicht gehören oder nicht öffentlich sind. Prüfen Sie vorher die Regeln Ihrer Hochschule.

Ein Beispiel: Was darf in den Prompt?

Sie wollen mitschickenDarf es hinein?Was Sie stattdessen tun
Eine Fehlermeldung ohne NamenJaDie Meldung einfügen
Ihre Konfigurationsdatei mit PasswortNeinDas Passwort durch *** ersetzen
Eine Kundenliste mit AdressenNeinErfundene Beispielzeilen nehmen
Ihren eigenen ÜbungscodeJaOhne Geheimnisse einfügen

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Im Lab suchen Sie Geheimnisse in erfundenem Text

Sie arbeiten mit Text, den der Befehl printf selbst erzeugt. Alle Werte sind erfunden. Ein Befehl sucht nach Wörtern, die auf ein Geheimnis hinweisen. Ein zweiter findet eine Adresse. Ein dritter maskiert einen Wert.

Die Befehle ändern keine Datei und greifen nichts an.

Eine Zeile mit Schlüssel finden

Befehl
printf 'name=anna\nkey=AB12CD34EF56GH78\nport=8080\n' | grep -nEi "key|secret|password|token"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Eine E-Mail-Adresse finden

Befehl
printf 'Anna Becker, [email protected], 0151 2345678\n' | grep -oE "[a-z]+@[a-z.]+"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Einen Wert maskieren

Befehl
printf 'key=AB12CD34EF56GH78\n' | sed 's/=.*/=***/'

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Was die drei Befehle zeigen

Der erste Befehl nennt die Zeile 2:key=AB12CD34EF56GH78, die Nummer 2 steht davor. Der zweite druckt [email protected]. Der dritte druckt key=***.

So finden Sie Geheimnisse und Adressen, bevor Sie einen Text weitergeben, und ersetzen die Werte durch Sternchen.

Ein häufiger Fehler

Warnung

Viele glauben, ein Passwort sei sicher, wenn sie es nach dem Absenden löschen. Was einmal gesendet wurde, haben Sie nicht mehr in der Hand. Nehmen Sie das Geheimnis als bekannt an und ändern Sie es sofort.

Generierter Code macht oft dieselben Sicherheitsfehler

Ein Assistent schreibt, was in vielen Beispielen häufig steht, auch wenn es unsicher ist. Typisch ist eine Einschleusung: Eine Abfrage wird aus Textteilen zusammengesetzt.

Typisch sind auch Passwörter fest im Code, Eingaben ohne Prüfung und Abhängigkeiten, die es nicht gibt oder die veraltet sind. Prüfen Sie jedes fremde Paket, bevor Sie es installieren.

Eine zusammengebaute Abfrage

Code: python
# Eine Abfrage, die ein Vorschlag aus Textteilen zusammenbaut.
name = "x' OR '1'='1"
abfrage = "SELECT * FROM kunden WHERE name = '" + name + "'"
print(abfrage)

# Die sichere Form trennt den Befehl von den Werten.
print("SELECT * FROM kunden WHERE name = ?", [name])

Warum der erste Text gefährlich ist

Der erste Ausdruck lautet SELECT * FROM kunden WHERE name = 'x' OR '1'='1'. Die Bedingung '1'='1' ist immer wahr, die Abfrage liefe also für alle Zeilen.

Die zweite Form schickt Befehl und Wert getrennt. Der Wert bleibt dann ein Wert. Das ist die Regel, die Sie im Review von Datenbankcode zuerst prüfen.

Über dieses Lab und seinen Quellcode: Lab für KI-Coding-Agenten: mit opencode Code erklären und reparieren lassen und die Arbeit prüfen

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.