npm ได้ทำการยกเครื่องระบบการยืนยันตัวตนครั้งใหญ่เพื่อลดการโจมตี Supply Chain หลังจากเหตุการณ์ Sha1-Hulud โดยได้ยกเลิก Classic Tokens และเปลี่ยนไปใช้ Session-based Tokens ที่มีอายุสั้นลง พร้อมส่งเสริมการใช้ OIDC Trusted Publishing อย่างไรก็ตาม บทความนี้ชี้ให้เห็นว่า npm ยังคงมีความเสี่ยงอยู่ เนื่องจากมีการโจมตีแบบ MFA Phishing ที่เคยประสบความสำเร็จ และการตั้งค่า Multi-Factor Authentication (MFA) สำหรับการเผยแพร่ยังคงเป็นทางเลือก ซึ่งอนุญาตให้สร้างโทเค็น 90 วันที่ข้าม MFA ได้ หากผู้ไม่ประสงค์ดีเข้าถึง Console ของ Maintainer ได้ด้วยการหลอกลวงเหล่านี้ พวกเขายังคงสามารถอัปโหลดแพ็กเกจที่เป็นอันตรายได้ การเปลี่ยนแปลงเหล่านี้จึงเป็นเพียงก้าวแรก แต่ยังไม่สามารถแก้ไขปัญหาหลักได้อย่างสมบูรณ์

     

Severity: สูง

      
     

System Impact:

     

  • npm (Node Package Manager)
  • Node.js ecosystem
  • Software supply chain
  • CI/CD systems

      
     

Technical Attack Steps:

     

  1. ผู้โจมตีดำเนินการโจมตีแบบ MFA Phishing โดยพุ่งเป้าไปที่ Console ของ Maintainer ใน npm
  2. Maintainer ตกเป็นเหยื่อ โดยเปิดเผยข้อมูลประจำตัวในการเข้าสู่ระบบและรหัสผ่านแบบใช้ครั้งเดียว (OTP)
  3. ผู้โจมตีเข้าถึง npm Console โดยใช้ Session Token ที่มีอายุสั้น (หากมีการบังคับใช้ MFA) หรือใช้โทเค็น 90 วันที่สามารถข้าม MFA ได้ (หาก Maintainer เลือกตั้งค่านี้)
  4. ผู้โจมตีใช้สิทธิ์การเข้าถึงนี้เพื่อเผยแพร่แพ็กเกจที่เป็นอันตรายเวอร์ชันใหม่ หรือแพ็กเกจที่เป็นอันตรายใหม่ทั้งหมด
  5. นักพัฒนาที่ดาวน์โหลดแพ็กเกจที่ถูกบุกรุกเหล่านี้จะตกเป็นเหยื่อของการโจมตี Supply Chain

      
     

Recommendations:

     

Short Term:

     

  • เพิ่มความระมัดระวังต่อการโจมตีแบบ MFA Phishing ที่พุ่งเป้าไปที่ npm Console
  • หลีกเลี่ยงการสร้างโทเค็น 90 วันที่เปิดใช้งานการข้าม MFA

     

Long Term:

     

  • GitHub และ npm ควรส่งเสริมการนำ OIDC Trusted Publishing มาใช้อย่างแพร่หลาย
  • บังคับใช้ MFA สำหรับการอัปโหลดแพ็กเกจในเครื่องทั้งหมด (เช่น ต้องใช้รหัสอีเมลหรือ OTP) และยกเลิกโทเค็นที่กำหนดเองที่สามารถข้าม MFA ได้
  • เพิ่ม Metadata ให้กับการเผยแพร่แพ็กเกจ เพื่อระบุว่า Maintainer ได้ใช้มาตรการรักษาความปลอดภัย Supply Chain หรือไม่
  • พิจารณานำวิธีการ ‘Build from Source’ มาใช้ (เช่น ใช้โซลูชันอย่าง Chainguard Libraries สำหรับ JavaScript) เพื่อตรวจสอบความสมบูรณ์ของแพ็กเกจจาก Source Code ต้นฉบับ และลดการพึ่งพา Artifacts ที่สร้างไว้ล่วงหน้า

      
     

Source: https://thehackernews.com/2026/02/npms-update-to-harden-their-supply.html

   

Share this content:

Leave a Reply

Your email address will not be published. Required fields are marked *