“Shai-Hulud: มัลแวร์สายพันธุ์ใหม่โจมตี NPM แบบแพร่กระจายตัวเอง — ขโมยข้อมูลลับผ่าน GitHub Actions และคลาวด์”
เมื่อวันที่ 15 กันยายน 2025 โลกของนักพัฒนา JavaScript ต้องสะเทือนอีกครั้ง เมื่อมีการค้นพบการโจมตีแบบ supply chain ที่ซับซ้อนที่สุดครั้งหนึ่งในระบบนิเวศของ NPM โดยมัลแวร์ที่ถูกตั้งชื่อว่า “Shai-Hulud” ได้แฝงตัวอยู่ในแพ็กเกจยอดนิยมอย่าง @ctrl/tinycolor ซึ่งมีผู้ดาวน์โหลดมากกว่า 2 ล้านครั้งต่อสัปดาห์ พร้อมกับอีกกว่า 180 แพ็กเกจที่ถูกโจมตีในลักษณะเดียวกัน2
มัลแวร์นี้ไม่ใช่แค่แฝงตัว — มันสามารถ “แพร่กระจายตัวเอง” ไปยังแพ็กเกจอื่น ๆ ที่ผู้ดูแลมีสิทธิ์เข้าถึง โดยใช้ฟังก์ชัน updatePackage เพื่อดึงรายชื่อแพ็กเกจจาก NPM API แล้วบังคับเผยแพร่เวอร์ชันใหม่ที่ฝัง bundle.js ซึ่งเป็นสคริปต์หลักของการโจมตี
เป้าหมายของ Shai-Hulud คือการขโมยข้อมูลลับ เช่น AWS keys, GitHub tokens, GCP credentials และ Azure secrets โดยใช้เครื่องมือ TruffleHog ที่ปกติใช้ในการตรวจสอบความปลอดภัย แต่ถูกนำมาใช้ในทางร้าย มัลแวร์จะสแกนไฟล์ระบบและ environment variables เพื่อดึงข้อมูลลับทั้งหมด
ที่น่ากลัวที่สุดคือการสร้าง persistence ผ่าน GitHub Actions โดยมัลแวร์จะ inject ไฟล์ workflow ชื่อ shai-hulud-workflow.yml ซึ่งจะถูกเรียกใช้ทุกครั้งที่มีการ push โค้ด และส่งข้อมูลลับไปยังเซิร์ฟเวอร์ควบคุมผ่าน webhook ที่ตั้งค่าไว้ล่วงหน้า
ข้อมูลที่ถูกขโมยจะถูกจัดเก็บในรูปแบบ JSON และอัปโหลดไปยัง repository สาธารณะชื่อ “Shai-Hulud” บน GitHub ของเหยื่อเอง ทำให้ใครก็สามารถเข้าถึงข้อมูลลับเหล่านั้นได้ และยังมีการสร้าง branch ชื่อเดียวกันเพื่อหลบเลี่ยงการตรวจสอบ
แม้จะมีการตอบสนองอย่างรวดเร็วจากทีม NPM และ GitHub รวมถึงการลบแพ็กเกจที่ถูกโจมตีออกจาก registry แล้ว แต่การโจมตียังคงดำเนินต่อไป โดยมีการพบ repository ใหม่ที่ถูกสร้างขึ้นทุกวัน และมีข้อมูลลับที่ยังไม่ถูกเพิกถอนอีกหลายรายการ
ข้อมูลสำคัญจากเหตุการณ์
แพ็กเกจ @ctrl/tinycolor และอีกกว่า 180 แพ็กเกจถูกฝังมัลแวร์ Shai-Hulud
มัลแวร์สามารถแพร่กระจายตัวเองไปยังแพ็กเกจอื่นของผู้ดูแลผ่าน NPM API
ใช้ TruffleHog เพื่อสแกนหา credentials จากไฟล์ระบบและ environment variables
สร้าง GitHub Actions workflow เพื่อส่งข้อมูลลับไปยังเซิร์ฟเวอร์ควบคุม
ข้อมูลลับถูกอัปโหลดไปยัง repo สาธารณะชื่อ “Shai-Hulud” บน GitHub ของเหยื่อ
กลไกการทำงานของมัลแวร์
bundle.js เป็นสคริปต์หลักที่ถูกฝังใน postinstall script ของ package.json
ใช้ Webpack modular design เพื่อแยกฟังก์ชันการโจมตี เช่น OS recon, credential harvesting, propagation
ตรวจสอบระบบปฏิบัติการก่อนทำงาน — targeting Linux/macOS โดยเฉพาะ
ใช้ GitHub API เพื่อสร้าง branch และ push workflow โดยใช้ token ของเหยื่อ
ข้อมูลเสริมจากภายนอก
ชื่อ “Shai-Hulud” มาจาก sandworm ในนิยาย Dune — สื่อถึงการแพร่กระจายแบบหนอน
การโจมตีคล้ายกับแคมเปญก่อนหน้า เช่น s1ngularity และ GhostActions
CrowdStrike ยืนยันว่าแพ็กเกจที่ถูกโจมตีไม่กระทบกับ Falcon sensor ของบริษัท
StepSecurity และ Socket เป็นผู้ค้นพบและวิเคราะห์เชิงลึกของการโจมตีนี้
https://www.stepsecurity.io/blog/ctrl-tinycolor-and-40-npm-packages-compromised
เมื่อวันที่ 15 กันยายน 2025 โลกของนักพัฒนา JavaScript ต้องสะเทือนอีกครั้ง เมื่อมีการค้นพบการโจมตีแบบ supply chain ที่ซับซ้อนที่สุดครั้งหนึ่งในระบบนิเวศของ NPM โดยมัลแวร์ที่ถูกตั้งชื่อว่า “Shai-Hulud” ได้แฝงตัวอยู่ในแพ็กเกจยอดนิยมอย่าง @ctrl/tinycolor ซึ่งมีผู้ดาวน์โหลดมากกว่า 2 ล้านครั้งต่อสัปดาห์ พร้อมกับอีกกว่า 180 แพ็กเกจที่ถูกโจมตีในลักษณะเดียวกัน2
มัลแวร์นี้ไม่ใช่แค่แฝงตัว — มันสามารถ “แพร่กระจายตัวเอง” ไปยังแพ็กเกจอื่น ๆ ที่ผู้ดูแลมีสิทธิ์เข้าถึง โดยใช้ฟังก์ชัน updatePackage เพื่อดึงรายชื่อแพ็กเกจจาก NPM API แล้วบังคับเผยแพร่เวอร์ชันใหม่ที่ฝัง bundle.js ซึ่งเป็นสคริปต์หลักของการโจมตี
เป้าหมายของ Shai-Hulud คือการขโมยข้อมูลลับ เช่น AWS keys, GitHub tokens, GCP credentials และ Azure secrets โดยใช้เครื่องมือ TruffleHog ที่ปกติใช้ในการตรวจสอบความปลอดภัย แต่ถูกนำมาใช้ในทางร้าย มัลแวร์จะสแกนไฟล์ระบบและ environment variables เพื่อดึงข้อมูลลับทั้งหมด
ที่น่ากลัวที่สุดคือการสร้าง persistence ผ่าน GitHub Actions โดยมัลแวร์จะ inject ไฟล์ workflow ชื่อ shai-hulud-workflow.yml ซึ่งจะถูกเรียกใช้ทุกครั้งที่มีการ push โค้ด และส่งข้อมูลลับไปยังเซิร์ฟเวอร์ควบคุมผ่าน webhook ที่ตั้งค่าไว้ล่วงหน้า
ข้อมูลที่ถูกขโมยจะถูกจัดเก็บในรูปแบบ JSON และอัปโหลดไปยัง repository สาธารณะชื่อ “Shai-Hulud” บน GitHub ของเหยื่อเอง ทำให้ใครก็สามารถเข้าถึงข้อมูลลับเหล่านั้นได้ และยังมีการสร้าง branch ชื่อเดียวกันเพื่อหลบเลี่ยงการตรวจสอบ
แม้จะมีการตอบสนองอย่างรวดเร็วจากทีม NPM และ GitHub รวมถึงการลบแพ็กเกจที่ถูกโจมตีออกจาก registry แล้ว แต่การโจมตียังคงดำเนินต่อไป โดยมีการพบ repository ใหม่ที่ถูกสร้างขึ้นทุกวัน และมีข้อมูลลับที่ยังไม่ถูกเพิกถอนอีกหลายรายการ
ข้อมูลสำคัญจากเหตุการณ์
แพ็กเกจ @ctrl/tinycolor และอีกกว่า 180 แพ็กเกจถูกฝังมัลแวร์ Shai-Hulud
มัลแวร์สามารถแพร่กระจายตัวเองไปยังแพ็กเกจอื่นของผู้ดูแลผ่าน NPM API
ใช้ TruffleHog เพื่อสแกนหา credentials จากไฟล์ระบบและ environment variables
สร้าง GitHub Actions workflow เพื่อส่งข้อมูลลับไปยังเซิร์ฟเวอร์ควบคุม
ข้อมูลลับถูกอัปโหลดไปยัง repo สาธารณะชื่อ “Shai-Hulud” บน GitHub ของเหยื่อ
กลไกการทำงานของมัลแวร์
bundle.js เป็นสคริปต์หลักที่ถูกฝังใน postinstall script ของ package.json
ใช้ Webpack modular design เพื่อแยกฟังก์ชันการโจมตี เช่น OS recon, credential harvesting, propagation
ตรวจสอบระบบปฏิบัติการก่อนทำงาน — targeting Linux/macOS โดยเฉพาะ
ใช้ GitHub API เพื่อสร้าง branch และ push workflow โดยใช้ token ของเหยื่อ
ข้อมูลเสริมจากภายนอก
ชื่อ “Shai-Hulud” มาจาก sandworm ในนิยาย Dune — สื่อถึงการแพร่กระจายแบบหนอน
การโจมตีคล้ายกับแคมเปญก่อนหน้า เช่น s1ngularity และ GhostActions
CrowdStrike ยืนยันว่าแพ็กเกจที่ถูกโจมตีไม่กระทบกับ Falcon sensor ของบริษัท
StepSecurity และ Socket เป็นผู้ค้นพบและวิเคราะห์เชิงลึกของการโจมตีนี้
https://www.stepsecurity.io/blog/ctrl-tinycolor-and-40-npm-packages-compromised
🕷️ “Shai-Hulud: มัลแวร์สายพันธุ์ใหม่โจมตี NPM แบบแพร่กระจายตัวเอง — ขโมยข้อมูลลับผ่าน GitHub Actions และคลาวด์”
เมื่อวันที่ 15 กันยายน 2025 โลกของนักพัฒนา JavaScript ต้องสะเทือนอีกครั้ง เมื่อมีการค้นพบการโจมตีแบบ supply chain ที่ซับซ้อนที่สุดครั้งหนึ่งในระบบนิเวศของ NPM โดยมัลแวร์ที่ถูกตั้งชื่อว่า “Shai-Hulud” ได้แฝงตัวอยู่ในแพ็กเกจยอดนิยมอย่าง @ctrl/tinycolor ซึ่งมีผู้ดาวน์โหลดมากกว่า 2 ล้านครั้งต่อสัปดาห์ พร้อมกับอีกกว่า 180 แพ็กเกจที่ถูกโจมตีในลักษณะเดียวกัน2
มัลแวร์นี้ไม่ใช่แค่แฝงตัว — มันสามารถ “แพร่กระจายตัวเอง” ไปยังแพ็กเกจอื่น ๆ ที่ผู้ดูแลมีสิทธิ์เข้าถึง โดยใช้ฟังก์ชัน updatePackage เพื่อดึงรายชื่อแพ็กเกจจาก NPM API แล้วบังคับเผยแพร่เวอร์ชันใหม่ที่ฝัง bundle.js ซึ่งเป็นสคริปต์หลักของการโจมตี
เป้าหมายของ Shai-Hulud คือการขโมยข้อมูลลับ เช่น AWS keys, GitHub tokens, GCP credentials และ Azure secrets โดยใช้เครื่องมือ TruffleHog ที่ปกติใช้ในการตรวจสอบความปลอดภัย แต่ถูกนำมาใช้ในทางร้าย มัลแวร์จะสแกนไฟล์ระบบและ environment variables เพื่อดึงข้อมูลลับทั้งหมด
ที่น่ากลัวที่สุดคือการสร้าง persistence ผ่าน GitHub Actions โดยมัลแวร์จะ inject ไฟล์ workflow ชื่อ shai-hulud-workflow.yml ซึ่งจะถูกเรียกใช้ทุกครั้งที่มีการ push โค้ด และส่งข้อมูลลับไปยังเซิร์ฟเวอร์ควบคุมผ่าน webhook ที่ตั้งค่าไว้ล่วงหน้า
ข้อมูลที่ถูกขโมยจะถูกจัดเก็บในรูปแบบ JSON และอัปโหลดไปยัง repository สาธารณะชื่อ “Shai-Hulud” บน GitHub ของเหยื่อเอง ทำให้ใครก็สามารถเข้าถึงข้อมูลลับเหล่านั้นได้ และยังมีการสร้าง branch ชื่อเดียวกันเพื่อหลบเลี่ยงการตรวจสอบ
แม้จะมีการตอบสนองอย่างรวดเร็วจากทีม NPM และ GitHub รวมถึงการลบแพ็กเกจที่ถูกโจมตีออกจาก registry แล้ว แต่การโจมตียังคงดำเนินต่อไป โดยมีการพบ repository ใหม่ที่ถูกสร้างขึ้นทุกวัน และมีข้อมูลลับที่ยังไม่ถูกเพิกถอนอีกหลายรายการ
✅ ข้อมูลสำคัญจากเหตุการณ์
➡️ แพ็กเกจ @ctrl/tinycolor และอีกกว่า 180 แพ็กเกจถูกฝังมัลแวร์ Shai-Hulud
➡️ มัลแวร์สามารถแพร่กระจายตัวเองไปยังแพ็กเกจอื่นของผู้ดูแลผ่าน NPM API
➡️ ใช้ TruffleHog เพื่อสแกนหา credentials จากไฟล์ระบบและ environment variables
➡️ สร้าง GitHub Actions workflow เพื่อส่งข้อมูลลับไปยังเซิร์ฟเวอร์ควบคุม
➡️ ข้อมูลลับถูกอัปโหลดไปยัง repo สาธารณะชื่อ “Shai-Hulud” บน GitHub ของเหยื่อ
✅ กลไกการทำงานของมัลแวร์
➡️ bundle.js เป็นสคริปต์หลักที่ถูกฝังใน postinstall script ของ package.json
➡️ ใช้ Webpack modular design เพื่อแยกฟังก์ชันการโจมตี เช่น OS recon, credential harvesting, propagation
➡️ ตรวจสอบระบบปฏิบัติการก่อนทำงาน — targeting Linux/macOS โดยเฉพาะ
➡️ ใช้ GitHub API เพื่อสร้าง branch และ push workflow โดยใช้ token ของเหยื่อ
✅ ข้อมูลเสริมจากภายนอก
➡️ ชื่อ “Shai-Hulud” มาจาก sandworm ในนิยาย Dune — สื่อถึงการแพร่กระจายแบบหนอน
➡️ การโจมตีคล้ายกับแคมเปญก่อนหน้า เช่น s1ngularity และ GhostActions
➡️ CrowdStrike ยืนยันว่าแพ็กเกจที่ถูกโจมตีไม่กระทบกับ Falcon sensor ของบริษัท
➡️ StepSecurity และ Socket เป็นผู้ค้นพบและวิเคราะห์เชิงลึกของการโจมตีนี้
https://www.stepsecurity.io/blog/ctrl-tinycolor-and-40-npm-packages-compromised
0 ความคิดเห็น
0 การแบ่งปัน
30 มุมมอง
0 รีวิว