By · Last updated 2026-06-06

Zpět na blogBezpečnost AI

AI asistenti pro kódování způsobují únik produkčních PII

Testovací fixture se skutečnými zákaznickými záznamy. Logovací soubory s produkčními daty pro ladění. GitHub v roce 2024 zjistil 39 milionů uniklých tajných klíčů.

June 6, 20268 min čtení
AI coding assistantproduction PIIdeveloper securityMCP ServerGitHub Copilot

Problém PII ve vývojovém prostředí

Vývojářské týmy patří k nejčastějším neúmyslným zdrojům úniku PII — nikoli prostřednictvím systémových narušení, ale skrze každodenní pracovní postupy při vývoji softwaru.

Problém spočívá v tom, že osobní data z produkčních systémů se pravidelně dostávají do vývojových prostředí, a odtud do AI asistentů pro kódování.

Výzkum zabezpečení GitHub z roku 2025 zjistil, že v roce 2024 bylo v veřejných repozitářích uniklých 39 milionů tajných klíčů — API klíče, přihlašovací údaje a citlivá data. Značná část pocházela z testovacích dat a ladicích artefaktů: vývojářů, kteří zkopírovali produkční data do testovacích fixture, vzorových datových souborů nebo ladicích protokolů a pak je commitli do správy verzí.

AI asistenti pro kódování toto riziko zesilují. Když vývojář sdílí soubor s unit testy obsahující skutečné e-mailové adresy zákazníků s GitHub Copilotem, Cursorem nebo Claude za účelem code review, servery dodavatele AI tyto e-mailové adresy obdrží. Subjekt údajů, jehož e-mail byl zkopírován do testovacích fixture, vůbec netuší, že jeho e-mailová adresa je nyní v tréninkové pipeline AI společnosti.

Cesty, kterými PII vstupuje do vývojových prostředí

Tyto cesty jsou předvídatelné:

Testovací fixture data: Unit a integrační testy vyžadují realistická testovací data. Nejrychlejší způsob, jak realistická data získat, je zkopírovat několik záznamů z produkce. Vývojář má v úmyslu je „later” nahradit syntetickými daty. Later zřídka přijde. Produkční e-mailové adresy, jména a ID účtů přetrvávají v testovacích fixture přes desítky commitů.

Ladění na základě protokolů: Chybu nahlášenou z produkce nelze reprodukovat lokálně. Vývojář si vyžádá výpis protokolu z produkčního systému pro lokální reprodukci. Výpis protokolu obsahuje e-mailové adresy zákazníků, IP adresy a identifikátory relací. Soubor protokolu zůstane v kořenovém adresáři projektu a je zahrnut do následujících git commitů.

Skripty pro databázové migrace: Schématické migrace zahrnují vzorová data pro neprodukční prostředí. Správce databáze zkopíruje několik řádků z produkce jako vzorek. Migrační skript — se skutečnými zákaznickými daty — je commitnut do kódové základny.

Dokumentace a README: Dokumentace kódu zahrnuje příklady použití s „realistickými” daty. „Realistická” znamená zkopírovaná ze skutečných zákaznických interakcí. README obsahuje skutečná ID zákaznických objednávek, kódy produktů propojené s konkrétními účty a příležitostně e-mailové adresy.

Konfigurační soubory: Konfigurace aplikace pro vývojová prostředí zahrnuje přihlašovací údaje k stagingové/produkční databázi nebo API klíče, které rovněž umožňují přístup k zákaznickým datům. Tyto konfigurační soubory jsou commitnuty do správy verzí s tajnými klíči přístupnými vývojářům.

Co vidí AI asistenti pro kódování

Když vývojář používá AI asistenta pro kódování s kontextem ze své kódové základny:

Kontext na úrovni souborů: Asistent může přijímat celé soubory — včetně souborů s testovacími fixture se skutečnými zákaznickými daty, výpisů protokolů přiložených k projektu nebo konfiguračních souborů s produkčními přihlašovacími údaji.

Vkládání ze schránky: Vývojáři vkládají fragmenty kódu do AI chatovacích rozhraní, aby požádali o revizi nebo pomoc při ladění. Fragment může zahrnovat okolní kontext se zákaznickými daty.

Integrace IDE: Cursor a GitHub Copilot se integrují do IDE a mohou indexovat lokální soubory pro kontext. Soubory v adresáři projektu obsahující produkční data se stávají součástí kontextu pro indexování.

Chybové zprávy: Při ladění produkčních chyb vývojáři vkládají chybové zprávy a stack traces do AI asistentů. Stack traces mohou obsahovat zákaznicky specifické identifikátory z kontextu chyby.

Každá z těchto cest přenáší osobní údaje na API dodavatele AI, čímž vytváří důsledky pro soulad s GDPR a HIPAA.

Důsledky pro soulad s GDPR a HIPAA u vývojářských týmů

GDPR článek 28 (Zpracovatel): Když jsou osobní údaje přenášeny k dodavateli AI asistenta pro kódování, stává se tento dodavatel zpracovatelem dle GDPR. Je vyžadována smlouva o zpracování dat (DPA). Většina dodavatelů AI asistentů pro kódování má DPA k dispozici — vývojáři však používající AI nástroje mimo formální proces nákupu organizace nemuseli DPA uzavřít.

GDPR článek 6 (Právní základ): Zpracování osobních údajů pro testování při vývoji softwaru vyžaduje právní základ. „Oprávněný zájem” může platit, ale vyžaduje vyvažovací test. Použití skutečných zákaznických dat pro vývojové testování, když by syntetická data sloužila stejnému účelu, tímto testem neprojde (existuje méně invazivní alternativa z hlediska ochrany soukromí).

HIPAA (Smlouva o obchodním partnerovi): Vývojáři ve zdravotnictví používající AI asistenty pro kódování k revizi kódu zpracovávajícího PHI musí mít s dodavatelem AI uzavřenu smlouvu o obchodním partnerovi (BAA). OpenAI, Anthropic i GitHub Copilot nabízejí BAA pro podnikové zákazníky, ale individuální využití vývojářů mimo podnikovou smlouvu nemusí být kryto.

Minimalizace dat: Skutečná zákaznická data v testovacích fixture porušují zásadu minimalizace — syntetická data by testovacímu účelu sloužila bez nákladů na soukromí.

Praktická opatření pro vývojářské týmy

Okamžité kroky:

  1. Auditujte stávající testovací fixture kvůli skutečným datům — hledejte vzory e-mailů, vzory rodného čísla, vzory telefonních čísel
  2. Auditujte produkční logovací soubory v adresářích projektů — identifikujte soubory obsahující zákaznické identifikátory
  3. Nakonfigurujte .gitignore pro vyloučení logovacích souborů a souborů s daty specifickými pro prostředí
  4. Nahraďte produkční data v testovacích fixture generátory syntetických dat (Faker, Mimesis)

Postup před použitím AI asistenta:

  • Před sdílením jakéhokoli souboru s AI asistentem: spusťte detekci PII na souboru
  • Pro AI integrované do IDE (Cursor): nakonfigurujte asistenta pro vyloučení adresářů s testovacími daty z indexování
  • Pro AI v chatovém rozhraní: zkontrolujte vkládaný kód kvůli PII před odesláním

Integrace MCP serveru pro vývojářské pracovní postupy: Integrace MCP serveru anonym.legal propojuje detekci PII přímo s Claude Desktop a Cursor. Vývojáři mohou zpracovat soubor přes MCP server před sdílením s AI asistentem:

  1. Otevřete soubor v editoru
  2. Volání MCP serveru: detekujte PII v obsahu souboru
  3. Zkontrolujte detekované entity
  4. Anonymizujte entity na místě
  5. Sdílejte anonymizovanou verzi s AI asistentem

Tento postup přidává méně než 30 sekund na soubor a eliminuje kognitivní zátěž ručního „vyhledávání PII”.

Generování syntetických dat: Trvale udržitelné řešení pro testovací fixture: nikdy nepoužívejte skutečná data. Knihovny pro generování syntetických dat produkují realisticky vypadající data bez skutečných osob. Knihovny jako Faker (Python/Node.js), Factory Boy (Python) a Bogus (.NET) generují kontextově vhodná testovací data pro jakékoliv schéma.

Případová studie: SaaS inženýrský tým a objev produkčních PII

SaaS inženýrský tým používající Cursor (AI IDE) pro vývoj objevil produkční e-mailové adresy zákazníků v unit testovacích fixture při auditu GDPR. Testovací fixture byly vytvořeny před 18 měsíci, kdy vývojář zkopíroval 50 zákaznických záznamů z produkce pro psaní realistických integračních testů. Záznamy byly commitnuty do správy verzí a indexovány Cursorem.

Během 18 měsíců byly soubory s testovacími fixture zobrazeny Cursorem přibližně 11 000×krát v průběhu IDE relací 8 vývojářů — každá relace potenciálně přenášela obsah fixture na Cursor API.

Náprava:

  1. Nahrazení všech 50 skutečných zákaznických záznamů syntetickými daty generovanými pomocí Faker
  2. Konfigurace .gitignore pro vyloučení logovacích souborů ze správy verzí
  3. Implementace integrace MCP serveru v Cursoru pro detekci PII na vyžádání před sdílením fragmentů kódu
  4. Zavedení týmové normy v inženýrském týmu: žádná produkční data v žádném souboru commitnutém do správy verzí

Integrace MCP serveru byla klíčovou změnou pracovního postupu: vývojáři nyní spouštějí detekci PII na souborech před Cursor relacemi zahrnujícími kód pro zákazníky. Žádné ruční úsilí nad rámec volání MCP serveru.

Zdroje:

Připraveni chránit svá data?

Začněte anonymizovat PII s více než 285 typy entit ve 48 jazycích.

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.