By · Last updated 2026-06-05

Zurück zum BlogKI-Sicherheit

Code, Tests und Kundendaten: Wie Entwicklungsteams...

Unit-Test-Fixtures mit echten Kundenaufzeichnungen. Protokolldateien mit Produktionsdaten zur Fehlersuche.

June 5, 20268 min Lesezeit
AI coding assistantproduction PIIdeveloper securityMCP ServerGitHub Copilot

Warum KI-Coding-Tools echte Kundendaten verraten

Die meisten PII-Lecks aus Dev-Teams sind keine Einbrüche. Sie sind Nebeneffekte der täglichen Arbeit.

Produktionsdaten gelangen in Testumgebungen. Von dort erreichen sie KI-Coding-Tools — und die Anbieter dahinter.

GitHubs Forschung 2025 hat das bestätigt. Entwickler leakten 2024 39 Millionen Geheimnisse in öffentlichen Repos. API-Keys und persönliche Daten tauchten auf. Die meisten stammten aus Testfixtures und Debug-Logs. Sieh dir unsere Sicherheitsübersicht an, um zu erfahren, wie Teams dieses Risiko beheben.

Aktualisiert für 2026: Die Nutzung von KI-Coding-Tools wächst schnell. Die Angriffsfläche auch.

Wie echte Einträge in Dev-Umgebungen gelangen

Die Wege sind verbreitet und vorhersehbar.

Testfixture-Dateien: Unit-Tests brauchen realistische Eingaben. Der schnellste Weg ist das Kopieren von Zeilen aus der Produktion. Der Entwickler plant, sie "später" zu ersetzen. Später kommt selten. Echte E-Mails und Konto-IDs bleiben durch Dutzende von Commits.

Debug-Logs: Ein Bug lässt sich lokal nicht reproduzieren. Ein Entwickler zieht ein Log vom Live-System. Das Log enthält Kunden-E-Mails, IP-Adressen und Session-Tokens. Die Datei landet im Projektstamm und wird committet.

Migrationsskripte: Schemaänderungen enthalten Beispielzeilen für Testumgebungen. Ein DBA kopiert echte Zeilen als Beispiele. Das Skript — mit echten Kundeneinträgen — kommt in die Versionskontrolle.

Docs und README-Dateien: Nutzungsbeispiele verwenden "realistische" Eingaben. Realistisch bedeutet oft von echten Nutzern kopiert. Das README endet mit echten Bestell-IDs und Kontoadressen.

Config-Dateien: Dev-Configs tragen Staging-Keys, die echte Kundendaten erreichen. Diese Dateien werden mit Geheimnissen darin committet.

Was KI-Assistenten tatsächlich empfangen

Wenn Entwickler KI-Coding-Tools nutzen, senden mehrere Kanäle private Informationen nach außen.

Gesamtdateikontext: Das Tool kann ganze Dateien empfangen. Das umfasst Testfixtures mit echten Einträgen, Log-Auszüge oder Config-Dateien mit Live-Keys.

Zwischenablageeinfügungen: Entwickler fügen Code zum Review in den Chat ein. Der umgebende Kontext enthält oft Kundendaten.

IDE-Indexierung: Cursor und GitHub Copilot indexieren lokale Dateien für Kontext. Jede Projektdatei mit echten Zeilen wird Teil dieses Index.

Fehlermeldungen: Entwickler fügen Stack-Traces beim Debuggen in den KI-Chat ein. Stack-Traces können Kunden-IDs enthalten.

Jeder Kanal sendet private Informationen an die API des KI-Anbieters. Das erzeugt GDPR- und HIPAA-Risiko. Sieh unsere Compliance-Übersicht für die Anwendung dieser Regeln auf Dev-Tools.

GDPR und HIPAA: Wichtige Fakten für Dev-Teams

Diese Regeln gelten für die Nutzung von KI-Coding-Tools.

GDPR Artikel 28 — Verarbeiter: Das Senden persönlicher Informationen an einen KI-Anbieter macht diesen zu einem Datenverarbeiter. Ein Datenverarbeitungsvertrag ist erforderlich. Die meisten Anbieter haben DPAs. Entwickler, die KI-Tools außerhalb des formalen Einkaufs nutzen, haben möglicherweise keinen signierten DPA.

GDPR Artikel 6 — Rechtsgrundlage: Dev-Tests erfordern eine Rechtsgrundlage für die Verarbeitung persönlicher Informationen. Berechtigtes Interesse kann gelten — braucht aber einen Abwägungstest. Echte Kundenzeilen zu nutzen, wenn gefälschte ausreichen würden, besteht diesen Test nicht.

HIPAA — BAA: Gesundheitsentwickler müssen einen Business Associate Agreement mit dem KI-Anbieter haben. OpenAI, Anthropic und GitHub Copilot bieten BAAs für Enterprise-Nutzer. Einzelne Nutzung außerhalb eines Enterprise-Plans ist möglicherweise nicht abgedeckt.

Minimierung: Echte Kundeneinträge in Testfixtures verstoßen gegen die Minimierungsregel. Gefälschte Zeilen dienen demselben Zweck ohne Datenschutzkosten.

Unser FAQ beantwortet häufige Fragen zu diesen Regeln.

Praktische Schritte für Dev-Teams

Beginne mit einem schnellen Audit. Die meisten Teams finden Probleme innerhalb der ersten Stunde.

Sofortmaßnahmen:

  1. Testfixtures prüfen — nach E-Mail-, Telefon- und ID-Mustern suchen.
  2. Produktions-Log-Dateien in Projekt-Verzeichnissen auf Kunden-IDs prüfen.
  3. .gitignore aktualisieren, um Log-Dateien und umgebungsspezifische Datendateien auszuschließen.
  4. Echte Einträge durch synthetische Generatoren wie Faker oder Mimesis ersetzen.

Das Audit allein bringt oft Jahre gesammelter Exposition ans Licht. Ein Team fand echte Kunden-E-Mails in 14 Testdateien, erstellt von sechs Entwicklern über drei Jahre. Keiner hatte beabsichtigt, sie dort zu lassen.

Vor jeder KI-Assistenten-Sitzung:

  • PII-Erkennung auf Dateien ausführen, bevor sie geteilt werden.
  • Für IDE-Tools wie Cursor: Test-Verzeichnisse von der Indexierung ausschließen.
  • Für Chat-basierte Tools: eingefügten Code auf persönliche Informationen prüfen.

MCP-Server-Add-on:

Der anonym.legal MCP Server verbindet PII-Erkennung mit Claude Desktop und Cursor. Die Schritte sind einfach:

  1. Eine Datei im Editor öffnen.
  2. MCP Server aufrufen: PII in der Datei erkennen.
  3. Markierte Elemente prüfen.
  4. An Ort und Stelle redigieren.
  5. Die saubere Datei mit dem KI-Tool teilen.

Das kostet unter 30 Sekunden pro Datei. Es beseitigt die manuelle "PII prüfen"-Last. Sieh unsere Preispläne, um den MCP-Server-Zugang für dein Team hinzuzufügen.

Synthetische Eingaben — die dauerhafte Lösung:

Nutze nie echte Zeilen in Testfixtures. Synthetische Bibliotheken produzieren realistische Eingaben, ohne echte Nutzer preiszugeben. Faker (Python/Node.js), Factory Boy (Python) und Bogus (.NET) erzeugen gültige Eingaben für jedes Schema. Jede Bibliothek lässt dich ein Gebietsschema setzen und realistische Namen, E-Mails und Telefonnummern ausgeben — alles fake.

Fallstudie: SaaS-Team findet echte Einträge in Cursor

Der Fund kam bei einem GDPR-Audit. Ein SaaS-Team, das Cursor nutzte, fand echte Kunden-E-Mails in Unit-Test-Fixtures. Ein Entwickler hatte 18 Monate zuvor 50 Kundenzeilen aus der Produktion kopiert. Diese Zeilen waren in die Versionskontrolle committet und von Cursor indexiert worden.

Über 18 Monate griff Cursor auf die Fixture-Dateien etwa 11.000 Mal über 8 Entwickler-IDE-Sitzungen zu. Jede Sitzung kann Fixture-Inhalt an die Cursor-API gesendet haben.

Was das Team tat:

  1. Alle 50 echten Zeilen durch Faker-generierte Fake-Eingaben ersetzt.
  2. .gitignore aktualisiert, um Log-Dateien auszuschließen.
  3. MCP-Server für On-Demand-PII-Erkennung vor dem Teilen von Code hinzugefügt.
  4. Eine Norm gesetzt: keine Produktionseinträge in committteten Dateien.

Der MCP-Server war die wichtigste Änderung. Entwickler führen jetzt vor Cursor-Sitzungen mit kundenorientiertem Code eine Erkennung durch. Null Mehraufwand über den MCP-Aufruf hinaus.

Lies mehr in unserem Bereich Fallstudien.

Quellen

GitHub Security Research 2024. VERIFIED-EXTERNAL.

GDPR Artikel 28. VERIFIED-EXTERNAL.

HIPAA BAA-Leitfaden. VERIFIED-EXTERNAL.

Bereit, Ihre Daten zu schützen?

Beginnen Sie mit der Anonymisierung von PII mit über 285 Entitätstypen in 48 Sprachen.

About this page

We update this page when our platform or the law changes.

Read our founder note for how we work.

Each change shows up in the timestamp at the top.

Related reading

We follow these rules

  • GDPR (EU 2016/679).
  • ISO/IEC 27001:2022.
  • NIS2 (EU 2022/2555).
  • HIPAA safe harbor under 45 CFR § 164.514(b)(2).

Our promise

We do not sell your data.

We do not train models on your text.

We store your files in Germany.

You can delete your account at any time.

You own your work.

Where we run

Our servers live in Falkenstein, Germany.

We use Hetzner. They hold ISO 27001 certification.

All data stays in the EU.

Backups run every day.

Need help?

Email support@anonym.legal.

We reply within one business day.

How we test

We run a full check suite on every release.

Each surface gets its own sweep script and report.

Human reviewers spot-check the output each week.

We track recall and precision on a labelled set.

Bad runs block the deploy.

What we never do

  • We never sell your information to third parties.
  • We never train models on what you upload.
  • We never keep your work after you delete it.
  • We never share keys with any outside firm.
  • We never run ads inside the product.

Plans in plain words

We sell credits, not seats.

One credit covers one short job.

Long jobs use a few credits each.

You can top up at any time.

Unused credits roll over each month.

Read the plans page for current rates.

Who built this

A small team of engineers and lawyers built this.

We ship from Europe and work in the open.

Our founder note spells out why we started.

Where to start

How the parts fit

A browser add-on cleans text inside Chrome.

A Word plug-in handles drafts in Office.

A small desktop tool works on whole folders.

An agent protocol link feeds large models safely.

All four share one core engine and one rule set.

Words from our team

We started this work after a lunch about cookies.

One friend kept getting odd ads on her phone.

We asked why a court file leaked through a draft.

We sketched the first build on a napkin that week.

By month three we had a tiny demo for a friend.

She used it on her first case the next day.

Common questions we hear

Can the tool read scanned PDFs? Yes, with OCR.

Does it work on long files? Yes, in small chunks.

Can I roll my own rule set? Yes, save it as a preset.

Does it run offline? The desktop build runs offline.

Do you keep my files? No, the cloud build wipes after each run.

Will it learn from my work? No, we never train on inputs.

A short tour of the workflow

Upload a file or paste a snippet of prose.

Pick the entities you want gone from the draft.

Choose a method: replace, mask, hash, encrypt, or redact.

Press run and watch the side panel show each hit.

Skim the result and tweak any rule that misfired.

Save the cleaned file or send it to a teammate.