ช่องโหว่ "Claw Chain" ของ OpenClaw ทำให้เซิร์ฟเวอร์ AI-agent ประมาณสองแสนห้าหมื่นเครื่องเสี่ยงต่อการถูกขโมยข้อมูลและการเข้าควบคุมระบบทั้งหมด หาก gateway ของคุณสามารถเข้าถึงได้จากอินเทอร์เน็ตสาธารณะ เวลาเริ่มนับถอยหลังแล้ว

ช่องโหว่ทั้งสี่ที่เพิ่งถูกเปิดเผยมีสาเหตุมาจากค่าเริ่มต้น (default settings) ที่การติดตั้งส่วนใหญ่ใช้งานอยู่ ได้แก่ การผูกเครือข่ายแบบสาธารณะ (public network binds), ไฟล์กำหนดค่าที่ทุกคนสามารถอ่านได้ (world-readable configuration files), sandbox ของเครื่องมือที่มีการอนุญาตมากเกินไป (permissive tool sandboxes) และการไม่มีการบันทึกการตรวจสอบ (audit logging) แม้แต่ละช่องโหว่จะเป็นเพียงความผิดพลาดเล็กน้อย แต่เมื่อรวมกันแล้วจะช่วยให้ผู้โจมตีสามารถเริ่มจากการดูบันทึก (log entry) ที่ดูไม่มีพิษมีภัยหรือพอร์ตที่เปิดอยู่ แล้วลงเอยด้วยการอ่านไฟล์ส่วนตัวหรือรันคำสั่งด้วยสิทธิ์สูงสุด ช่องโหว่เหล่านี้ส่งผลกระทบต่อการติดตั้ง OpenClaw ที่โฮสต์ AI agents ซึ่งปัจจุบันมีจำนวนถึง 245,000 เซิร์ฟเวอร์ทั่วโลก เนื่องจากปัญหาเหล่านี้ถูกฝังอยู่ในค่ากำหนดเริ่มต้น คุณจึงสามารถบรรเทาปัญหาได้ทันทีโดยไม่ต้องรอการอัปเดตจากต้นทาง (upstream update)

ทำไมห่วงโซ่นี้จึงสำคัญ

OpenClaw ทำหน้าที่จัดการ autonomous agents ที่สื่อสารกับ APIs, ฐานข้อมูล และบริการภายนอก การถูกเจาะระบบอาจทำให้ prompt ที่เป็นความลับ, API keys และแม้แต่กระเป๋าเงินคริปโตเคอเรนซีที่เก็บไว้ในไฟล์กำหนดค่าถูกเปิดเผย ห่วงโซ่ข้อแรก—นั่นคือ gateway ที่เปิดสู่สาธารณะ—จะช่วยให้ผู้โจมตีจากระยะไกลสามารถหาช่องทางเข้าถึงได้ จากนั้น ช่องโหว่แบบ path-traversal จะช่วยให้ผู้โจมตีสามารถดึงไฟล์กำหนดค่าออกมาได้ ในขณะที่ sandbox ที่อนุญาตมากเกินไปจะยอมให้รันคำสั่ง shell ใดๆ ก็ได้ที่ซ่อนอยู่ภายใต้คำขอเครื่องมือที่ดูเหมือนจะไม่มีอันตราย และหากไม่มีการบันทึกการเปลี่ยนแปลงไฟล์ การบุกรุกอาจคงอยู่โดยไม่มีใครสังเกตเห็นได้นานหลายวัน

รายการตรวจสอบเพื่อการแก้ไขอย่างรวดเร็ว

ด้านล่างนี้คือรายการตรวจสอบสี่ขั้นตอนที่ผู้เขียนคู่มือฉบับล่าสุดใช้เพื่อรักษาความปลอดภัยให้กับอินสแตนซ์ (instance) ของตนเองภายในเวลา 40 นาที โดยแต่ละขั้นตอนจะช่วยตัดห่วงโซ่ใน Claw Chain ออกไปหนึ่งข้อ

1. ซ่อน gateway จากอินเทอร์เน็ตสาธารณะ

การเคลื่อนไหวแรกของผู้โจมตีคือการเข้าถึง OpenClaw gateway

  • ตรวจสอบ listener ด้วย ss -tlnp | grep -E '18789|gateway'
  • หากผลลัพธ์แสดง 0.0.0.0 ให้ทำการ rebind บริการไปยัง 127.0.0.1 (localhost) เพื่อไม่ให้รับการเชื่อมต่อจากภายนอกอีกต่อไป
  • สำหรับการจัดการจากระยะไกล ให้วางเลเยอร์การเข้าถึงแบบ zero-trust ไว้ด้านหน้า โดยบริการอย่าง Tailscale หรือ Cloudflare Access สามารถเปิดพอร์ตให้เฉพาะผู้ใช้ที่ผ่านการยืนยันตัวตนเท่านั้น อย่าปล่อยให้พอร์ตดิบ (raw port) เปิดทิ้งไว้โดยเด็ดขาด

2. ล็อกไฟล์กำหนดค่า

การโจมตีแบบ path-traversal จะอ่านไฟล์ที่ทุกคนสามารถอ่านได้ (world-readable) แม้ว่าจะมีการตรวจสอบการยืนยันตัวตนอยู่ก็ตาม

  • จำกัดสิทธิ์ไดเรกทอรี home ของ OpenClaw: chmod 700 ~/.openclaw/
  • เพิ่มความเข้มงวดให้กับความลับแต่ละรายการ: chmod 600 ~/.openclaw/*.json ~/.openclaw/*.key
  • สแกนหาไฟล์ใดๆ ที่ยังคงมีสิทธิ์การอ่านสำหรับ “others”; ไฟล์ข้อความที่ถูกเปิดเผยเพียงไฟล์เดียวอาจทำให้ผู้โจมตีสามารถดูดเงินออกจากกระเป๋าเงินได้

3. ทำ sandbox สำหรับตัวรันเครื่องมือ (tool runners)

เครื่องมือที่ระบุว่าเป็นแบบอ่านอย่างเดียว (read-only) ยังคงสามารถเรียกใช้ shell ได้หาก sandbox อนุญาตให้ใช้ meta-characters

  • สร้างผู้ใช้ Unix ที่มีสิทธิ์ต่ำ (low-privilege) โดยเฉพาะสำหรับเครื่องมือจัดการไฟล์ทั้งหมด
  • ในการกำหนดค่า OpenClaw ให้ตั้งค่าแต่ละเครื่องมือให้รันด้วยผู้ใช้นั้น แทนที่จะรันด้วยบัญชีบริการหลัก (main service account)
  • เปิดใช้งาน flag deny_shell_metachars; สิ่งนี้จะบล็อกตัวอักษรอย่าง ;, & และ | ที่ผู้โจมตีใช้เพื่อเชื่อมต่อคำสั่งเพิ่มเติมเข้ากับคำขอที่ถูกต้องตามกฎหมาย

4. สร้างร่องรอยการตรวจสอบ (audit trail)

คุณไม่สามารถแก้ไขสิ่งที่คุณมองไม่เห็นได้

  • ติดตั้ง cron job รายวันเพื่อทำ snapshot ของไดเรกทอรีการกำหนดค่า
  • เปรียบเทียบ snapshot กับสำเนาของวันก่อนหน้า และทำเครื่องหมายหากมีความแตกต่างใดๆ
  • เชื่อมต่อสคริปต์การเปรียบเทียบเข้ากับระบบแจ้งเตือน (email, Slack และอื่นๆ) เพื่อให้คุณได้รับแจ้งเตือนทันทีที่มีการเปลี่ยนแปลงไฟล์

การตรวจสอบนี้จะช่วยตรวจพบความผิดพลาดของผู้เขียนเองก่อนที่ผู้โจมตีจะสามารถใช้ประโยชน์จากมันได้

บทสรุป

Claw Chain แสดงให้เห็นว่าค่าเริ่มต้นที่ดูไม่มีอันตรายสามารถรวมกันจนกลายเป็นช่องทางการเจาะระบบที่ร้ายแรงสำหรับเซิร์ฟเวอร์ AI-agent ได้ จงซ่อน gateway, เพิ่มความเข้มงวดของสิทธิ์ในไฟล์, ทำ sandbox สำหรับการรันเครื่องมือ และทำการตรวจสอบรายวันเพื่อตัดห่วงโซ่นี้ให้ขาดภายในเวลาไม่ถึงหนึ่งชั่วโมง และปกป้องเซิร์ฟเวอร์ 245,000 เครื่องที่กำลังรัน OpenClaw อยู่ในขณะนี้ จนกว่าแพตช์อย่างเป็นทางการจะออกมา รายการตรวจสอบนี้คือการป้องกันที่ใช้งานได้จริงที่สุด