DEV Community

Cover image for สิ่งที่การรั่วไหลของซอร์สโค้ด Claude เผยเกี่ยวกับสถาปัตยกรรมเครื่องมือเขียนโค้ด AI
Thanawat Wongchai
Thanawat Wongchai

Posted on • Originally published at apidog.com

สิ่งที่การรั่วไหลของซอร์สโค้ด Claude เผยเกี่ยวกับสถาปัตยกรรมเครื่องมือเขียนโค้ด AI

สรุปโดยย่อ

Anthropic เผลอจัดส่งไฟล์ .map พร้อมแพ็กเกจ npm ของ Claude Code ซึ่งนำไปสู่การเปิดเผยซอร์สโค้ดที่อ่านเข้าใจได้ทั้งหมดของ CLI ตัวนี้ การรั่วไหลนี้เผยให้เห็นกลไกต่อต้านการกลั่นกรองผ่านเครื่องมือปลอม, เอ็นจิ้น regex สำหรับตรวจจับความหงุดหงิด, “โหมดลับ” สำหรับซ่อนการสร้างโดย AI ในคอมมิตโอเพนซอร์ส และโหมดเอเจนต์อิสระที่ยังไม่เปิดตัวชื่อ KAIROS นักพัฒนา API ควรเข้าใจกลไกเบื้องหลังเหล่านี้เพื่อวางแผนการใช้งานเครื่องมือเขียนโค้ด AI ได้อย่างเหมาะสม

ลองใช้ Apidog วันนี้

บทนำ

เมื่อวันที่ 31 มีนาคม 2026 นักวิจัยด้านความปลอดภัย Chaofan Shou ตรวจพบว่า Anthropic เผลอใส่ไฟล์ source map (.map) ลงในแพ็กเกจ npm ของ Claude Code โดย source map จะใช้แมปโค้ดที่ถูก minify กลับไปยังซอร์สโค้ดที่มนุษย์อ่านได้ ซึ่งปกติควรลบออกก่อนเผยแพร่

แต่ครั้งนี้กลับไม่ถูกลบ ทำให้ซอร์สโค้ดพร้อมคอมเมนต์, ชื่อรหัสภายใน และรายละเอียดสถาปัตยกรรมทั้งหมดถูกเปิดให้อ่านได้ทุกคนที่ดาวน์โหลดแพ็กเกจ

เหตุการณ์นี้ติดอันดับ 1 บน Hacker News (1,888 คะแนน, 926 ความเห็น) และแพร่กระจายอย่างรวดเร็วในกลุ่มนักพัฒนาทั่ว Reddit, Twitter และฟอรัม Anthropic ได้ลบแพ็กเกจออกแล้ว แต่โค้ดถูกสำเนาและวิเคราะห์ไปทั่วแล้ว

💡 ไม่ว่าคุณจะใช้ Claude Code, Cursor, GitHub Copilot หรือแพลตฟอร์มการพัฒนา API ของ Apidog การรั่วไหลนี้ให้ข้อมูลเชิงลึกด้านเทคนิคที่หาได้ยากเกี่ยวกับวิธีการทำงานของเครื่องมือเขียนโค้ด AI เข้าใจกลไกภายในเหล่านี้ เพื่อเลือกเครื่องมือที่เหมาะสมกับ codebase ของคุณ ลองใช้ Apidog ฟรีเพื่อพัฒนา API อย่างโปร่งใสและไม่เสี่ยง vendor lock-in

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

ซอร์สโค้ดรั่วไหลได้อย่างไร

ต้นเหตุ: บักของ Bun build

Claude Code ใช้ Bun เป็น JavaScript runtime มีรายงานบักเมื่อ 11 มีนาคม 2026 ใน Bun (oven-sh/bun#28001) ว่า source map ถูก bundle มาด้วยใน production ทั้งที่ควรปิดอยู่ตามเอกสาร

กระบวนการ build ของ Anthropic กระตุ้นบักนี้ เมื่อเผยแพร่ npm package ทำให้ไฟล์ .map รวมอยู่ด้วย ใครที่รัน npm pack @anthropic-ai/claude-code หรือเปิดดูแพ็กเกจจะเห็นซอร์สโค้ดเต็มแบบอ่านเข้าใจง่าย

น่าทึ่งตรงที่บักในเครื่องมือ build ที่ Anthropic เลือกใช้ (Bun) กลับกลายเป็นช่องโหว่ให้ซอร์สโค้ด proprietary รั่วไหลผ่าน npm registry

อะไรที่ถูกเปิดเผย

  • ซอร์สโค้ด TypeScript ทุกโมดูล
  • คอมเมนต์การออกแบบภายใน
  • Feature flags และ experimental config
  • System prompt templates และกลไกความปลอดภัย
  • ชื่อรหัสฟีเจอร์ที่ยังไม่เปิดตัว
  • รายละเอียดการ optimize พร้อม metrics

นี่คือ codebase production ที่มีบริบทวิศวกรรมครบถ้วน ไม่ใช่โอเพนซอร์สที่ถูกล้างข้อมูล

การต่อต้านการกลั่นกรอง: การป้องกันการขโมยโมเดล

การฉีดเครื่องมือปลอม

ระบบ anti-distillation ของ Claude Code ใน claude.ts (บรรทัด 301-313) เมื่อเปิด flag ANTI_DISTILLATION_CC จะส่ง anti_distillation: ['fake_tools'] ใน API request

เซิร์ฟเวอร์ของ Anthropic จะ inject คำจำกัดความของเครื่องมือลวง (decoy tool) ลงใน system prompt เพื่อป้องกันคู่แข่งที่บันทึก API traffic เพื่อจำลองพฤติกรรม tool ของ Claude — ข้อมูลที่ได้จะปนเปื้อนด้วยเครื่องมือปลอม ทำให้โมเดลที่ train จากข้อมูลนี้มี hallucination เรื่องความสามารถที่ไม่มีจริง

การสรุปข้อความเชื่อมต่อ

อีกกลไกใน betas.ts (บรรทัด 279-298) ฝั่งเซิร์ฟเวอร์จะสรุปข้อความช่วยเหลือระหว่างการเรียกใช้ tool แล้วส่งผลสรุปพร้อม cryptographic signature กลับมา ใครที่ดัก API traffic จะเห็นเพียงสรุปข้อมูล ไม่เห็นเหตุผลฉบับเต็ม ทำให้ reverse engineer reasoning ของ Claude ยากขึ้น

การหลีกเลี่ยงกลไกเหล่านี้

  • Proxy แบบ MITM สามารถลบฟิลด์ anti_distillation ก่อนถึงเซิร์ฟเวอร์ Anthropic
  • ตั้ง env var CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS เพื่อปิดการทำงานนี้
  • การป้องกันเหล่านี้หยุดแค่ passive logging ไม่ป้องกัน active attack

สรุป: เป็นการเพิ่มต้นทุนและความซับซ้อนของ model distillation ไม่ใช่เกราะที่แตกไม่ได้

โหมดลับ: การซ่อนการสร้างโดย AI

โหมดลับทำอะไร

ใน undercover.ts Claude Code จะเปิด "โหมดลับ" อัตโนมัติเมื่อรันใน repo ที่ไม่ใช่ของ Anthropic ระบบนี้จะป้องกัน:

  • การกล่าวถึงชื่อรหัสภายใน (“Capybara”, “Tengu”)
  • อ้างอิง Slack channel หรือ repo ภายใน
  • วลี “Claude Code” ในผลลัพธ์

คอมเมนต์ในโค้ดยืนยันว่าจุดประสงค์เพื่อกันการรั่วไหลของชื่อรหัสโมเดล

ทำไมเรื่องนี้สำคัญกับโอเพนซอร์ส

เมื่อทีม Anthropic ใช้ Claude Code กับโอเพนซอร์ส repo ผลงานที่สร้างโดย AI จะถูกซ่อน ไม่ระบุว่า AI เป็นผู้เขียน ทำให้การ enforce นโยบาย disclosure โค้ดที่สร้างโดย AI เป็นเรื่องยากสำหรับโอเพนซอร์ส

การตรวจจับความหงุดหงิดผ่าน regex

กลไกการทำงาน

ใน userPromptKeywords.ts จะใช้ regex จับคำหยาบคายหรือคำแสดงอารมณ์รุนแรงใน user input เพื่อประเมินว่าผู้ใช้กำลังหงุดหงิดกับ Claude Code หรือไม่

เหตุผลทางเทคนิค

แม้ Claude จะเป็น LLM ระดับโลก แต่เลือกใช้ regex เพราะเร็วและประหยัดกว่าการรัน LLM sentiment analysis ทุก input การตัดสินใจนี้เหมาะกับ use case ที่ต้องการความเร็วและต้นทุนต่ำ

การรับรองความถูกต้องของไคลเอนต์แบบเนทีฟ

การยืนยันคำขอด้วยการเข้ารหัส

ใน system.ts (บรรทัด 59-95) Claude Code จะใส่ placeholder cch=554eb แล้ว stack HTTP ของ Bun (เขียนด้วย Zig) จะเขียนทับด้วย hash ก่อนส่ง request ไปเซิร์ฟเวอร์

ฝั่งเซิร์ฟเวอร์จะตรวจสอบ hash เพื่อยืนยันว่าเป็น binary แท้ ไม่ใช่ fork, wrapper หรือ proxy

ประเด็นสำหรับ API Developer

ระบบนี้เป็นกลไก enforce ทางเทคนิค เพื่อป้องกัน fork ที่ไม่ได้รับอนุญาตจากการใช้งาน API วิธีนี้คล้ายกับ mobile API ที่ enforce client attestation และ certificate pinning

ถ้าออกแบบ API ที่ต้อง verify client — Apidog มีฟีเจอร์ทดสอบความถูกต้องของ client config และ TLS pinning

KAIROS: โหมดเอเจนต์อิสระที่ยังไม่เปิดตัว

โค้ดเปิดเผยอะไร

ซอร์สโค้ดมีฟีเจอร์ KAIROS ที่ยังไม่เปิดตัว เช่น

  • ทักษะ /dream สำหรับ “กลั่นกรองหน่วยความจำรายคืน”
  • บันทึกแบบ append-only รายวัน
  • สมัคร GitHub webhook ติดตาม repo events
  • background daemon worker รีเฟรช cron ทุก 5 นาที

ผลกระทบสำหรับเวิร์กโฟลว์

KAIROS คือเอเจนต์ที่ monitor repository ของคุณและทำงานอัตโนมัติ ไม่ต้องรอ user interaction

สำหรับทีม API ถ้า agent อัปเดตโค้ด REST endpoint ของคุณ — จะอัปเดต OpenAPI spec, เอกสาร, test ด้วยหรือไม่? แพลตฟอร์มอย่าง Apidog ออกแบบมาเพื่อ sync ทั้ง API design, test, mock, docs ให้อัตโนมัติทุกครั้งที่โค้ดเปลี่ยน

การเปิดเผยการเพิ่มประสิทธิภาพการทำงาน

การเรนเดอร์เทอร์มินัล: เทคนิคเอนจินเกม

ใน ink/screen.ts และ ink/optimizer.ts Claude Code ใช้:

  • character pool ด้วย Int32Array บัฟเฟอร์หน้าจอประหยัดหน่วยความจำ
  • patch optimization ลดการคำนวณความกว้าง character ระหว่าง token streaming ลง ~50 เท่า

เหมาะสำหรับ CLI tool ที่ต้อง stream output ยาวๆ ให้ลื่น

เศรษฐศาสตร์ cache prompt

promptCacheBreakDetection.ts ติดตาม vector ที่ทำให้ cache prompt แตก 14 แบบ พร้อม sticky latches เพื่อป้องกัน invalidation ที่ไม่จำเป็น เพราะแต่ละ cache miss จะทำให้ต้อง process prompt ใหม่หมด — ต้นทุนสูงมาก

autocompact failure

ใน autoCompact.ts (บรรทัด 68-70) มีบั๊กที่ทำให้บาง session error ต่อเนื่องสูงสุด 3,272 ครั้ง/เซสชัน ทำให้ call API เสียเปล่า 250,000 ครั้ง/วัน ระดับ global

ปัญหานี้อาจเป็นสาเหตุที่ผู้ใช้บางรายถึง API limit เร็วกว่าปกติ

รายละเอียดการเสริมความแข็งแกร่งด้านความปลอดภัย

ความปลอดภัย Bash: การตรวจสอบ 23 รายการ

bashSecurity.ts ตรวจสอบ 23 รายการสำหรับ shell command เช่น

  • Zsh builtin attack
  • Unicode zero-width injection
  • null-byte IFS injection
  • การป้องกันจาก HackerOne audit

ทีม AI dev ที่รันคำสั่ง shell ผ่าน codegen tool ควรตรวจสอบว่า tool มี layer ความปลอดภัยเทียบเท่านี้หรือไม่

สิ่งที่นักพัฒนา API ควรรู้จากการรั่วไหล

1. เข้าใจว่า AI code tool ของคุณทำอะไรเบื้องหลัง

Claude Code มีมาตรการ anti-distillation, ความหงุดหงิด, โหมดลับ, client attestation — ฟีเจอร์ที่ผู้ใช้ทั่วไปไม่เห็น ถามตัวเองว่า tool ที่คุณใช้เก็บหรือส่งข้อมูลอะไรออกนอกบ้าง? มันเปิดเผยหรือปิดบังการมีส่วนร่วมในโค้ดอย่างไร?

2. Build toolchain คือช่องโหว่

Anthropic รั่วซอร์สเพราะบักใน Bun วันเดียวกับที่ Axios โดนโจมตี npm supply chain ตรวจสอบ dependency ใน build pipeline, CI/CD pipeline ของคุณว่าปลอดภัยหรือเปล่า และหลีกเลี่ยงการ expose source map, .env หรือ internal config

3. AI code tool จะไปสู่ autonomous agent

KAIROS, Copilot Agent, Agent Smith — แนวโน้มคือ AI ที่ทำงานอัตโนมัติใน repo ของคุณ ทีม API ต้องเตรียมระบบที่ sync design, test, mock, docs แบบอัตโนมัติทุกครั้งที่ agent เปลี่ยน endpoint

4. ความโปร่งใสของซอร์สโค้ดสำคัญ

Claude Code รั่วไหลเพราะ proprietary code ที่ไม่โปร่งใส ถ้าเป็นโอเพนซอร์สจะไม่มีปัญหานี้ เมื่อต้องเลือกเครื่องมือ AI พิจารณาว่าอยากใช้แบบตรวจสอบได้หรือไม่

คำถามที่พบบ่อย

Claude Code ปลอดภัยหรือไม่หลังรั่วซอร์สโค้ด?

ใช่ การรั่วไหลนี้เปิดเผยซอร์ส ไม่ใช่ข้อมูลผู้ใช้ Anthropic ลบ .map ออกแล้ว ฟีเจอร์ที่ถูกเปิดเผยเป็น design choice ไม่ใช่ช่องโหว่ความปลอดภัย

โหมดลับใน Claude Code คืออะไร?

โหมดลับป้องกัน Claude Code จากการเปิดเผยชื่อโปรเจกต์, รหัส, ตัวตน Anthropic ใน repo ที่ไม่ใช่ของบริษัท โดยเปิดอัตโนมัติและปิดไม่ได้ ทำให้โค้ดที่สร้างโดย AI ในโอเพนซอร์สไม่ระบุว่าเป็นของ Claude Code

เครื่องมือปลอมใน Claude Code คืออะไร?

เมื่อ anti-distillation เปิด เซิร์ฟเวอร์ Anthropic จะ inject decoy tool definition ใน system prompt เพื่อปนเปื้อนข้อมูลที่คู่แข่งบันทึกไป train โมเดล ทำให้เกิด hallucination ในคู่แข่ง

KAIROS ใน Claude Code คืออะไร?

KAIROS คือโหมด autonomous agent ที่ยังไม่เปิดตัว มีโค้ดสำหรับ background worker, GitHub webhook, และทักษะ /dream เพื่อกลั่นกรองหน่วยความจำ

Claude Code รั่วซอร์สได้อย่างไร?

บักของ Bun runtime ทำให้ source map ติดไปใน production build Anthropic เผลอ publish .map พร้อม npm package ใครก็อ่านซอร์สเต็มได้

การรั่วไหลนี้กระทบผู้ใช้ Claude API หรือไม่?

ไม่ กระทบเฉพาะ CLI tool Claude Code ไม่เกี่ยวกับ Claude API, API keys, ข้อมูลผู้ใช้

ควรกังวลกับการตรวจจับความหงุดหงิดใน AI code tool หรือไม่?

ขึ้นอยู่กับความสบายใจ Claude Code ใช้ regex ตรวจจับความหงุดหงิดใน prompt ข้อมูลใช้ปรับปรุง UX ไม่แชร์ภายนอก AI tool อื่นอาจมีฟีเจอร์ใกล้เคียงแต่ไม่เปิดเผย

เหตุการณ์นี้เกี่ยวข้องกับการโจมตี Axios npm หรือไม่?

ไม่เกี่ยวข้อง เกิดวันเดียวกันแต่ Axios ถูกจี้บัญชี npm โดยแฮกเกอร์ ส่วน Claude Code เป็นบั๊ก build tool ทั้งสองเหตุการณ์ตอกย้ำความสำคัญของ supply chain security

ประเด็นสำคัญ

  • ซอร์สของ Claude Code รั่วเพราะบัก Bun ที่ส่ง source map ไปกับ npm package
  • กลไกต่อต้านการกลั่นกรอง inject เครื่องมือปลอม-สรุปเหตุผล เพื่อกัน model theft
  • โหมดลับซ่อนการมีส่วนร่วมของ Claude Code ในโอเพนซอร์สที่ไม่ใช่ของ Anthropic
  • การตรวจจับความหงุดหงิดใช้ regex ไม่ใช่ LLM
  • KAIROS เผยโหมด autonomous agent ที่ยังไม่เปิดตัว
  • Client attestation ยืนยัน request ว่ามาจาก binary แท้
  • การรั่วไหลนี้เน้นความสำคัญของเครื่องมือที่โปร่งใสและตรวจสอบได้ในเวิร์กโฟลว์ API

การเข้าใจเบื้องหลังของเครื่องมือเขียนโค้ด AI จะช่วยให้คุณตัดสินใจได้ดีขึ้นทั้งด้าน security, privacy และ workflow ทีม API ควรเลือกเครื่องมือที่ตรวจสอบได้เพื่อสร้าง workflow ที่มั่นคง ไม่ว่าการเปลี่ยนแปลงจะมาจากมนุษย์หรือ AI

Top comments (0)