
ศูนย์ประสานการรักษาความมั่นคงปลอดภัยระบบคอมพิวเตอร์แห่งชาติ (ThaiCERT) ได้ติดตามสถานการณ์ข่าวสารภัยคุกคามทางไซเบอร์ พบรายงานแคมเปญโจมตีแบบ Supply Chain ที่ถูกเรียกว่า Megalodon ซึ่งมีการฝัง GitHub Actions Workflow อันตรายลงใน GitHub Repository จำนวนกว่า 5,500 รายการ ผ่าน commit ที่ถูกปลอมลักษณะให้คล้ายกับการปรับปรุงระบบ CI/CD[1]
1. รายละเอียดภัยคุกคาม[2]
แคมเปญ Megalodon ใช้วิธีฝังไฟล์ Workflow ของ GitHub Actions ที่มี Payload สำหรับขโมยข้อมูลสำคัญจากสภาพแวดล้อม CI/CD เช่น Credentials, API Keys, Cloud Access Tokens, SSH Private Keys, Docker/Kubernetes Configurations, GitHub Actions Tokens และข้อมูลลับอื่น ๆ โดย Workflow ที่ถูกฝังอาจทำงานเมื่อมีการ Push, Pull Request หรือถูกเรียกใช้งานภายหลังผ่าน workflow_dispatch ทำให้ผู้โจมตีสามารถใช้เป็น Backdoor ในระบบ CI/CD ได้
2. กลุ่มที่อาจได้รับผลกระทบ
2.1. ผู้ดูแล Repository บน GitHub ที่ใช้งาน GitHub Actions
2.2. โครงการ Open Source หรือระบบภายในองค์กรที่มี Workflow ใน .github/workflows
2.3 Repository ที่มีการตั้งค่า Branch Protection ไม่เข้มงวด หรืออนุญาตให้มีการแก้ไข Workflow โดยไม่มีการตรวจสอบ
2.4 องค์กรที่เก็บ Secrets, Cloud Credentials หรือ Token ไว้ใน CI/CD Pipeline
3. ผลกระทบที่อาจเกิดขึ้น
หาก Workflow อันตรายถูกเรียกใช้งาน ผู้โจมตีอาจสามารถขโมยข้อมูลลับจาก CI/CD Environment และนำไปใช้เข้าถึง Cloud Infrastructure, Container Registry, Kubernetes Cluster, Source Code Repository หรือระบบภายในองค์กรได้ นอกจากนี้ การใช้ workflow_dispatch อาจทำให้ Workflow อันตรายแฝงตัวอยู่ใน Repository และถูกเรียกใช้งานในภายหลังได้
4. แนวทางการป้องกันและแก้ไข
4.1 ตรวจสอบไฟล์ใน .github/workflows/ ว่ามี Workflow ที่ไม่รู้จักหรือถูกเพิ่มโดยไม่ได้รับอนุญาตหรือไม่
4.2 ตรวจสอบ Commit ที่เกิดขึ้นช่วงวันที่ 18 พฤษภาคม 2569 โดยเฉพาะ Commit ที่อ้างว่าเป็นการปรับปรุง CI/CD เช่น build-bot, ci-bot, auto-ci หรือชื่อที่คล้ายระบบอัตโนมัติ
4.3 ค้นหา Workflow ที่มีชื่อหรือ Trigger ผิดปกติ เช่น SysDiag, Optimize-Build รวมถึงไฟล์ Workflow ที่ถูกเพิ่มหรือแก้ไขโดยไม่ผ่านกระบวนการ Review
4.4 หากพบความผิดปกติ ให้ลบ Workflow อันตราย ย้อนกลับไปยัง Commit ที่ปลอดภัย และตรวจสอบประวัติการทำงานของ GitHub Actions
4.5 หมุนเวียนหรือเปลี่ยนค่า Secrets และ Tokens ที่อาจถูกเข้าถึงทั้งหมด เช่น GitHub Tokens, Cloud Access Keys, SSH Keys, API Keys และ Registry Tokens
4.6 เปิดใช้ Branch Protection, Require Pull Request Review และจำกัดสิทธิ์การแก้ไข Workflow เฉพาะผู้ที่จำเป็น
4.7 จำกัดสิทธิ์ของ GitHub Actions ตามหลัก Least Privilege และหลีกเลี่ยงการให้ id-token: write หากไม่มีความจำเป็น
4.8 เฝ้าระวังการเชื่อมต่อออกจาก CI/CD Runner ไปยังปลายทางที่ไม่รู้จัก
แหล่งอ้างอิง
