ซอร์สโค้ดของ Claude Code รั่วไหลผ่านไฟล์ map ใน NPM Registry
(twitter.com/Fried_rice)- ซอร์สโค้ดทั้งหมดของ Claude Code ถูกเปิดเผยออกสู่ภายนอกผ่าน ไฟล์ source map (map) บน npm registry ทำให้โครงสร้างภายในและฟังก์ชันต่าง ๆ ถูกเผยแพร่
- ไฟล์ที่รั่วไหลมีองค์ประกอบสำคัญ เช่น system prompt, telemetry, bypass mode, Undercover Mode
- สาเหตุถูกชี้ว่าเกิดจาก การไม่ได้ตั้งค่า .npmignore และฟังก์ชันสร้าง source map โดยค่าเริ่มต้นของเครื่องมือ build อย่าง bun
- จากโค้ดพบว่าแทบไม่มี กฎป้องกันอคติหรือกฎคุ้มครอง และมีเพียงการป้องกันโทนขั้นต่ำเท่านั้น
- ในชุมชนมีการเสียดสีว่าเป็น “การโอเพนซอร์สตัวเองของ AI” และถูกจับตาในฐานะ กรณีข้อมูลรั่วไหลครั้งใหญ่ ที่เกิดจากความหละหลวมด้านการจัดการความปลอดภัย
เหตุการณ์ซอร์สโค้ด Claude Code รั่วไหล
- ยืนยันแล้วว่า ซอร์สโค้ดทั้งหมดของ Claude Code ถูกเปิดเผยออกสู่ภายนอกผ่าน ไฟล์ source map (map) บน npm registry
- ลิงก์ที่ถูกเผยแพร่อยู่ในรูปไฟล์บีบอัดแบบ
src.zipซึ่งมีทั้งโครงสร้างโค้ดและฟังก์ชันภายใน - ส่งผลให้องค์ประกอบภายในอย่าง system prompt, telemetry, bypass mode, Undercover Mode ถูกเปิดเผย
- ลิงก์ที่ถูกเผยแพร่อยู่ในรูปไฟล์บีบอัดแบบ
- เหตุการณ์นี้ถูกกล่าวถึงว่าเป็น การรั่วไหลโดยไม่ตั้งใจครั้งที่สองที่ Anthropic เผชิญภายใน 1 ปี
- ในชุมชนมีการชี้ว่าต้นเหตุมาจากความผิดพลาดในการตั้งค่า build ว่า “มีคนลืมเพิ่มไฟล์ *.map ลงใน .npmignore”
- เนื่องจากเครื่องมือ build อย่าง
bunสร้าง source map โดยอัตโนมัติเป็นค่าเริ่มต้น การไม่ได้ปิดฟังก์ชันนี้จึงถูกมองว่าเป็นปัญหา
- ผู้ใช้บางส่วนเข้าใจผิดว่าไฟล์ที่รั่วไหลนี้คือ โมเดล Claude หรือโค้ดสำหรับเข้าถึง backend แต่
- source map แสดงได้เพียง โครงสร้างแอป ฟังก์ชัน และลำดับการทำงานของโค้ด ไม่ได้มี น้ำหนักโมเดลหรือสิทธิ์เข้าถึงระบบ อยู่ด้วย
- ดังนั้นจึงไม่ใช่โมเดลที่นำไปรันได้ แต่มีประโยชน์ในแง่ reverse engineering, การค้นหาบั๊ก และการวิเคราะห์สถาปัตยกรรม เท่านั้น
- ในโค้ดที่รั่วไหลมี ซับซิสเต็มชื่อ ‘Undercover Mode’ รวมอยู่ด้วย
- ฟีเจอร์นี้ถูกออกแบบมาเพื่อป้องกันไม่ให้ Claude เผลอเปิดเผยข้อมูลภายใน
- แต่กลับกลายเป็นว่าฟังก์ชันนี้เองถูกเปิดเผยสู่ภายนอกจากความผิดพลาดในการตั้งค่าของนักพัฒนา
- นักวิเคราะห์โค้ดชี้ว่า ไม่มีการจัดการเรื่องการป้องกันอคติหรือกฎสำหรับ protected classes เลย
- ไม่พบทั้ง guardrail, keyword filter หรือ classifier สำหรับคุณลักษณะอ่อนไหวอย่างเชื้อชาติ เพศ และศาสนา
- พบเพียง “Minimal tone protection” เท่านั้น และ ไม่มีนโยบายลดอคติ อยู่เลย
ปฏิกิริยาและการถกเถียงในชุมชน
- ในชุมชนมีมุกว่า “repository ต้องการอิสรภาพ” พร้อมเรียกเหตุการณ์นี้ว่าเป็น ‘ความย้อนแย้งของการโอเพนซอร์ส’
- มีתגובותเชิงเสียดสีจำนวนมาก เช่น “Claude ปลดปล่อยตัวเองแล้ว” และ “AI ทำให้ตัวเองเป็นโอเพนซอร์สด้วยตัวเอง”
- มุกวิจารณ์อย่าง “สร้างเครื่องมือเขียนโค้ด AI ระดับโลก แต่ลืมตัด *.map ออก” ก็แพร่หลายเช่นกัน
- ผู้ใช้บางส่วนเตือนถึง ความเสี่ยงด้านความปลอดภัย
- โดยวิจารณ์พฤติกรรมการดาวน์โหลดลิงก์
r2.devที่ไม่ทราบแหล่งที่มาแบบไม่ทันคิด - พร้อมมีการประชดตัวเองว่า “ชุมชนที่คุยเรื่อง AI safety กลับกดไฟล์ zip ที่ไม่ได้รับการตรวจสอบ”
- โดยวิจารณ์พฤติกรรมการดาวน์โหลดลิงก์
- ยังมีคำถามตามมาว่า “นี่คือจุดเริ่มต้นของจุดจบของ Claude หรือไม่?” และ “เป็นการปล่อยข้อมูลโดยตั้งใจหรือเป็นอุบัติเหตุ?”
- รวมถึงความเห็นว่า “คงมีใครบางคนใน Anthropic ที่เจอวันจันทร์ที่เลวร้ายที่สุด”
- ในชุมชนยังมีการพูดถึง ความเป็นไปได้ในการนำโค้ดที่รั่วไหลไปใช้ต่อ
- มีคำถามอย่าง “ตอนนี้ทำอะไรได้บ้าง?” และ “สร้าง Claude Code ขึ้นมาใหม่จากสิ่งนี้ได้ไหม?”
- พร้อมการเรียกชื่อเล่นว่า “openclaude” และมีการพูดถึงความเป็นไปได้ของ โครงการโอเพนซอร์สอย่างไม่เป็นทางการ
ข้อมูลเพิ่มเติม
- ไฟล์ 5 อันดับแรกที่มีขนาดใหญ่ที่สุด ในโค้ดที่ถูกเผยแพร่มีดังนี้
cli/print.ts– 5,594 บรรทัดutils/messages.ts– 5,512 บรรทัดutils/sessionStorage.ts– 5,105 บรรทัดutils/hooks.ts– 5,022 บรรทัดscreens/REPL.tsx– 5,005 บรรทัด
- ผู้ใช้บางส่วนแชร์เอกสารวิเคราะห์ระดับโค้ดผ่าน ลิงก์ DeepWiki
- สามารถดูโครงสร้างและฟังก์ชันของโค้ดได้ที่
https://deepwiki.com/instructkr/claude-code
- สามารถดูโครงสร้างและฟังก์ชันของโค้ดได้ที่
- โดยรวมแล้ว เหตุการณ์นี้ถูกประเมินว่าเป็น ตัวอย่างที่แสดงให้เห็นว่าความผิดพลาดเล็กน้อยในการตั้งค่าการเผยแพร่บน npm สามารถนำไปสู่การรั่วไหลของโค้ด AI ขนาดใหญ่ได้
4 ความคิดเห็น
OpenCode ดีพออยู่แล้ว เลยสงสัยว่าจำเป็นต้องมีอะไรอีกเหรอครับ ฮ่าๆ
พอเห็นว่า
/buddyทำงานได้จริง.. ก็ดูเหมือนว่าจะเป็นเรื่องจริงเหมือนกัน.. หรืออาจจะเป็นอีเวนต์วันเมษาหน้าโง่ก็ได้..https://github.com/kk-r/skillify-skill มีคนเอาอินเทอร์นัลคอมมานด์ที่หลุดออกมาแล้วดันมีประโยชน์กว่าที่คิด ไปทำเป็นโอเพนซอร์สให้ทำงานคล้าย ๆ กันด้วยเหมือนกันครับ 555
ความเห็นจาก Hacker News
ความเสียหายใหญ่สุดคือ Anthropic เผย roadmap ของผลิตภัณฑ์ผ่าน feature flag
โดยเฉพาะ “assistant mode” (โค้ดเนม kairos) ที่ยังไม่เคยเปิดเผยมาก่อนก็หลุดออกมาด้วย
ถ้าให้ Claude วิเคราะห์โค้ดเบส ก็จะเจอฟีเจอร์ที่ซ่อนอยู่เพียบ
เช่น Buddy System (ตัวละคร ASCII สไตล์ทามาก็อตจิ), Undercover mode (ฟีเจอร์ลบข้อมูลภายในออกจากคอมมิตของพนักงาน) เป็นต้น
ลิงก์โค้ดที่เกี่ยวข้อง
ดู clappie.ai
มีฟีเจอร์ที่ทับกัน เช่น การเชื่อมต่อ Telegram (CC Dispatch), Crons (CC Tasks), สุนัข ASCII แบบแอนิเมชัน (CC Buddy)
ผู้ใช้จะสุ่มเปิดสัตว์เลี้ยงแบบกาชาแล้วเลี้ยงมันได้ และยังมีสัตว์เลี้ยงระดับตำนานด้วย
วางแผนจะทยอยปล่อยเพื่อหวังให้ไวรัลบน Twitter
น่าสนใจที่ Anthropic ไม่ได้ลบแพ็กเกจออกจริงๆ แต่แค่ทำเครื่องหมาย deprecated พร้อมข้อความว่า “Unpublished”
npm unpublishจะลบแพ็กเกจออกไปเลยทั้งหมด แต่npm deprecateจะคงไว้และแสดงแค่คำเตือนดูเหมือนตั้งใจทำให้การดาวน์โหลด source map ยากขึ้น
ลิงก์แพ็กเกจ npm
นี่ไม่ใช่ครั้งแรกที่เกิดการรั่วไหลแบบนี้
ในเดือนกุมภาพันธ์ 2025 ก็มีเหตุการณ์คล้ายกัน
บล็อกที่เกี่ยวข้อง / เธรด HN
spinner verbs ทั้งหมดถูกเปิดเผยออกมาด้วย
ลิงก์โค้ดที่เกี่ยวข้อง
แถมยังแทนที่ตรงๆ ได้ด้วย
ตอนนี้กลายเป็นโลกที่แม้แต่มุกเล็กๆ ก็โดนสงสัยว่า AI ทำ
src/cli/print.tsคือฟังก์ชันที่ ซับซ้อนที่สุด ในโค้ดเบสยาว 3,167 บรรทัด, ซ้อนกัน 12 ระดับ, จุดแตกแขนง 486 จุด, ฟังก์ชันภายใน 21 ตัว ฯลฯ
อยู่ในระดับที่ควรถูกแยกออกอย่างน้อย 8~10 โมดูล
src/ink/termio/osc.tsก็ดูสับสนเช่นกันมันรัน
wl-copy,xclip,xselตามลำดับ แต่ไม่ชัดเจนว่าเป็น async หรือไม่code smell ตามมาตรฐานมนุษย์อาจทำงานต่างออกไปกับโค้ดของ LLM
LLM เขียนโค้ดไม่เหมือนมนุษย์ และจำเป็นต้องมี paradigm การวิเคราะห์ แบบใหม่
ถ้าฝืนบังคับกฎการเขียนโค้ดแบบมนุษย์ อาจยิ่งทำให้เกิดบั๊กเดิมซ้ำๆ
จึงอาจต้องมีแนวทางเชิงวิวัฒนาการใหม่ที่เรียกว่า Vibe coding
แถม Anthropic ยังปิดบั๊กอัตโนมัติถ้าไม่มีความเคลื่อนไหวภายใน 60 วัน
มี regex สำหรับตรวจจับ อารมณ์เชิงลบ ในพรอมป์ต์ของผู้ใช้
โค้ดที่เกี่ยวข้อง
คำบางคำจะถูกนำไปทำ logging
มีลูกค้าเป็นบริษัทอย่าง Apple และ Bentley
ถ้า Claude ตอบแปลกๆ ก็หวังว่าวิศวกรจะเห็นแล้วเอาไปปรับปรุง
ฉันมองว่า โค้ด JS/TS ที่ถูก obfuscate ก็ไม่ได้มีอะไรใหญ่โต เพราะยังไงก็ไม่ใช่ machine code
ถ้าเป็นไปได้อยากให้เปิดซอร์ส CLI ไปเลย
ช่วงหลังยังมีบั๊กที่ flow ล็อกอิน OAuth สร้าง URL ผิดด้วย
ตอนนี้กำลังเช็กดูเองอยู่
การ obfuscate ซ่อนสิ่งนั้นไม่ได้
มีคนพูดติดตลกว่า ถ้าเอาสิ่งนี้ไปรันผ่าน Malus หรือ Claude Code แล้วทำเวอร์ชันโอเพนซอร์สออกมาจะเป็นยังไง
แน่นอนว่าไม่ได้หมายความให้ทำจริง
ลิงก์งานนำเสนอ FOSDEM
ไอเดียคือแปลโค้ดเป็นข้อความ แล้วแปลกลับเป็นโค้ดอีกทีให้ดูเหมือน clean-room implementation
ซึ่งก็ย้อนแย้งเพราะคำตอบของ LLM เองก็มีที่มาจากโค้ดโอเพนซอร์สอยู่แล้ว
Anthropic อาจตรวจจับแล้ว แบนบัญชี ได้
ANTI_DISTILLATION_CC คือ ฟีเจอร์ป้องกันการขโมยโมเดล ที่ฝังอยู่ใน Claude Code
ในทุก API request จะมีการแทรก
anti_distillation: ['fake_tools']เพื่อให้เซิร์ฟเวอร์เพิ่มคำจำกัดความของเครื่องมือปลอมลงใน system promptออกแบบมาเพื่อทำให้ข้อมูลที่ถูกสแครปไปใช้ฝึกโมเดลของคู่แข่งปนเปื้อน
โมเดล Qwen 27B ถูก distill จาก Opus 4.6 แต่เกิด ข้อผิดพลาดในการใช้เครื่องมือ
ทวีตที่เกี่ยวข้อง
หรือใน Sonnet กับ Opus เองก็มี ข้อมูลพิษ แบบนี้อยู่ด้วย?
มีการเปิดเผยว่า Claude Code ใช้ Axios
ทวีตที่เกี่ยวข้อง / เธรด HN
ถ้าต้องการปิดการอัปเดตอัตโนมัติ ให้เพิ่ม
export DISABLE_AUTOUPDATER=1ใน environment variableแล้วตรวจสอบสถานะ
Auto-updates: disabledด้วยclaude doctor