By · Last updated 2026-06-05

Atgal į BlogąAI Saugumas

AI kodavimo asistentai nutekina gamybos asmens duomenis

Vienetinių testų duomenų rinkiniai su realiais klientų įrašais. Žurnalo failai su gamybos duomenimis derinimui. GitHub nustatė 39 milijonus nutekintų paslapčių 2024 m.

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

Kodėl AI kodavimo įrankiai nutekina realius klientų įrašus

Dauguma asmens duomenų nutekėjimų iš kūrėjų komandų nėra pažeidimai. Jie yra kasdienio darbo šalutiniai efektai.

Gamybos duomenys patenka į testų aplinkas. Iš ten jie pasiekia AI kodavimo įrankius — ir juos valdančius tiekėjus.

GitHub 2025 m. tyrimas tai patvirtino. Kūrėjai 2024 m. nutekino 39 milijonus paslapčių viešosiose saugyklose. API raktai ir asmeniniai duomenys pasirodė. Dauguma kilo iš testų duomenų rinkinių ir derinimo žurnalų. Žr. mūsų saugumo apsaugos priemonių apžvalgą, kad sužinotumėte, kaip komandos sprendžia šią riziką.

Atnaujinta 2026 m.: AI kodavimo įrankių pritaikymas augo greitai. Taip pat išaugo poveikio paviršius.

Kaip realūs įrašai patenka į kūrėjų aplinkas

Keliai yra įprasti ir nuspėjami.

Testų duomenų rinkinių failai: Vienetiniams testams reikia realistiškų įvesties duomenų. Greičiausias kelias yra eilučių kopijavimas iš gamybos. Kūrėjas planuoja jas pakeisti "vėliau". Vėliau retai ateina. Realūs el. pašto adresai ir paskyros ID lieka per dešimtis iškvietimų.

Derinimo žurnalai: Klaidos negalima atkurti vietoje. Kūrėjas paima žurnalą iš gyvos sistemos. Tas žurnalas turi klientų el. paštus, IP adresus ir sesijos žetonus. Failas patenka į projekto šaknį ir yra įkeltas.

Migracijos scenarijai: Schemos pakeitimai apima pavyzdines eilutes testų aplinkoms. DBA kopijuoja realias eilutes kaip pavyzdžius. Scenarijus — su tikrais klientų įrašais — patenka į versijų valdymą.

Dokumentai ir README failai: Naudojimo pavyzdžiai naudoja "realistiškus" įvesties duomenis. Realistiški dažnai reiškia nukopijuotus iš realių vartotojų. README baigiasi realiais užsakymų ID ir paskyros adresais.

Konfigūracijos failai: Kūrimo konfigūracijos turi konfigūracijos raktus, pasiekiančius realius klientų duomenis. Šie failai įkeliami su paslapčiais viduje.

Ką AI asistentai iš tikrųjų gauna

Kai kūrėjai naudoja AI kodavimo įrankius, keli kanalai siunčia privačią informaciją išorėn.

Viso failo kontekstas: Įrankis gali gauti visus failus. Tai apima testų duomenų rinkinio failus su realiais įrašais, žurnalų ištraukas arba konfigūracijos failus su gyvais raktais.

Iškarpinės įkėlimai: Kūrėjai įkelia kodą į pokalbį peržiūrai. Aplinkinis kontekstas dažnai turi klientų duomenis.

IDE indeksavimas: Cursor ir GitHub Copilot indeksuoja vietinius failus kontekstui. Bet kuris projekto failas su realiais įrašais tampa to indekso dalimi.

Klaidų pranešimai: Kūrėjai įkelia klaidų sekos ataskaitas į AI pokalbį derinant. Klaidų sekos ataskaitos gali turėti klientų ID.

Kiekvienas kanalas siunčia privačią informaciją AI tiekėjo API. Tai sukuria BDAR ir HIPAA riziką. Žr. mūsų atitikties apžvalgą kaip šios taisyklės taikomos kūrėjų įrankiams.

BDAR ir HIPAA: svarbiausi faktai kūrėjų komandoms

Šios taisyklės taikomos AI kodavimo įrankių naudojimui.

BDAR 28 straipsnis — Tvarkytojas: Asmeninės informacijos siuntimas AI tiekėjui daro tą tiekėją duomenų tvarkytoju. Reikalinga Duomenų tvarkymo sutartis. Dauguma tiekėjų siūlo DTS. Kūrėjai, naudojantys AI įrankius be formalaus pirkimo, gali neturėti pasirašytos DTS.

BDAR 6 straipsnis — Teisinis pagrindas: Kūrimo testavimas reikalauja teisinio pagrindo asmeninės informacijos tvarkymui. Gali būti taikomas teisėtas interesas — tačiau jam reikalingas balansavimo testas. Realių klientų eilučių naudojimas, kai netikros tarnautų tam pačiam tikslui, to testo neišlaiko.

HIPAA — BAA: Sveikatos priežiūros kūrėjai turi turėti Verslo partnerio sutartį su AI tiekėju. OpenAI, Anthropic ir GitHub Copilot siūlo BAA verslo vartotojams. Individualus naudojimas ne pagal verslo planą gali būti neaprėptas.

Minimizavimas: Realūs klientų įrašai testų duomenų rinkinio failuose pažeidžia minimizavimo taisyklę. Netikros eilutės tarnautų tam pačiam tikslui be privatumo kainos.

Mūsų DUK apima dažniausiai užduodamus klausimus šiomis taisyklėmis.

Praktiniai žingsniai kūrėjų komandoms

Pradėkite greiту auditu. Dauguma komandų randa problemų per pirmą valandą.

Nedelsiantys veiksmai:

  1. Audituokite testų duomenų rinkinio failus — ieškokite el. pašto, telefono ir ID šablonų.
  2. Patikrinkite gamybos žurnalų failus projekto katalogų klientų ID.
  3. Atnaujinkite .gitignore, kad būtų neįtraukiami žurnalų failai ir aplinkos duomenų failai.
  4. Pakeiskite realius įrašus sintetiniais generatoriais, pvz., Faker ar Mimesis.

Vien auditas dažnai atskleidžia daugelio metų sukauptą poveikį. Viena komanda rado realius klientų el. paštus 14 testų failuose, sukurtų šešių skirtingų kūrėjų per trejus metus. Nė vienas kūrėjų neketino jų palikti.

Prieš bet kokią AI asistento sesiją:

  • Vykdykite asmens duomenų aptikimą failuose prieš juos dalijantis.
  • IDE įrankiams, pvz., Cursor: neįtraukite testų katalogų į indeksavimą.
  • Pokalbiais pagrįstiems įrankiams: peržiūrėkite įkeltą kodą dėl asmeninės informacijos.

MCP serverio priedas:

anonym.legal MCP serveris jungia asmens duomenų aptikimą į Claude Desktop ir Cursor. Veiksmai paprasti:

  1. Atidarykite failą redaktoriuje.
  2. Iškvieskite MCP serverį: aptikite asmens duomenis faile.
  3. Peržiūrėkite pažymėtus elementus.
  4. Redaguokite vietoje.
  5. Dalijkitės švariu failu su AI įrankiu.

Tai prideda mažiau nei 30 sekundžių vienam failui. Tai pašalina rankinės "patikrinkite dėl asmens duomenų" naštą. Žr. mūsų kainų planus, kad pridėtumėte MCP serverio prieigą prie savo komandos.

Sintetiniai įvesties duomenys — ilgalaikis sprendimas:

Niekada nenaudokite realių eilučių testų duomenų rinkinio failuose. Sintetinės bibliotekos gamina realistiškus įvesties duomenis be realių vartotojų atskleidimo. Faker (Python/Node.js), Factory Boy (Python) ir Bogus (.NET) generuoja galiojančius įvesties duomenis bet kuriai schemai. Kiekviena biblioteka leidžia nustatyti vietovę ir išvesti realistiškus vardus, el. paštus ir telefono numerius — visus netikrus.

Atvejo analizė: SaaS komanda randa realius įrašus Cursor

Radinys atsirado BDAR audito metu. SaaS komanda, naudojanti Cursor, rado realius klientų el. paštus vienetinių testų duomenų rinkinio failuose. Kūrėjas prieš 18 mėnesių nukopijavo 50 klientų eilučių iš gamybos. Tos eilutės buvo įkeltos į versijų valdymą ir indeksuotos Cursor.

Per 18 mėnesių Cursor prie duomenų rinkinio failų prisijungė maždaug 11 000 kartų per 8 kūrėjo IDE sesijas. Kiekviena sesija galėjo siųsti duomenų rinkinio turinį į Cursor API.

Ką komanda padarė:

  1. Pakeitė visas 50 realių eilučių Faker sugeneruotais netikrais įvesties duomenimis.
  2. Atnaujino .gitignore, kad būtų neįtraukiami žurnalų failai.
  3. Pridėjo MCP serverį asmens duomenų aptikimui pagal poreikį prieš dalijantis kodu.
  4. Nustatė normą: jokie gamybos įrašai jokiame įkeltame faile.

MCP serveris buvo svarbiausias pokytis. Kūrėjai dabar vykdo aptikimą prieš Cursor sesijas su klientų sąsajos kodu. Nulis papildomų pastangų, išskyrus MCP iškvietimą.

Skaitykite daugiau mūsų atvejo analizių skiltyje.

Šaltiniai

GitHub Saugumo tyrimas 2024 m. PATIKRINTA-IŠORĖ.

BDAR 28 straipsnis. PATIKRINTA-IŠORĖ.

HIPAA BAA gairės. PATIKRINTA-IŠORĖ.

Pasiruošę apsaugoti savo duomenis?

Pradėkite anonimizuoti PII su 285+ subjektų tipais 48 kalbomis.

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.