สนับสนุนโดย
Crypto News

เวิร์มบน GitHub โจมตีแพ็กเกจ npm ที่มียอดดาวน์โหลด 16 ล้านครั้ง

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

เขียนโดย
แชร์
เวิร์มบน GitHub โจมตีแพ็กเกจ npm ที่มียอดดาวน์โหลด 16 ล้านครั้ง

ประเด็นสำคัญ

  • Mini Shai-Hulud ใช้ช่องโหว่/การโจมตีผ่าน GitHub Actions เมื่อวันที่ 19 พฤษภาคม ส่งผลให้แพ็กเกจ npm มากกว่า 300 แพ็กเกจถูกประนีประนอม ครอบคลุมยอดดาวน์โหลดรายสัปดาห์ 16 ล้านครั้ง
  • มัลแวร์ติดตั้ง “เดดแมนสวิตช์” ที่ลบข้อมูลในเครื่องของนักพัฒนาทันที หากโทเค็น npm ที่ถูกขโมยถูกเพิกถอน
  • GitHub ตอบสนองเมื่อ 20 พฤษภาคมด้วยการเผยแพร่แบบเป็นขั้นตอน การทำ OIDC แบบออนบอร์ดจำนวนมาก และแผนเลิกใช้โทเค็น npm แบบเดิม

Mini Shai-Hulud ใช้ GitHub Actions โจมตีจนกระทบยอดดาวน์โหลดรายสัปดาห์ 16 ล้านครั้ง

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

วิธีนี้จะทำให้แคชของ GitHub Actions ถูกวางยาด้วย pnpm store ที่เป็นอันตราย และจากจุดนั้น แพ็กเกจที่ติดเชื้อจะมีใบรับรองที่ลงนามอย่างถูกต้องและผ่านการตรวจสอบ SLSA provenance ทำให้ดูสะอาดหมดจดสำหรับเครื่องมือความปลอดภัยมาตรฐาน

GitHub Worm Hits npm Packages With 16M Downloads
แหล่งที่มาของภาพ: X

เมื่อวันที่ 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)

GitHub Worm Hits npm Packages With 16M Downloads
แหล่งที่มาของภาพ: X

บริษัทยังมีแผนเลิกใช้โทเค็นแบบคลาสสิกเดิม ย้ายผู้ใช้ไปสู่ 2FA แบบอิง FIDO และปิดการเผยแพร่ด้วยโทเค็นเป็นค่าเริ่มต้น ในระลอกก่อนหน้าของแคมเปญเมื่อเดือนกันยายน 2025 GitHub ได้ลบแพ็กเกจที่ถูกประนีประนอมมากกว่า 500 แพ็กเกจออกจากรีจิสทรี npm

บริษัทความปลอดภัยบล็อกเชน Slowmist เคย ส่งสัญญาณเตือนล่วงหน้าเมื่อวันที่ 14 พฤษภาคม หลังตรวจพบ node-ipc เวอร์ชันอันตราย 3 เวอร์ชัน ซึ่งเป็นแพ็กเกจที่มียอดดาวน์โหลดรายสัปดาห์ 822,000 ครั้ง ว่าเป็นส่วนหนึ่งของแคมเปญเดียวกัน

นักพัฒนาที่ใช้งานแพ็กเกจใดๆ ที่ถูกระบุไว้ได้รับคำแนะนำให้ตรวจสอบต้นไม้ของดีเพนเดนซีทันที หมุนเวียน (rotate) ข้อมูลรับรองทั้งหมดโดยไม่เพิกถอนโทเค็นอันตรายก่อน และตรวจสอบตัวบ่งชี้การถูกบุกรุกที่เผยแพร่โดย Snyk, Wiz, Socket.dev และ Step Security

แท็กในเรื่องนี้