เช็กด่วน! Axios ไลบรารี HTTP ยอดนิยมถูกฝังมัลแวร์

สวัสดีครับเพื่อนๆ และพี่น้องในวงการ IT ทุกคน วันนี้มีเรื่องด่วนที่ต้องรีบมาเตือนภัยกันครับ สำหรับใครที่พัฒนาซอฟต์แวร์ด้วย Node.js หรือใช้ JavaScript Library ยอดฮิตอย่าง Axios ต้องหยุดอ่านตรงนี้ก่อน เพราะเมื่อวันที่ 30-31 มีนาคม 2569 ที่ผ่านมา เกิดเหตุการณ์ Supply Chain Compromise ครั้งใหญ่ที่สะเทือนวงการสุดๆ ครับ 

เรื่องของเรื่องคือ Axios ที่มียอดดาวน์โหลดกว่า 80 ล้านครั้งต่อสัปดาห์ ถูกแฮกเกอร์ใช้เป็น “สะพาน” ส่งมัลแวร์เข้าไปในเครื่องของ Developer และระบบ CI/CD ทั่วโลก ผมสรุปประเด็นสำคัญและแนวทางแก้ไขแบบเข้าใจง่ายๆ มาให้แล้วครับ


เกิดอะไรขึ้น? (แบบย่อๆ)

แฮกเกอร์สามารถยึดบัญชี npm ของผู้ดูแลหลัก (Maintainer) ที่ชื่อว่าคุณ jasonsaayman ได้สำเร็จ จากนั้นแฮกเกอร์ไม่ได้ไปแก้โค้ดใน GitHub ของ Axios นะครับ แต่เลือกที่จะ อัปโหลดเวอร์ชันปลอม ขึ้นไปที่ npm registry โดยตรงผ่านเครื่องแฮกเกอร์เอง เพื่อบายพาสระบบตรวจสอบ (CI/CD) และ OIDC Trusted Publisher ทั้งหมดของช่องทางปกติ

เวอร์ชันที่มีปัญหาคือ:


Timeline เหตุการณ์ (เวลาไทยโดยประมาณ)

เพื่อให้ทีม Security ของคุณเอาไปเช็ก Logs ได้ง่ายขึ้น ผมสรุปไทม์ไลน์ที่แฮกเกอร์วางแผนมาอย่างดีตามนี้ครับ:


ใครเป็นคนทำ?

จากการวิเคราะห์ของหลายหน่วยงานด้านความปลอดภัย เช่น Google Threat Intelligence Group พบว่าพฤติกรรมของมัลแวร์ ทั้งในด้านโครงสร้าง (Infrastructure) และเทคนิคที่ใช้ (TTPs) มีความสอดคล้องกับกลุ่มผู้โจมตีที่มีความเชื่อมโยงกับประเทศเกาหลีเหนือ ซึ่งถูกติดตามภายใต้ชื่อ UNC1069

นอกจากนี้ ยังพบ artifact บางส่วน เช่นชื่อโปรเจกต์ภายใน “macWebT” ที่มีความคล้ายคลึงกับมัลแวร์ตระกูล webT (เช่น RustBucket) ที่เคยถูกใช้โจมตีระบบ macOS ในอดีต ซึ่งช่วยเพิ่มน้ำหนักให้กับสมมติฐานดังกล่าว

อย่างไรก็ตาม  ยังไม่สามารถยืนยันได้อย่างชัดเจนว่าเป็นกลุ่มใดโดยตรง


มันน่ากลัวตรงไหน?

ความแสบของมันคือมัลแวร์ตัวนี้เป็น Cross-platform RAT (Remote Access Trojan) ที่ทำงานได้ทั้ง Windows, macOS และ Linux


วิธีตรวจสอบว่า “โดนหรือยัง?”

  1. ตรวจสอบว่าด้ใช้ version ที่โดนโจมตีหรือไม่ โดย version ที่โดนโจมตี คือ
  1. เช็ก IOCs (ร่องรอยในเครื่อง): ลองดูว่ามีไฟล์เหล่านี้โผล่มาในที่แปลกๆ ไหม:
    • macOS: /Library/Caches/com.apple.act.mond
    • Windows: %PROGRAMDATA%\wt.exe (อันนี้มันปลอมตัวเป็น Windows Terminal)
    • Linux: /tmp/ld.py
  2. ตรวจสอบ Network log Indicators :

แนวทางป้องกันสำหรับ Developer และบริษัท

ทาง MAYASEVEN แนะนำให้เร่งตรวจสอบ dependency และ isolate ระบบที่อาจได้รับผลกระทบ พร้อมทั้ง rotate credentials และ secrets ทันที จากนั้นควรทำ hardening ระยะยาว เช่น version pinning และ supply chain monitoring

References: