งานเข้าวงการโค้ด! แฮกเกอร์เจาะแพ็กเกจ axios ฝังมัลแวร์ RAT ล้วงข้อมูลเครื่อง

แพ็กเกจยอดฮิต axios โดนแฮกเกอร์ขโมย Token เก่าไปปล่อยเวอร์ชันฝังมัลแวร์ RAT หวังยึดเครื่องนักพัฒนาทั้ง macOS, Windows และ Linux แม้จะเปิด 2FA แล้วก็ยังไม่รอด ใครใช้เวอร์ชัน 1.14.1 และ 0.30.4 ต้องรีบตรวจสอบด่วน
วงการนักพัฒนาโปรแกรมมีเรื่องให้ต้องปวดหัวกันอีกแล้ว เมื่อ Axios ซึ่งเป็น HTTP client library ยอดฮิตในฝั่ง JavaScript ที่มียอดดาวน์โหลดทะลุ 100 ล้านครั้งต่อสัปดาห์ ถูกแฮกเกอร์เจาะระบบและปล่อยแพ็กเกจเวอร์ชันฝังมัลแวร์ออกมาทำร้ายนักพัฒนาซะเอง โดยเป้าหมายครอบคลุมทั้ง macOS, Windows และ Linux
เรื่องตลกร้ายของเหตุการณ์นี้คือ ผู้ดูแลโปรเจกต์ (Maintainer) ได้ทำตาม Best Practice ด้านความปลอดภัยทุกอย่าง ไม่ว่าจะเป็นการเปิด 2FA/MFA หรือการใช้ระบบ OIDC Trusted Publisher ผ่าน GitHub Actions เพื่อยืนยันตัวตน แต่แฮกเกอร์กลับเดินอ้อมระบบรักษาความปลอดภัยสุดล้ำเหล่านั้นไปดื้อๆ ด้วยการขโมย "Token รุ่นเดอะ" (Legacy Token) ที่ถูกทิ้งค้างไว้ใน Environment Variable ซึ่งระบบของ npm ดันให้ความสำคัญกับ Token เก่านี้มากกว่า OIDC ซะงั้น
เมื่อได้สิทธิ์เข้าถึง แฮกเกอร์ไม่ได้ไปแตะต้อง Source Code ของ Axios เลยแม้แต่น้อย แต่ใช้วิธีแนบ Dependency ผีที่ชื่อว่า plain-crypto-js@4.2.1 เข้าไปแทน โดยแพ็กเกจนี้มีหน้าที่เดียวคือการรันสคริปต์ postinstall เพื่อฝัง Remote Access Trojan (RAT) ลงในเครื่องของนักพัฒนา จากนั้นมันจะลบตัวเองทิ้งและสลับเอาไฟล์ package.json แบบปกติมาวางแทนเพื่อทำลายหลักฐาน
นี่ไม่ใช่ครั้งแรกที่ระบบ Supply Chain ของนักพัฒนาถูกโจมตี เพราะก่อนหน้านี้ก็เพิ่งมีข่าว แฮกเกอร์ซ่อนมัลแวร์ในแพ็กเกจ NPM ยอดดาวน์โหลดทะลุ 86,000 ครั้ง และกรณีของ dYdX ที่โดนยัดไส้มัลแวร์ดูด Seed Phrase มาแล้ว ซึ่งสะท้อนให้เห็นว่าปัญหา Credential ของผู้ดูแลโปรเจกต์ยังคงเป็นจุดอ่อนที่แก้ไม่หายขาด
สำหรับทีม Security และนักพัฒนาที่ใช้งาน Node.js นี่คือสิ่งที่ต้องทำทันทีเพื่อรับมือกับวิกฤตนี้:
- ตรวจสอบระบบด่วน: ค้นหาใน Lockfile และ CI/CD Logs ว่ามีการเผลอดึง
axios@1.14.1,axios@0.30.4หรือplain-crypto-jsเข้ามาในช่วงเวลาที่เกิดเหตุหรือไม่ - ล้างเครื่องและเปลี่ยนรหัส: หากพบว่าเครื่องติดมัลแวร์ ให้ถือว่าระบบถูกเจาะโดยสมบูรณ์ ต้องล้างเครื่อง (Rebuild) ใหม่จากสถานะที่ปลอดภัย และไล่เปลี่ยน Credential ทุกอย่าง ทั้ง npm tokens, AWS keys, SSH keys และความลับในไฟล์ .env
- บล็อกการเชื่อมต่อ: เพิ่มโดเมน
sfrclak.comและไอพี142.11.206.73ลงใน Blocklist ของ DNS และ Firewall - อุดช่องโหว่ระยะยาว: บังคับใช้คำสั่ง
npm ci --ignore-scriptsใน CI/CD เพื่อป้องกันไม่ให้สคริปต์แอบรันเองตอนติดตั้งแพ็กเกจ
เหตุการณ์นี้สอนให้รู้ว่า ต่อให้เราจะสร้างกำแพงเหล็กกล้าและติดระบบสแกนใบหน้าที่หน้าบ้านล้ำยุคแค่ไหน แต่ถ้ายังลืมกุญแจสำรองดอกเก่าทิ้งไว้ใต้พรมเช็ดเท้า แฮกเกอร์ก็พร้อมจะไขประตูเข้ามานั่งจิบกาแฟในบ้านเราอยู่ดี
ความเห็น (0)
เข้าสู่ระบบเพื่อแสดงความเห็น
เข้าสู่ระบบยังไม่มีความเห็น
เป็นคนแรกที่แสดงความเห็นในบทความนี้