เวิร์มแบบจำลองตัวเองที่ยึดไลน์งาน GitHub Actions เพื่อเผยแพ็กเกจ npm อันตรายกลับมาโจมตีอีกครั้ง โดยเจาะระบบ AntV, echarts-for-react และ SDK durabletask ของ Microsoft
เวิร์มบน GitHub โจมตีแพ็กเกจ npm ที่มียอดดาวน์โหลด 16 ล้านครั้ง

ประเด็นสำคัญ
Mini Shai-Hulud ใช้ GitHub Actions โจมตีจนกระทบยอดดาวน์โหลดรายสัปดาห์ 16 ล้านครั้ง
แคมเปญ Mini Shai-Hulud ที่ถูกระบุว่าเกี่ยวข้องกับกลุ่มคุกคาม Team PCP ไม่ทำงานเหมือนการโจมตีซัพพลายเชนส่วนใหญ่ เพราะแทนที่จะขโมยข้อมูลรับรองของนักพัฒนาแล้วเผยแพร่โดยตรง ผู้โจมตีจะฟอร์กรีโปเป้าหมายบน GitHub เปิดพุลรีเควสต์ซึ่งไปทริกเกอร์เวิร์กโฟลว์ `pull_request_target`
วิธีนี้จะทำให้แคชของ GitHub Actions ถูกวางยาด้วย pnpm store ที่เป็นอันตราย และจากจุดนั้น แพ็กเกจที่ติดเชื้อจะมีใบรับรองที่ลงนามอย่างถูกต้องและผ่านการตรวจสอบ SLSA provenance ทำให้ดูสะอาดหมดจดสำหรับเครื่องมือความปลอดภัยมาตรฐาน

เมื่อวันที่ 19 พฤษภาคม ระลอกล่าสุดได้โจมตีระบบนิเวศการแสดงข้อมูลของ AntV หลังจาก ผู้โจมตีได้เข้าถึง บัญชีผู้ดูแลที่ถูกประนีประนอมในเนมสเปซ @atool และเผยแพร่เวอร์ชันแพ็กเกจอันตรายมากกว่า 300 เวอร์ชัน ครอบคลุม 323 แพ็กเกจ ภายในช่วงอัตโนมัติ 22 นาที
ในบรรดาแพ็กเกจที่ได้รับผลกระทบมี echarts-for-react ซึ่งเป็นตัวห่อ (wrapper) สำหรับ Apache Echarts บน React และมี ยอดดาวน์โหลดรายสัปดาห์ราว 1.1 ล้านครั้ง โดยยอดดาวน์โหลดรวมรายสัปดาห์ของแพ็กเกจทั้งหมดที่ได้รับผลกระทบในระลอกนี้ประเมินได้ประมาณ 16 ล้านครั้ง
รายละเอียดทางเทคนิคที่น่ากังวลที่สุดคือสิ่งที่เกิดขึ้นหากนักพัฒนาพยายามเข้าแทรกแซง มัลแวร์จะติดตั้งเดดแมนสวิตช์ กล่าวคือ สคริปต์เชลล์ที่เรียกดู GitHub API ทุก 60 วินาทีเพื่อตรวจสอบว่าโทเค็น npm ที่มันสร้างขึ้นถูกเพิกถอนหรือไม่ โทเค็นนั้นมีคำอธิบายว่า “IfYouRevokeThisTokenItWillWipeTheComputerOfTheOwner” ซึ่งหากถูกนักพัฒนาเพิกถอน จะลบไดเรกทอรีโฮมของเครื่องที่ติดเชื้อทันที
โทเค็นดังกล่าวยังขโมยข้อมูลรับรองจาก GitHub, AWS, Azure, GCP, Kubernetes, Hashi Corp Vault และการตั้งค่าเครื่องมือนักพัฒนามากกว่า 90 รายการ ก่อนจะแพร่กระจายไปยังโครงสร้างพื้นฐานคลาวด์ที่เชื่อมต่อกันในแนวขวาง (lateral movement)
การโจมตีครั้งเดียว ผู้เสียหายหลายราย
แคมเปญนี้ยังกระทบ Python Package Index (PyPI) พร้อมกัน โดยมีการเผยแพร่เวอร์ชันอันตราย 3 เวอร์ชันของ durabletask Python SDK อย่างเป็นทางการของ Microsoft เมื่อวันที่ 19 พฤษภาคม ซึ่งจะดาวน์โหลดและรันเพย์โหลดขโมยข้อมูลรับรองขนาด 28 KB แบบเงียบๆ (สามารถเคลื่อนย้ายข้ามสภาพแวดล้อม AWS, Azure และ GCP ได้หลังการรันครั้งแรก)
GitHub ตอบสนองเมื่อวันที่ 20 พฤษภาคมด้วยประกาศที่ระบุการเปลี่ยนแปลงหลัก 3 ข้อสำหรับการเผยแพร่ไปยัง npm ได้แก่ การออนบอร์ด OIDC แบบเป็นชุดเพื่อช่วยให้องค์กรย้ายแพ็กเกจนับร้อยไปสู่ trusted publishing ได้ในระดับสเกล การขยายการรองรับผู้ให้บริการ OIDC ให้มากกว่า GitHub Actions และ Gitlab และโมเดล staged publishing แบบใหม่ที่ให้ผู้ดูแลมีช่วงเวลาตรวจทานก่อนแพ็กเกจเผยแพร่จริง โดยต้องได้รับการอนุมัติด้วยการยืนยันตัวตนหลายปัจจัย (MFA)

บริษัทยังมีแผนเลิกใช้โทเค็นแบบคลาสสิกเดิม ย้ายผู้ใช้ไปสู่ 2FA แบบอิง FIDO และปิดการเผยแพร่ด้วยโทเค็นเป็นค่าเริ่มต้น ในระลอกก่อนหน้าของแคมเปญเมื่อเดือนกันยายน 2025 GitHub ได้ลบแพ็กเกจที่ถูกประนีประนอมมากกว่า 500 แพ็กเกจออกจากรีจิสทรี npm
บริษัทความปลอดภัยบล็อกเชน Slowmist เคย ส่งสัญญาณเตือนล่วงหน้าเมื่อวันที่ 14 พฤษภาคม หลังตรวจพบ node-ipc เวอร์ชันอันตราย 3 เวอร์ชัน ซึ่งเป็นแพ็กเกจที่มียอดดาวน์โหลดรายสัปดาห์ 822,000 ครั้ง ว่าเป็นส่วนหนึ่งของแคมเปญเดียวกัน
นักพัฒนาที่ใช้งานแพ็กเกจใดๆ ที่ถูกระบุไว้ได้รับคำแนะนำให้ตรวจสอบต้นไม้ของดีเพนเดนซีทันที หมุนเวียน (rotate) ข้อมูลรับรองทั้งหมดโดยไม่เพิกถอนโทเค็นอันตรายก่อน และตรวจสอบตัวบ่งชี้การถูกบุกรุกที่เผยแพร่โดย Snyk, Wiz, Socket.dev และ Step Security














