anonym.legal

By · Last updated 2026-06-05

กลับไปที่บล็อกความปลอดภัยของ AI

ผู้ช่วยเขียนโค้ด AI รั่วไหลข้อมูลส่วนบุคคลจากระบบจริง

ไฟล์ fixture ทดสอบที่มีบันทึกลูกค้าจริง ไฟล์บันทึกข้อมูลจากระบบจริงสำหรับการดีบัก GitHub พบความลับรั่วไหล 39 ล้านรายการในปี 2024

June 5, 20268 อ่านประมาณ
AI coding assistantproduction PIIdeveloper securityMCP ServerGitHub Copilot

ทำไมเครื่องมือเขียนโค้ด AI จึงรั่วไหลบันทึกลูกค้าจริง

การรั่วไหลของข้อมูลส่วนบุคคลส่วนใหญ่จากทีมพัฒนาไม่ใช่การละเมิด แต่เป็นผลข้างเคียงของงานประจำวัน

ข้อมูลจากระบบจริงเข้าสู่สภาพแวดล้อมการทดสอบ จากนั้นไปถึงเครื่องมือเขียนโค้ด AI — และผู้ให้บริการที่รันเครื่องมือเหล่านั้น

การวิจัยของ GitHub ในปี 2025 ยืนยันสิ่งนี้ นักพัฒนารั่วไหลความลับ 39 ล้านรายการในรีโพสิทอรีสาธารณะในระหว่างปี 2024 API key และรายละเอียดส่วนบุคคลปรากฏขึ้น ส่วนใหญ่มาจากไฟล์ fixture ทดสอบและบันทึกดีบัก

อัปเดตสำหรับปี 2026: การนำเครื่องมือเขียนโค้ด AI ไปใช้เติบโตอย่างรวดเร็ว พื้นที่การเปิดเผยก็เช่นกัน

บันทึกจริงเข้าสู่สภาพแวดล้อมการพัฒนาได้อย่างไร

เส้นทางพบบ่อยและคาดเดาได้

ไฟล์ fixture ทดสอบ: การทดสอบ unit ต้องการข้อมูลนำเข้าที่สมจริง เส้นทางที่เร็วที่สุดคือการคัดลอกแถวจากระบบจริง นักพัฒนาวางแผนที่จะแทนที่ "ทีหลัง" ทีหลังมักไม่มาถึง อีเมลจริงและ ID บัญชียังคงอยู่ตลอดหลายสิบ commit

บันทึกดีบัก: บั๊กไม่สามารถทำซ้ำในเครื่องได้ นักพัฒนาดึงบันทึกจากระบบจริง บันทึกนั้นมีอีเมลลูกค้า ที่อยู่ IP และ session token ไฟล์ลงในโฟลเดอร์รากโปรเจกต์และถูก commit

สคริปต์การย้าย: การเปลี่ยนแปลงสคีมาประกอบด้วยแถวตัวอย่างสำหรับสภาพแวดล้อมทดสอบ DBA คัดลอกแถวจริงเป็นตัวอย่าง สคริปต์ — พร้อมรายการลูกค้าจริง — เข้าสู่ version control

เอกสารและไฟล์ README: ตัวอย่างการใช้งานใช้ข้อมูลนำเข้าที่ "สมจริง" สมจริงมักหมายถึงคัดลอกจากผู้ใช้จริง README จบลงด้วย order ID จริงและที่อยู่บัญชี

ไฟล์ config: การตั้งค่า dev มี key ของ staging ที่เข้าถึงข้อมูลลูกค้าจริง ไฟล์เหล่านี้ถูก commit พร้อมความลับภายใน

สิ่งที่ผู้ช่วย AI ได้รับจริงๆ

เมื่อนักพัฒนาใช้เครื่องมือเขียนโค้ด AI หลายช่องทางส่งข้อมูลส่วนตัวออกไป

บริบทไฟล์ทั้งหมด: เครื่องมืออาจได้รับไฟล์ทั้งหมด รวมถึงไฟล์ fixture ที่มีรายการจริง บันทึกตัวอย่าง หรือไฟล์ config ที่มี key จริง

การวาง clipboard: นักพัฒนาวางโค้ดลงในแชทเพื่อตรวจสอบ บริบทโดยรอบมักมีรายละเอียดลูกค้า

การจัดทำดัชนี IDE: Cursor และ GitHub Copilot จัดทำดัชนีไฟล์ในเครื่องสำหรับบริบท ไฟล์โปรเจกต์ใดๆ ที่มีแถวจริงกลายเป็นส่วนหนึ่งของดัชนีนั้น

ข้อความข้อผิดพลาด: นักพัฒนาวาง stack trace ลงในแชท AI เมื่อดีบัก Stack trace อาจมี ID ลูกค้า

แต่ละช่องทางส่งข้อมูลส่วนตัวไปยัง API ของผู้ให้บริการ AI สิ่งนี้สร้างความเสี่ยง GDPR และ HIPAA

GDPR และ HIPAA: ข้อเท็จจริงสำคัญสำหรับทีมพัฒนา

กฎเหล่านี้ใช้กับการใช้งานเครื่องมือเขียนโค้ด AI

GDPR Article 28 — ผู้ประมวลผล: การส่งข้อมูลส่วนบุคคลไปยังผู้ให้บริการ AI ทำให้ผู้ให้บริการนั้นเป็นผู้ประมวลผลข้อมูล จำเป็นต้องมีข้อตกลงการประมวลผลข้อมูล ผู้ให้บริการส่วนใหญ่เสนอ DPA

GDPR Article 6 — ฐานที่ชอบด้วยกฎหมาย: การทดสอบการพัฒนาต้องการฐานที่ชอบด้วยกฎหมายในการประมวลผลข้อมูลส่วนบุคคล ผลประโยชน์ที่ชอบธรรมอาจใช้ได้ — แต่ต้องทำการทดสอบความสมดุล การใช้แถวลูกค้าจริงเมื่อแถวปลอมจะทำหน้าที่เดียวกันไม่ผ่านการทดสอบนั้น

HIPAA — BAA: นักพัฒนาด้านสุขภาพต้องมีข้อตกลงผู้ช่วยธุรกิจกับผู้ให้บริการ AI OpenAI, Anthropic และ GitHub Copilot เสนอ BAA สำหรับผู้ใช้ระดับองค์กร

การลดข้อมูล: รายการลูกค้าจริงในไฟล์ fixture ทดสอบละเมิดกฎการลดข้อมูล แถวปลอมทำหน้าที่เดิมโดยไม่มีค่าใช้จ่ายด้านความเป็นส่วนตัว

ขั้นตอนปฏิบัติสำหรับทีมพัฒนา

เริ่มด้วยการตรวจสอบอย่างรวดเร็ว ทีมส่วนใหญ่พบปัญหาภายในชั่วโมงแรก

การดำเนินการทันที:

  1. ตรวจสอบไฟล์ fixture ทดสอบ — ค้นหารูปแบบอีเมล โทรศัพท์ และ ID
  2. ตรวจสอบไฟล์บันทึกระบบจริงในไดเรกทอรีโปรเจกต์สำหรับ ID ลูกค้า
  3. อัปเดต .gitignore เพื่อไม่รวมไฟล์บันทึกและไฟล์ข้อมูลเฉพาะสภาพแวดล้อม
  4. แทนที่รายการจริงด้วยเครื่องสร้างสังเคราะห์เช่น Faker หรือ Mimesis

ก่อนเซสชันผู้ช่วย AI ใดๆ:

  • รันการตรวจหาข้อมูลส่วนบุคคลบนไฟล์ก่อนแชร์
  • สำหรับเครื่องมือ IDE เช่น Cursor: ไม่รวมไดเรกทอรีทดสอบจากการจัดทำดัชนี
  • สำหรับเครื่องมือแบบแชท: ตรวจสอบโค้ดที่วางสำหรับข้อมูลส่วนบุคคล

ส่วนเสริม MCP Server:

MCP Server ของ anonym.legal เชื่อมการตรวจหาข้อมูลส่วนบุคคลเข้าใน Claude Desktop และ Cursor ขั้นตอนง่ายดาย:

  1. เปิดไฟล์ในตัวแก้ไข
  2. เรียก MCP Server: ตรวจหาข้อมูลส่วนบุคคลในไฟล์
  3. ตรวจสอบรายการที่ถูกระบุ
  4. แก้ไขในที่เดิม
  5. แชร์ไฟล์สะอาดกับเครื่องมือ AI

สิ่งนี้เพิ่มเวลาไม่ถึง 30 วินาทีต่อไฟล์

ข้อมูลนำเข้าสังเคราะห์ — การแก้ไขที่ยั่งยืน:

อย่าใช้แถวจริงในไฟล์ fixture ทดสอบ ไลบรารีสังเคราะห์ผลิตข้อมูลนำเข้าที่สมจริงโดยไม่เปิดเผยผู้ใช้จริง Faker (Python/Node.js), Factory Boy (Python) และ Bogus (.NET) สร้างข้อมูลนำเข้าที่ถูกต้องสำหรับสคีมาใดๆ

กรณีศึกษา: ทีม SaaS พบรายการจริงใน Cursor

การค้นพบเกิดขึ้นระหว่างการตรวจสอบ GDPR ทีม SaaS ที่ใช้ Cursor พบอีเมลลูกค้าจริงในไฟล์ fixture ทดสอบ นักพัฒนาคัดลอกแถวลูกค้า 50 แถวจากระบบจริงเมื่อ 18 เดือนก่อน แถวเหล่านั้นถูก commit ลง version control และถูกจัดทำดัชนีโดย Cursor

ในช่วง 18 เดือน Cursor เข้าถึงไฟล์ fixture ประมาณ 11,000 ครั้งในเซสชัน IDE ของนักพัฒนา 8 คน

สิ่งที่ทีมดำเนินการ:

  1. แทนที่แถวจริงทั้ง 50 แถวด้วยข้อมูลนำเข้าปลอมที่สร้างด้วย Faker
  2. อัปเดต .gitignore เพื่อไม่รวมไฟล์บันทึก
  3. เพิ่ม MCP Server สำหรับการตรวจหาข้อมูลส่วนบุคคลตามต้องการก่อนแชร์โค้ด
  4. กำหนดบรรทัดฐาน: ไม่มีรายการจากระบบจริงในไฟล์ที่ commit

MCP Server เป็นการเปลี่ยนแปลงสำคัญ ขณะนี้นักพัฒนารันการตรวจหาก่อนเซสชัน Cursor บนโค้ดที่เผชิญลูกค้า

แหล่งอ้างอิง

การวิจัยความปลอดภัย GitHub 2024 VERIFIED-EXTERNAL

GDPR มาตรา 28 VERIFIED-EXTERNAL

คำแนะนำ BAA ของ HIPAA VERIFIED-EXTERNAL

พร้อมที่จะปกป้องข้อมูลของคุณหรือยัง?

เริ่มทำให้ PII เป็นนิรนามด้วยประเภทเอนทิตีมากกว่า 285 ประเภทใน 48 ภาษา.

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.