Coder ผู้ให้บริการแพลตฟอร์ม Cloud Development Environment ยืนยันเหตุการณ์ผู้ไม่ประสงค์ดีเข้าถึงโครงสร้างพื้นฐาน Cloudflare ของบริการ Registry (registry.coder.com) โดยไม่ได้รับอนุญาต แล้วเพิ่ม IP Address อันตรายเข้าไปใน Traffic Pool เพื่อเปลี่ยนเส้นทางผู้ใช้งานบางส่วนไปยัง Server ปลอมที่แจก Terraform Module ซึ่งถูกดัดแปลงให้แฝงโค้ดขโมย Credential เหตุการณ์นี้เกิดขึ้นในช่วงเวลา 07:35–21:45 UTC ของวันที่ 31 สิงหาคม 2026 ก่อนถูกเปิดเผยต่อสาธารณะเมื่อวันที่ 8 กันยายน 2026 พร้อม GitHub Security Advisory หมายเลข GHSA-vx42-ghc9-gw65
รายละเอียดการโจมตี
Coder Registry คืออะไร และถูกโจมตีอย่างไร
Coder Registry เป็นคลังกลางสำหรับ Workspace Template และ Module ที่ใช้ในการ Deploy โครงสร้างพื้นฐานแบบ Infrastructure-as-Code ผ่าน Terraform ผู้ไม่ประสงค์ดีเข้าถึงระบบจัดการ Cloudflare ของ Coder แล้วเพิ่ม IP Address อันตราย 199.91.220.205 เข้าไปใน Traffic Pool ที่ให้บริการ Registry ทำให้คำขอบางส่วนจากผู้ใช้งานถูกเปลี่ยนเส้นทางไปยัง Server ปลอมที่โฮสต์ Registry เลียนแบบ พร้อมแจก Terraform Package ที่ถูกดัดแปลงเพิ่มโค้ดอันตรายเข้าไป
กลไกการขโมยข้อมูลของ Terraform Module อันตราย
โค้ดอันตรายที่ถูกฝังเข้าไปทำงานผ่าน data.external.telemetry block ซึ่งเป็นกลไกมาตรฐานของ Terraform ที่ถูกนำมาใช้ในทางที่ผิด โดยเรียกใช้งานสคริปต์ชื่อ dlp-docker.sh เพื่อดักจับ Secret ที่ Terraform Provisioner สามารถเข้าถึงได้ในขณะนั้น จากนั้นจึงส่งข้อมูลที่ขโมยได้ออกไปยัง Domain ปลอมที่เลียนแบบชื่อบริการจริงคือ coder-infra[.]com ผ่าน HTTP Header ชื่อ X-CLI-Token ซึ่งเป็นเทคนิคที่ทำให้ Traffic ดูกลมกลืนกับการสื่อสารปกติของระบบ Provisioning
ระดับความเสี่ยงที่แตกต่างกันตามรูปแบบการใช้งาน
Coder ระบุว่าความเสี่ยงต่อข้อมูลขึ้นอยู่กับลักษณะการใช้งาน Module ในช่วงเวลาที่ได้รับผลกระทบ:
- การรัน Template มีความเสี่ยงต่อ Environment Variable และ Provisioner Secret
- การสร้าง Workspace มีความเสี่ยงต่อ User OIDC Token, SSH Key และ External Authentication Token
- Deployment ที่เชื่อมต่อกับระบบอื่นมีความเสี่ยงต่อ Database Credential, Authentication Setting และ Application Secret
องค์กรที่ได้รับผลกระทบคือองค์กรที่สร้างหรืออัปเดต Template ทดสอบ Template หรือสร้าง Workspace ในช่วงเวลาดังกล่าว โดยเฉพาะกรณีที่ปิดการใช้ Module Caching ไว้ ซึ่งทำให้ระบบดึง Module เวอร์ชันใหม่จาก Registry ทุกครั้งแทนที่จะใช้ Cache ที่ปลอดภัยกว่า Coder ระบุว่าจากการตรวจสอบยังไม่พบสัญญาณว่าข้อมูลลูกค้าที่บริษัทดูแลโดยตรงถูกกระทบ
การตอบสนองของ Coder
หลังตรวจพบความผิดปกติ Coder ได้ปิดช่องทางที่ถูกใช้โจมตี ออกแพตช์แก้ไข และเผยแพร่ GitHub Security Advisory GHSA-vx42-ghc9-gw65 พร้อมรายละเอียดทางเทคนิคของช่องโหว่และแนวทางตรวจสอบผลกระทบให้ผู้ใช้งานสามารถประเมินความเสี่ยงของตนเองได้
ผลกระทบที่อาจเกิดขึ้น
- องค์กรที่ได้รับผลกระทบเสี่ยงถูกขโมย Cloud API Key, CI/CD Secret, SSH Key และ OIDC Token ซึ่งอาจถูกนำไปใช้เข้าถึง Cloud Environment ขององค์กรโดยไม่ได้รับอนุญาต และขยายผลไปสู่การโจมตีขั้นต่อไปได้
- เป็นการโจมตี Supply Chain ที่อาศัยความเชื่อถือในโครงสร้างพื้นฐานของผู้ให้บริการ (Cloudflare ของ Coder) ทำให้ผู้ใช้งานทั่วไปแทบไม่มีทางสังเกตเห็นความผิดปกติได้ด้วยตนเองในขณะที่การโจมตีกำลังเกิดขึ้น
- ผลกระทบขยายเป็นวงกว้างต่อทีม DevOps และ Platform Engineering ที่ใช้ Coder บริหารจัดการ Workspace และ Infrastructure-as-Code ผ่าน Terraform ซึ่งมักเป็นทีมที่ถือ Credential ระดับสูงต่อ Cloud Environment ขององค์กร
- หน้าต่างเวลาการโจมตีที่ยาวถึง 14 ชั่วโมง เพิ่มโอกาสที่จะมีองค์กรจำนวนมากดึง Module ที่ถูกดัดแปลงไปใช้งานโดยไม่รู้ตัวก่อนเหตุการณ์จะถูกเปิดเผยต่อสาธารณะ
สิ่งที่องค์กรควรทำ
- ตรวจสอบ Log การเชื่อมต่อ DNS, Firewall และ Proxy ว่ามีการติดต่อไปยัง coder-infra[.]com ในช่วงเวลา 07:35–21:45 UTC วันที่ 31 สิงหาคม 2026 หรือไม่ เพื่อยืนยันว่าองค์กรได้รับผลกระทบจากเหตุการณ์นี้หรือไม่
- ตรวจสอบ Provisioner Log หาข้อความ "data.external.telemetry" ซึ่งเป็นร่องรอยของการเรียกใช้งานกลไกที่ถูกโจมตี พร้อมตรวจสอบว่ามีการรัน Template หรือสร้าง Workspace ในช่วงเวลาที่ได้รับผลกระทบหรือไม่
- อัปเดต Coder เป็นเวอร์ชันที่แก้ไขแล้ว (2.37.0, 2.36.4, 2.35.7 หรือ 2.34.9) ทันที และลบ Module ที่ถูก Cache ไว้ในช่วงเวลาที่ได้รับผลกระทบทิ้งทั้งหมด
- หมุนเวียน (Rotate) Cloud API Key, CI/CD Secret, SSH Key, OIDC Token และ Credential ที่เกี่ยวข้องทั้งหมดที่อาจถูกใช้งานในช่วงเวลาดังกล่าวโดยไม่ต้องรอผลการตรวจสอบให้แล้วเสร็จก่อน เนื่องจากความเสียหายจากการล่าช้าอาจสูงกว่าต้นทุนการหมุนเวียน Credential ล่วงหน้า
แนวทางลดความเสี่ยงระยะยาว
1. เปิดใช้งาน Module Caching เป็นค่าเริ่มต้นสำหรับ Terraform Workflow ทั้งหมด
การปิด Module Caching ทำให้ระบบต้องดึงข้อมูลจาก Registry ภายนอกซ้ำทุกครั้ง ซึ่งเพิ่มพื้นที่การโจมตีเมื่อ Registry ถูกบุกรุก องค์กรควร Cache Module ที่ผ่านการตรวจสอบแล้วและ Pin เวอร์ชันที่ใช้งานอย่างชัดเจน
2. ควบคุมสิทธิ์ของ Terraform Provisioner Environment อย่างเข้มงวด
จำกัดขอบเขต Secret ที่ Provisioner เข้าถึงได้ให้น้อยที่สุดเท่าที่จำเป็น (Principle of Least Privilege) เพื่อลดความเสียหายหากมี Module อันตรายหลุดเข้ามาในกระบวนการ
3. ตรวจสอบแหล่งที่มาของ Terraform Module และ Provider อย่างสม่ำเสมอ
พิจารณาใช้ Private Registry หรือ Module Mirror ภายในองค์กรสำหรับ Module ที่ผ่านการตรวจสอบแล้ว แทนการดึงจาก Public Registry โดยตรงในทุกครั้ง
4. เตรียมกระบวนการหมุนเวียน Credential แบบเร่งด่วน (Emergency Rotation) ไว้ล่วงหน้า
เหตุการณ์ลักษณะนี้ต้องการความเร็วในการหมุนเวียน Credential จำนวนมากพร้อมกัน องค์กรควรมีกระบวนการและเครื่องมือที่รองรับการทำ Emergency Rotation ได้อย่างรวดเร็วโดยไม่กระทบการทำงานของระบบ
วิเคราะห์ในมุมมองจาก TXEC
เหตุการณ์ Coder Registry ตอกย้ำแนวโน้มที่ TXEC เฝ้าติดตามมาอย่างต่อเนื่องว่า การโจมตี Supply Chain ผ่านเครื่องมือ DevOps และ Infrastructure-as-Code กำลังกลายเป็นเป้าหมายที่ผู้โจมตีให้ความสนใจมากขึ้น เนื่องจากเครื่องมือเหล่านี้มักถือ Credential ระดับสูงต่อ Cloud Environment ขององค์กรโดยตรง การเจาะระบบ Registry เพียงจุดเดียวจึงสามารถขยายผลไปสู่หลายองค์กรที่เชื่อถือแหล่งที่มาของ Module โดยไม่ได้ตรวจสอบซ้ำ
TXEC มองว่าองค์กรไทยที่ใช้ Terraform หรือเครื่องมือ Infrastructure-as-Code อื่นในการบริหารจัดการ Cloud Environment ควรทบทวนแนวทางการดึง Module จาก Public Registry ภายนอก และพิจารณาเสริมมาตรการ Pin เวอร์ชัน ตรวจสอบ Hash และ Cache Module ที่ผ่านการตรวจสอบแล้วอย่างจริงจัง เพราะความเชื่อถือในโครงสร้างพื้นฐานของผู้ให้บริการ Registry เพียงอย่างเดียวอาจไม่เพียงพอสำหรับองค์กรที่มีความเสี่ยงสูงต่อการถูกโจมตี Cloud Environment
รู้ก่อน ตรวจพบเร็ว ลดความเสียหายได้มากกว่า
[ แหล่งอ้างอิง: Cyber Security News, Coder (GitHub Security Advisory GHSA-vx42-ghc9-gw65) ]