• Shai Hulud 2.0 โจมตีระบบนิเวศ npm อีกครั้ง และทำให้แพ็กเกจของโปรเจ็กต์สำคัญอย่าง Zapier, ENS Domains, AsyncAPI, PostHog, Postman ติดมัลแวร์
  • มัลแวร์จะรันอัตโนมัติระหว่างขั้นตอนติดตั้งเพื่อ ขโมยข้อมูลลับจากเครื่องนักพัฒนาและสภาพแวดล้อมคลาวด์
  • บนระบบที่ติดเชื้อ มันใช้ TruffleHog ค้นหา API key, token, รหัสผ่าน ฯลฯ แล้วอัปโหลดไปยัง GitHub repository แบบสาธารณะ
  • การโจมตีครั้งนี้ขยายวงกว้างกว่าครั้งก่อน โดยมี แพ็กเกจติดเชื้อสูงสุด 100 รายการ และมี ฟังก์ชันลบไฟล์ใน home directory เมื่อการยืนยันตัวตนล้มเหลว
  • นี่คือการโจมตีซัพพลายเชนขนาดใหญ่ที่คุกคามระบบความเชื่อถือของ npm ecosystem และตอกย้ำว่า ทุกทีมพัฒนาต้องตรวจสอบและเปลี่ยนข้อมูลลับ

ภาพรวมแคมเปญ Shai-Hulud

  • Shai-Hulud คือ มัลแวร์แบบเวิร์มที่แพร่กระจายตัวเองในระบบนิเวศ npm และสามารถลุกลามได้อย่างรวดเร็วผ่านสภาพแวดล้อมการพัฒนาที่ติดเชื้อ
    • เมื่อเครื่องติดเชื้อ มันจะใช้ TruffleHog ค้นหา API key, token และข้อมูลลับที่เปิดเผยอยู่
    • ข้อมูลที่รวบรวมได้จะถูกส่งไปยัง GitHub repository แบบสาธารณะ จากนั้นจึงเผยแพร่ต่อด้วยการโพสต์แพ็กเกจอันตรายใหม่บน npm
  • ผู้โจมตีตั้งชื่อการโจมตีรอบนี้ว่า “Second Coming”
  • การโจมตีกลับมาอีกครั้งในช่วงที่ npm ประกาศว่า จะยกเลิก token แบบเก่าในวันที่ 9 ธันวาคม

ไทม์ไลน์ของการโจมตี

  • 27 สิงหาคม: เปิดเผยรายงานแคมเปญ S1ngularity
  • 16 กันยายน: เกิดการโจมตี Shai-Hulud ครั้งแรก
  • 18 กันยายน: มีการเผยแพร่การวิเคราะห์ทางเทคนิคและพฤติกรรมของ payload
  • 24 พฤศจิกายน: เกิด การโจมตีครั้งที่สอง (Second Coming) ก่อน npm ยกเลิก token ไม่นาน

การเปลี่ยนแปลงของรูปแบบการโจมตี

  • การโจมตีครั้งนี้ติดตั้ง Bun runtime ผ่านไฟล์ setup_bun.js แล้วจึงรัน bun_environment.js
  • มีการสร้าง GitHub repository ที่ใช้ชื่อแบบสุ่ม เพื่ออัปโหลดข้อมูลที่ขโมยมา
  • จำนวนแพ็กเกจเป้าหมายที่ติดเชื้อเพิ่มจาก 20 เป็น 100 รายการ
  • หากการยืนยันตัวตนของ GitHub หรือ npm ล้มเหลว จะมี ฟังก์ชันลบ home directory ของผู้ใช้ทั้งหมด

แพ็กเกจที่ติดเชื้อ

  • มี npm package ติดเชื้อรวม 492 รายการ และมียอดดาวน์โหลดต่อเดือนรวม 132 ล้านครั้ง
  • โปรเจ็กต์ที่ได้รับผลกระทบหลัก: Zapier, ENS Domains, AsyncAPI, PostHog, Postman, Browserbase
  • ตัวอย่างแพ็กเกจ: @zapier/zapier-sdk, @ensdomains/ensjs, @asyncapi/cli, posthog-js, @postman/pm-bin-linux-x64 เป็นต้น

การรั่วไหลของข้อมูลลับ

  • มัลแวร์อัปโหลดข้อมูลลับไปยัง GitHub repository ที่มีคำอธิบายว่า “Sha1-Hulud: The Second Coming”
  • ขณะนี้ยืนยันได้แล้วว่ามี repository มากกว่า 26,300 แห่ง ที่ถูกเปิดเผย

ความผิดพลาดของผู้โจมตี

  • แพ็กเกจบางส่วนมีเพียง setup_bun.js แต่ไม่มี bun_environment.js ทำให้เวิร์มไม่สามารถทำงานได้ครบถ้วน
  • ส่งผลให้ ขอบเขตการแพร่กระจายของการโจมตีถูกจำกัด

เส้นทางการติดเชื้อและจุดเริ่มต้นของการติดเชื้อ

  • การติดเชื้อครั้งแรกเริ่มต้นเมื่อ 24 พฤศจิกายน 2025 03:16:26 GMT+0 ใน go-template และ 36 แพ็กเกจที่เกี่ยวข้องกับ AsyncAPI
  • จากนั้นจึงแพร่ไปยัง PostHog (04:11:55) และ Postman (05:09:25) ตามลำดับ
  • มีการยืนยันโค้ดที่ถูกเผยแพร่หลังจาก สร้าง branch อันตรายใน AsyncAPI CLI repository

ผลกระทบที่อาจเกิดขึ้น

  • มันรันอัตโนมัติระหว่างการติดตั้ง จึงสามารถเข้าถึง สภาพแวดล้อม local ของนักพัฒนา, build system และ credentials บนคลาวด์
  • ข้อมูลลับที่ถูกขโมยอาจนำไปสู่ การยึดบัญชีเพิ่มเติมและการเผยแพร่แพ็กเกจอันตราย
  • เป็น ภัยคุกคามร้ายแรงต่อความปลอดภัยของซัพพลายเชนที่ตั้งอยู่บนความเชื่อถือของ npm ecosystem

คำแนะนำในการรับมือด้านความปลอดภัย

  • ตรวจสอบ npm dependency ที่เกี่ยวข้องกับ Zapier และ ENS ทั้งหมด
  • เปลี่ยนข้อมูลลับทั้งหมดของ GitHub, npm, คลาวด์ และ CI/CD
  • ค้นหา repository บน GitHub ที่มีคำอธิบายว่า “Sha1-Hulud: The Second Coming”
  • ปิดใช้งาน npm postinstall script ในสภาพแวดล้อม CI
  • ตรึงเวอร์ชันแพ็กเกจและเปิดใช้ MFA รวมถึงใช้เครื่องมืออย่าง Safe-Chain เพื่อบล็อกแพ็กเกจอันตราย

บทสรุป

  • Shai-Hulud 2.0 คือ การโจมตีซัพพลายเชน npm ครั้งใหญ่ที่เกิดขึ้นซ้ำอีกครั้ง โดย
    แพ็กเกจยอดนิยมหลายร้อยรายการและ GitHub repository หลายพันแห่ง ได้รับผลกระทบ
  • ทุกทีมพัฒนาควรดำเนินการ ตรวจสอบ dependency, เปลี่ยนข้อมูลลับ และบล็อกสคริปต์ติดตั้งอัตโนมัติ โดยทันที

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น