พบช่องโหว่ Claude Code บันทึกข้อมูลลับใน settings.local.json

ฟังก์ชัน “Yes, and don’t ask again” ของ Claude Code จะบันทึกคำสั่งที่ผู้ใช้กดยืนยันลงในไฟล์โปรเจกต์ และหากคำสั่งนั้นมีรหัสผ่าน รหัสผ่านก็จะถูกบันทึกไปด้วย

วิธีการที่รหัสผ่านไปอยู่ในไฟล์ตั้งค่า

การบันทึกไฟล์ครั้งแรกใน git repository นั้นจะเพิ่ม /.claude/settings.local.json เข้าไปใน global git excludes file เพื่อป้องกันไม่ให้ไฟล์นี้ถูก commit ในทุก repository ซึ่งการป้องกันนี้ขึ้นอยู่กับการตั้งค่าของแต่ละบุคคล

สิ่งที่ Apiiro พบ

Apiiro พบว่ามี 63 องค์กรที่ได้รับผลกระทบ ส่วนใหญ่เป็นบริษัทซอฟต์แวร์ โดยกรณีที่รุนแรงที่สุดคือคีย์ระดับผู้ดูแลระบบของผู้ให้บริการฐานข้อมูล และรหัสผ่านเจ้าของฐานข้อมูลบันทึกทางการแพทย์

สิ่งที่ Anthropic กล่าว

ผู้ใช้ได้รายงานปัญหานี้ใน GitHub issues ตั้งแต่เดือนสิงหาคม 2025 และ Apiiro ระบุว่า “ไม่มีการตอบกลับจาก Anthropic” แม้ว่า Anthropic จะระบุเมื่อวันที่ 6 พฤศจิกายนว่า Claude Code สำหรับ Pro, Max และ Ultra บันทึกสภาพแวดล้อมที่จำเป็น รวมถึง API keys แต่ก็อ้างว่า “API keys ถูกบันทึกอย่างปลอดภัย และ Claude ไม่เคยเห็นมัน”

สิ่งที่ต้องทำในวันนี้

สำหรับทีมรักษาความปลอดภัย ควรปฏิบัติต่อโฟลเดอร์ agent (.claude/, .cursor/, .gemini/, .specstory/) เหมือนกับไฟล์ .env และตรวจสอบให้แน่ใจว่าการสแกน CI และ pre-commit สามารถตรวจจับรหัสผ่านในคำสั่งได้

ศัพท์ที่ควรรู้

  • Claude Code – คือเครื่องมือที่ใช้ในการทำงานร่วมกับ AI ของ Claude ซึ่งมีฟังก์ชันการบันทึกคำสั่งที่ผู้ใช้กดยืนยัน
  • settings.local.json – คือไฟล์การตั้งค่าเฉพาะที่อาจถูกบันทึกข้อมูลสำคัญ รวมถึงรหัสผ่าน หากมีการใช้งานฟังก์ชันบันทึกของ Claude Code
  • git repository – คือที่เก็บโค้ดของโปรเจกต์ที่ใช้ระบบควบคุมเวอร์ชันอย่าง Git ซึ่งมีไฟล์ .gitignore สำหรับระบุไฟล์ที่ไม่ควรถูกติดตาม
  • API keys – คือกุญแจหรือรหัสผ่านที่ใช้ในการอนุญาตให้โปรแกรมหนึ่งเข้าถึงบริการของอีกโปรแกรมหนึ่ง เช่น การเข้าถึงคลาวด์

ที่มา: cellcog.ai

Leave a Comment