Clawdbot ซึ่งเป็นเกตเวย์ AI agent แบบโอเพนซอร์ส กำลังเผชิญกับความกังวลด้านความปลอดภัยระดับวิกฤต โดยมีอินสแตนซ์ที่ไม่ได้รับการรับรองสิทธิ์มากกว่า 900 รายการถูกเปิดเผยทางออนไลน์ และมีข้อบกพร่องของโค้ดหลายจุดที่ทำให้สามารถขโมยข้อมูลรับรองและเรียกใช้โค้ดจากระยะไกลได้ ปัญหานี้เกิดจากการกำหนดค่าที่ผิดพลาดในตรรกะการยืนยันตัวตนของ Clawdbot ที่ออกแบบมาสำหรับการพัฒนาภายใน ซึ่งทำให้พร็อกซีเซิร์ฟเวอร์สามารถเลี่ยงการตรวจสอบสิทธิ์ได้ ส่งผลให้ข้อมูลสำคัญ เช่น API Keys, โทเค็นของแพลตฟอร์มการส่งข้อความ (Telegram, Slack) และประวัติการสนทนาส่วนตัวหลายเดือนถูกเปิดเผยและเข้าถึงได้โดยไม่ได้รับอนุญาต
Severity: วิกฤต
System Impact:
- Clawdbot Gateway (อินสแตนซ์ที่เปิดเผยบนพอร์ต 18789)
- แพลตฟอร์มการส่งข้อความที่เชื่อมโยงกับ Clawdbot (WhatsApp, Telegram, Slack, Discord, Signal, iMessage)
- Anthropic API keys
- เซิร์ฟเวอร์/คอนเทนเนอร์ที่รัน Clawdbot (โดยเฉพาะที่รันด้วยสิทธิ์ root)
Technical Attack Steps:
- 1. การค้นพบ: ผู้โจมตีใช้เครื่องมือ OSINT เช่น Shodan เพื่อค้นหาอินสแตนซ์ Clawdbot Control UI ที่เปิดเผยสู่สาธารณะโดยใช้แท็ก HTML Title ‘Clawdbot Control’
- 2. การแสวงหาประโยชน์: พบอินสแตนซ์ Clawdbot Gateway มากกว่า 900 รายการบนพอร์ต 18789 ซึ่งหลายรายการไม่มีการรับรองสิทธิ์
- 3. การหลีกเลี่ยงการรับรองสิทธิ์: ผู้โจมตีใช้ประโยชน์จากช่องโหว่ในตรรกะการยืนยันตัวตนของ Clawdbot ซึ่งอนุญาตให้พร็อกซีเซิร์ฟเวอร์ที่ส่งต่อทราฟฟิกผ่าน 127.0.0.1 (localhost) ได้รับการอนุมัติโดยอัตโนมัติ หาก ‘gateway.trustedProxies’ เป็นค่าว่าง และละเว้นเฮดเดอร์ ‘X-Forwarded-For’
- 4. การขโมยข้อมูลและการยกระดับสิทธิ์: การเข้าถึงโดยไม่ได้รับอนุญาตทำให้สามารถขโมยข้อมูลรับรอง (API keys, OAuth secrets), ดึงประวัติการสนทนาทั้งหมดพร้อมไฟล์แนบ และในบางกรณีสามารถเรียกใช้โค้ดจากระยะไกลได้ (หากรันเป็น root container)
- 5. การบงการ AI Agent: ผู้โจมตีสามารถส่งข้อความ, เรียกใช้เครื่องมือ หรือบงการการรับรู้ของ AI agent ได้
Recommendations:
Short Term:
- ตรวจสอบการเปิดเผยข้อมูลทันที โดยใช้คำสั่ง ‘clawdbot security audit –deep’
- ทำการหมุนเวียน (rotate) ข้อมูลลับที่ถูกบุกรุกทั้งหมด เช่น โทเค็นการยืนยันตัวตน, คีย์โมเดล และข้อมูลรับรองช่องทางสื่อสารต่างๆ
- สำหรับผู้ใช้ reverse proxy ให้เปิดใช้งาน ‘gateway.auth.mode: “password”‘ ผ่านตัวแปรสภาพแวดล้อม ‘CLAWDBOT_GATEWAY_PASSWORD’
- ตั้งค่า ‘trustedProxies: [“127.0.0.1”]’ ในการกำหนดค่าเกตเวย์ และกำหนดค่าพร็อกซีให้เขียนทับเฮดเดอร์ ‘X-Forwarded-For’ อย่างถูกต้อง
- รัน ‘clawdbot doctor’ เพื่อดำเนินการย้ายข้อมูลและการอัปเดตที่จำเป็น
Long Term:
- ปรับปรุงความปลอดภัยของการกำหนดค่าพร็อกซีให้แข็งแกร่งขึ้น เพื่อให้มั่นใจว่า ‘trustedProxies’ ถูกตั้งค่าอย่างถูกต้องและเฮดเดอร์ถูกเขียนทับเพื่อป้องกันการปลอมแปลง
- ใช้หลักการสิทธิ์ขั้นต่ำ (least-privilege) สำหรับ AI agent เพื่อจำกัดความเสียหายที่อาจเกิดขึ้น
- ใช้โซลูชันการเข้าถึงระยะไกลที่ปลอดภัย เช่น Tailscale Serve/Funnel หรือ Cloudflare Tunnels แทนการผูกพอร์ตโดยตรง
- ตรวจสอบและอัปเดตการกำหนดค่าความปลอดภัยเป็นประจำ
- ตรวจสอบให้แน่ใจว่ามีการบังคับใช้การรับรองสิทธิ์เสมอ แม้ว่าจะอยู่เบื้องหลังพร็อกซีก็ตาม
Source: https://cybersecuritynews.com/clawdbot-chats-exposed/
Share this content: