มัลแวร์ Shai Hulud v2
การโจมตีซัพพลายเชน Shai-Hulud ระลอกที่สองได้แพร่กระจายเข้าสู่ระบบนิเวศ Maven แล้ว หลังจากแพ็กเกจกว่า 830 รายการในรีจิสทรี npm เสียหาย นักวิจัยระบุแพ็กเกจ Maven Central ชื่อ org.mvnpm:posthog-node:4.18.1 ซึ่งมีส่วนประกอบอันตรายเช่นเดียวกับการโจมตี npm ก่อนหน้านี้ ได้แก่ ไฟล์ loader setup_bun.js และไฟล์ payload bun_environment.js ปัจจุบันแพ็กเกจนี้เป็นแพ็กเกจ Java เพียงแพ็กเกจเดียวที่ได้รับผลกระทบ
ที่น่าสังเกตคือ แพ็กเกจ Maven ไม่ได้ถูกเผยแพร่โดย PostHog แต่ถูกสร้างขึ้นผ่านกระบวนการ mvnpm อัตโนมัติที่สร้างแพ็กเกจ npm ขึ้นมาใหม่เป็นอาร์ทิแฟกต์ของ Maven Maven Central ยืนยันว่าสำเนาที่มิเรอร์ไว้ทั้งหมดถูกลบออกแล้ว ณ วันที่ 25 พฤศจิกายน 2025 และกำลังดำเนินการป้องกันเพิ่มเติมเพื่อป้องกันไม่ให้คอมโพเนนต์ npm ที่ถูกบุกรุกถูกเผยแพร่ซ้ำ
สารบัญ
ผลกระทบต่อนักพัฒนาทั่วโลกและเป้าหมายการโจมตี
คลื่นลูกล่าสุดนี้มุ่งเป้าไปที่นักพัฒนาซอฟต์แวร์ทั่วโลก โดยมีเป้าหมายเพื่อขโมยข้อมูลที่ละเอียดอ่อน เช่น:
- คีย์ API
- ข้อมูลประจำตัวคลาวด์
- npm และโทเค็น GitHub
นอกจากนี้ยังเอื้อให้เกิดการบุกรุกห่วงโซ่อุปทานที่ลึกขึ้นในลักษณะที่จำลองตัวเองได้เหมือนหนอน Shai-Hulud เวอร์ชันนี้มีความซ่อนเร้น ก้าวร้าว และทำลายล้างมากกว่าเวอร์ชันเดือนกันยายน การโจมตีบัญชีผู้ดูแลระบบ npm จะทำให้ผู้โจมตีสามารถเผยแพร่แพ็คเกจโทรจันที่แอบซ่อนเครื่องของนักพัฒนาและสแกนหาความลับเพื่อแอบขโมยข้อมูลไปยังคลังข้อมูล GitHub โดยอัตโนมัติ
มัลแวร์ทำงานอย่างไร: เวิร์กโฟลว์คู่และเทคนิคการซ่อนตัว
การโจมตีใช้ประโยชน์จากเวิร์กโฟลว์ที่เป็นอันตรายสองประการ:
- การลงทะเบียนผู้วิ่งที่โฮสต์ด้วยตนเอง: อนุญาตให้ดำเนินการคำสั่งตามอำเภอใจเมื่อใดก็ตามที่มีการเปิดการสนทนา GitHub
- เวิร์กโฟลว์การเก็บเกี่ยวความลับ: รวบรวมข้อมูลประจำตัวอย่างเป็นระบบและส่งไปยัง GitHub
- การปรับปรุงที่สำคัญใน Shai-Hulud v2 ได้แก่:
- การใช้ Bun runtime เพื่อปกปิดตรรกะหลัก
- ขยายเพดานการติดเชื้อจาก 20 เป็น 100 แพ็กเกจ
- ที่เก็บข้อมูลการสุ่มแยกข้อมูลบน GitHub เพื่อหลีกเลี่ยงการตรวจจับ
จนถึงขณะนี้ มีผู้ได้รับผลกระทบมากกว่า 28,000 ราย ซึ่งแสดงให้เห็นถึงขอบเขตและการดำเนินการอย่างลับๆ ของแคมเปญนี้
ช่องโหว่ที่ถูกใช้ประโยชน์และกลไกของห่วงโซ่อุปทาน
ผู้ก่อภัยคุกคามได้ใช้ประโยชน์จากการกำหนดค่า CI ที่ไม่ถูกต้องในเวิร์กโฟลว์ GitHub Actions โดยเฉพาะอย่างยิ่งทริกเกอร์ pull_request_target และ workflow_run การกำหนดค่าเวิร์กโฟลว์ที่ไม่ถูกต้องเพียงครั้งเดียวอาจทำให้ที่เก็บข้อมูลกลายเป็น "ผู้ป่วยรายแรก" ส่งผลให้โค้ดอันตรายแพร่กระจายอย่างรวดเร็ว
การโจมตีมีเป้าหมายเป็นโครงการที่เกี่ยวข้องกับ AsyncAPI, PostHog และ Postman โดยเป็นการสานต่อแคมเปญที่กว้างขึ้นซึ่งเริ่มต้นด้วยการโจมตี S1ngularity ในเดือนสิงหาคม พ.ศ. 2568 ซึ่งส่งผลกระทบต่อแพ็คเกจ Nx หลายรายการบน npm
Fallout: ความลับรั่วไหลและความเสี่ยงเชิงระบบ
การวิเคราะห์แคมเปญแสดงให้เห็นว่า:
- โทเค็นการเข้าถึง GitHub หลายร้อยรายการและข้อมูลรับรองคลาวด์จาก AWS, Google Cloud และ Microsoft Azure ถูกนำออกไป
- ไฟล์ที่มีความลับมากกว่า 5,000 ไฟล์ถูกอัพโหลดไปยัง GitHub
- จากข้อมูลความลับเฉพาะตัว 11,858 รายการที่ระบุในที่เก็บข้อมูล 4,645 แห่ง มี 2,298 รายการที่ยังถูกต้องและเปิดเผยต่อสาธารณะ ณ วันที่ 24 พฤศจิกายน พ.ศ. 2568
สิ่งนี้แสดงให้เห็นว่าผู้ดูแลระบบเพียงรายเดียวที่ถูกบุกรุกสามารถก่อให้เกิดผลกระทบแบบลูกโซ่ ส่งผลให้แอปพลิเคชันที่อยู่ถัดไปติดเชื้อได้นับพันรายการ
คำแนะนำสำหรับนักพัฒนา
เพื่อลดความเสี่ยง นักพัฒนาควร:
- หมุนเวียนคีย์ API โทเค็น และข้อมูลรับรองทั้งหมด
- ตรวจสอบและลบการอ้างอิงที่ถูกบุกรุก
- ติดตั้งเวอร์ชันแพ็คเกจใหม่อีกครั้ง
- เสริมความแข็งแกร่งให้กับสภาพแวดล้อม CI/CD ด้วยการเข้าถึงสิทธิ์ขั้นต่ำ การสแกนความลับ และการบังคับใช้นโยบายอัตโนมัติ
Shai-Hulud ย้ำว่าห่วงโซ่อุปทานซอฟต์แวร์สมัยใหม่ยังคงมีความเสี่ยงสูง ผู้โจมตียังคงใช้ประโยชน์จากช่องโหว่ในการเผยแพร่ การจัดแพ็กเกจ และการใช้งานซอฟต์แวร์โอเพนซอร์ส โดยมักจะไม่พึ่งพาช่องโหว่แบบ Zero-day การป้องกันที่มีประสิทธิภาพสูงสุดต้องอาศัยการทบทวนวิธีการสร้าง การแชร์ และการใช้งานซอฟต์แวร์