สรุปสั้น
แคมเปญ supply chain attack ใหม่ชื่อ Miasma โจมตี npm packages ในกลุ่ม @redhat-cloud-services ส่งผลให้ packages อย่างน้อย 32 รายการใน 96 เวอร์ชันถูกฝัง backdoor ซึ่งมียอดดาวน์โหลดรวมกันกว่า 117,000 ครั้งต่อสัปดาห์
Miasma เป็น variant ใหม่ของมัลแวร์ Mini Shai-Hulud ซึ่งถูก open-source โดยกลุ่มอาชญากรไซเบอร์ TeamPCP ทำให้ threat actors รายอื่นสามารถนำ tooling เดียวกันไปใช้ได้
ผู้โจมตีไม่ได้ใช้วิธี typosquatting แต่เจาะเข้าระบบจริงของ Red Hat ผ่านบัญชี GitHub Actions OIDC ของพนักงาน ส่งผลให้ commit อันตรายปรากฏเป็น verified และ signed เหมือนถูกกฎหมายทุกประการ
มัลแวร์ทำงานผ่าน preinstall hook ที่ซ่อนอยู่ใน package.json รันทันทีที่มีการ npm install ขโมย credentials จาก environment variables, ~/.npmrc, SSH keys, GitHub tokens และ CI/CD secrets
นอกจากขโมย credentials แล้ว Miasma ยังแพร่กระจายตัวเองโดย enumerate repositories ที่เข้าถึงได้ผ่าน token ที่ขโมยมา และ inject malicious workflow ผ่าน GitHub API โดย commit ปรากฏเป็น verified
Red Hat ได้ถอน packages ที่ได้รับผลกระทบออกแล้ว และยืนยันว่าการบุกรุกจำกัดอยู่เฉพาะ internal development tooling
รายละเอียดข่าว
เว็บไซต์ The Hacker News รายงานเมื่อวันที่ 1 มิถุนายน พ.ศ. 2569 ว่า แคมเปญ supply chain attack ใหม่ชื่อ Miasma ได้โจมตี npm packages อย่างเป็นทางการภายใต้ namespace @redhat-cloud-services เพื่อขโมย credentials และส่ง worm ที่แพร่กระจายตัวเองได้เข้าสู่ระบบ
นักวิจัยจาก Aikido Security, JFrog, Microsoft, OX Security, SafeDep, StepSecurity และ Wiz ค้นพบโค้ดอันตรายที่ถูกฝังใน packages หลายรายการซึ่งใช้เป็น frontend components, API clients และ developer tooling สำหรับ Red Hat Hybrid Cloud Console
การบุกรุกครั้งนี้ไม่ใช่ typosquatting แต่เป็นการเจาะเข้าระบบจริง โดยหลักฐานชี้ว่า patient zero คือบัญชี GitHub ของพนักงาน Red Hat ที่ถูก compromise ซึ่งถูกนำมา push malicious orphan commits เพื่อหลีกเลี่ยง code review
แพ็กเกจที่ได้รับผลกระทบถูก publish ผ่าน GitHub Actions OIDC ทำให้ Wiz Research ระบุว่า CI/CD pipeline ถูกบุกรุก ไม่ใช่บัญชีนักพัฒนาโดยตรง commit ที่อันตรายปรากฏเป็น verified และ signed ทำให้ตรวจจับได้ยาก
OX Security ระบุว่า string “Miasma: The Spreading Blight” ปรากฏครั้งแรกใน commit เมื่อวันที่ 29 พฤษภาคม พ.ศ. 2569 บ่งชี้ว่าผู้โจมตีอาจเริ่มทดสอบก่อนหน้านั้น Red Hat ถอน packages ที่ได้รับผลกระทบออกจาก npm แล้วเกือบทั้งหมดภายในวันเดียวกัน
วิธีการโจมตี
การเจาะระบบ:
- เจาะ GitHub Actions OIDC token ของพนักงาน Red Hat
- Push malicious commits โดยหลีกเลี่ยง code review
- Commit ปรากฏเป็น verified, signed — ยากต่อการตรวจจับ
Preinstall Hook:
- ฝัง obfuscated script ใน
scripts.preinstallของ package.json - รันทันทีเมื่อมีการ
npm installหรือnpm ci - ไม่ต้องการการกระทำใด ๆ จากผู้ใช้เพิ่มเติม
ข้อมูลที่ขโมย:
- Environment variables ทั้งหมดใน CI/CD
- ~/.npmrc tokens
- SSH keys
- GitHub tokens และ CI/CD secrets
- GCP และ Azure cloud identities (variant ใหม่)
การแพร่กระจายตัวเอง:
- Enumerate repositories ที่ token ที่ขโมยมาสามารถ write ได้
- อ่าน action.yml ผ่าน GraphQL
- Inject malicious workflow ผ่าน GitHub’s createCommitOnBranch API — ปรากฏเป็น signed commit
- สร้าง persistence ผ่าน ~/.claude/settings.json และ .vscode/tasks.json
การตรวจจับ endpoint protection:
- Miasma ตรวจหา CrowdStrike, SentinelOne, Carbon Black และ StepSecurity Harden-Runner ก่อนทำงาน
ผลกระทบต่อไทย
Supply chain attack ผ่าน npm เป็นภัยคุกคามที่ส่งผลต่อนักพัฒนาซอฟต์แวร์ไทยโดยตรง โดยเฉพาะทีมที่ใช้ Red Hat technologies หรือ OpenShift ในการพัฒนา cloud-native applications
CI/CD pipelines ที่รัน npm install กับ @redhat-cloud-services packages ในช่วง 1 มิถุนายน 2569 ควรถือว่า credentials ทั้งหมดถูก compromise และดำเนินการ rotate ทันที
สำหรับองค์กรไทยที่ใช้ Kubernetes/OpenShift ที่ขับเคลื่อนด้วย Red Hat cloud tooling ความเสี่ยงอาจขยายไปถึง cloud credentials ที่ CI/CD runner ถืออยู่ เช่น AWS, GCP หรือ Azure service accounts
เหตุการณ์นี้ยังเน้นย้ำความสำคัญของ software supply chain security ซึ่งยังเป็นจุดอ่อนของหลายองค์กรในไทยที่ยังไม่มีการ scan dependencies อย่างจริงจัง
คำแนะนำ
- Rotate credentials ทันที — หากติดตั้ง @redhat-cloud-services package ใด ๆ ตั้งแต่วันที่ 1 มิถุนายน 2569 ให้ rotate ทั้ง CI secrets, cloud credentials, SSH keys และ npm tokens ทันที
- ตรวจสอบ package versions — ดู lock files เพื่อตรวจว่ามีการใช้ versions ที่ได้รับผลกระทบหรือไม่
- ตรวจสอบ GitHub Actions workflows — ตรวจหา commits ที่เพิ่ม workflows ใหม่โดยไม่คาดคิด หรือ commits ที่มี description “Miasma: The Spreading Blight”
- ตรวจสอบ persistence — ตรวจหา ~/.claude/settings.json และ .vscode/tasks.json ที่ถูกสร้างขึ้นโดยไม่ทราบสาเหตุ
- ใช้ lock files และ integrity checks — เปิดใช้
npm ciแทนnpm installและตรวจสอบ integrity ด้วย tools เช่น Socket.dev หรือ Snyk - จำกัด OIDC token permissions — ลด scope ของ GitHub Actions OIDC tokens ให้น้อยที่สุดเท่าที่จำเป็น
