สรุปสั้น
เมื่อวันที่ 1 มิถุนายน 2569 บริษัท Microsoft, Wiz Research, Snyk และ Aikido พบการโจมตี supply chain ครั้งใหญ่ที่กระทบแพ็กเกจ npm ภายใต้ namespace @redhat-cloud-services รวม 32 แพ็กเกจ ส่งผลให้มี 96 เวอร์ชันที่ปนเปื้อน แพ็กเกจเหล่านี้ใช้ขับเคลื่อน Red Hat Hybrid Cloud Console และมียอดดาวน์โหลดรวมสูงถึง 80,000–117,000 ครั้งต่อสัปดาห์
สาเหตุของการโจมตีคือการเจาะบัญชี GitHub ส่วนตัวของพนักงาน Red Hat รายหนึ่ง และใช้ OIDC token เพื่ออัปโหลดเวอร์ชันปนเปื้อนไปยัง npm registry โดยตรง เวอร์ชันที่ปนเปื้อนยังมี SLSA provenance attestation ที่ถูกต้อง ทำให้ scanner ความปลอดภัยตรวจจับยาก ผู้ดูแลระบบ npm เพิกถอนเวอร์ชันอันตรายภายในไม่กี่ชั่วโมงหลังจากเปิดเผย แต่การสืบสวนยังดำเนินต่อ
รายละเอียดข่าว
เว็บไซต์ HackRead รายงานเมื่อวันที่ 5 มิถุนายน พ.ศ. 2569 ว่าผู้โจมตีเจาะเข้าบัญชี GitHub ส่วนตัวของพนักงาน Red Hat และใช้บัญชีนั้นฝังโค้ดอันตรายผ่าน malicious orphan commits โดยตรงในสอง repository ของ RedHatInsights โดยไม่ผ่านกระบวนการ code review โค้ดที่ฝังสร้าง GitHub Actions workflow ที่ขอ short-lived OIDC identity token จาก GitHub จากนั้นใช้ token เหล่านั้น authenticate กับ npm trusted publishing endpoint เพื่ออัปโหลดแพ็กเกจที่ปนเปื้อน เนื่องจากโค้ดมาจาก pipeline ของ Red Hat จริง เวอร์ชันที่ปนเปื้อนจึงมาพร้อม SLSA provenance attestation ที่ดูถูกต้องตามมาตรฐาน ทำให้ security scanner ส่วนใหญ่ไม่ตรวจพบ การโจมตีเกิดขึ้นเป็นสองระลอกตามที่บริษัท Wiz Research บันทึกไว้
รายละเอียดช่องโหว่
มัลแวร์ Miasma ที่ฝังอยู่เป็น self-propagating worm และ credential stealer สร้างขึ้นจาก Mini Shai-Hulud ซึ่งเป็น open-source malware framework ที่กลุ่ม TeamPCP เผยแพร่บน BreachForums เมื่อต้นปี 2569 เวอร์ชัน Red Hat นี้แทนที่ธีม space ด้วยคำจากตำนานกรีก เช่น “Spartan” เมื่อนักพัฒนาติดตั้งแพ็กเกจที่ปนเปื้อน preinstall script ที่ซ่อนอยู่จะทำงานอัตโนมัติก่อนโค้ดปกติ และค้นหาข้อมูลสำคัญในเครื่อง ได้แก่ cloud credential ของ Google Cloud, Microsoft Azure และ AWS, SSH keys, saved passwords รวมถึง API key ของ Claude และ Gemini จากนั้น worm จะ query npm registry เพื่อหาแพ็กเกจอื่นที่ identity ที่ถูกบุกรุกมีสิทธิ์แก้ไข และ republish แพ็กเกจเหล่านั้นพร้อม payload อันตรายเดิม ทำให้เครื่องที่ติดมัลแวร์กลายเป็นต้นทางในการปนเปื้อน registry เพิ่มเติม
ผลกระทบต่อไทย
นักพัฒนาไทยที่ใช้ Red Hat Hybrid Cloud Console หรือดึง dependency จาก namespace @redhat-cloud-services ในช่วง 1–5 มิถุนายน 2569 อาจได้รับผลกระทบ บริษัทที่ใช้ CI/CD pipeline ที่ดึง npm packages โดยอัตโนมัติมีความเสี่ยงสูงกว่า เพราะ preinstall script ของ Miasma จะรันทันทีเมื่อติดตั้ง ข้อมูล cloud credentials ที่รั่วออกไปอาจนำไปใช้เข้าถึง cloud environment ขององค์กรได้โดยตรง รวมถึง API key ของ AI tools ที่อาจนำไปใช้ในทางที่ผิด ระบบ CI/CD ที่รันบน Linux ในไทยและดึงแพ็กเกจ npm ที่กระทบควรถือว่าถูกบุกรุกจนกว่าจะพิสูจน์ได้ว่าปลอดภัย
คำแนะนำ
ตรวจสอบ lockfile (package-lock.json หรือ yarn.lock) ทันทีว่ามีแพ็กเกจจาก @redhat-cloud-services เวอร์ชันที่ติดตั้งระหว่าง 1–5 มิถุนายน 2569 หรือไม่ เพิ่ม --ignore-scripts ในการรัน npm install เพื่อป้องกัน preinstall script รันอัตโนมัติ หาก environment อาจได้รับผลกระทบ ให้ rotate cloud credentials ทุกตัวทันทีโดยไม่รอผลการสืบสวน ได้แก่ AWS Access Key, Azure service principal, GCP service account และ API key ต่างๆ ตั้งค่า npm audit ใน CI/CD pipeline เพื่อตรวจสอบทุก package ก่อน deploy ติดตามรายงานจาก Microsoft, Wiz, Snyk และ Aikido เพื่ออัปเดตรายชื่อแพ็กเกจที่ได้รับผลกระทบ
