มัลแวร์ PhantomRaven

นักวิจัยด้านความปลอดภัยไซเบอร์ได้ค้นพบการโจมตีซัพพลายเชนซอฟต์แวร์ที่มีประสิทธิภาพสูง ซึ่งมุ่งเป้าไปที่ระบบนิเวศ npm พบแพ็กเกจอันตรายกว่า 100 รายการ ซึ่งสามารถขโมยข้อมูลประจำตัวนักพัฒนาที่ละเอียดอ่อนได้โดยตรงจากเครื่องที่ถูกบุกรุก รวมถึงโทเค็นการตรวจสอบสิทธิ์ ความลับ CI/CD และข้อมูลประจำตัว GitHub

แคมเปญที่มีชื่อรหัสว่า PhantomRaven เกิดขึ้นครั้งแรกในเดือนสิงหาคม พ.ศ. 2568 นับตั้งแต่นั้นมา ก็ได้ขยายไปยังไลบรารี npm จำนวน 126 ไลบรารี และได้รับการติดตั้งมากกว่า 86,000 ครั้ง ซึ่งแสดงให้เห็นถึงการแพร่กระจายและการนำแพ็คเกจที่เป็นอันตรายเหล่านี้ไปใช้อย่างรวดเร็ว

แพ็คเกจอันตรายที่บินอยู่ใต้เรดาร์

แพ็คเกจที่ถูกทำเครื่องหมายไว้หลายรายการมีดังนี้:

  • op-cli-installer – ดาวน์โหลด 486 ครั้ง
  • การนำเข้าที่ไม่ได้ใช้ – ดาวน์โหลด 1,350 ครั้ง
  • badgekit-api-client – ดาวน์โหลด 483 ครั้ง
  • polyfill-corejs3 – ดาวน์โหลด 475 ครั้ง
  • eslint-comments – ดาวน์โหลด 936 ครั้ง

สิ่งที่ทำให้ PhantomRaven อันตรายอย่างยิ่งคือการใช้ Remote Dynamic Dependencies (RDD) แทนที่จะดึงโค้ดจากรีจิสทรี npm อย่างเป็นทางการ แพ็กเกจอันตรายจะชี้ไปที่ HTTP URL ที่กำหนดเอง (packages.storeartifact.com) ซึ่งทำให้ npm สามารถดึงข้อมูล dependencies จากแหล่งภายนอกที่ไม่น่าเชื่อถือ ซึ่งหลีกเลี่ยงการป้องกันของ npmjs.com ได้อย่างมีประสิทธิภาพ

เครื่องสแกนความปลอดภัยแบบดั้งเดิมและเครื่องมือวิเคราะห์การอ้างอิงล้มเหลวในการตรวจจับ RDD เหล่านี้ เนื่องจากระบบอัตโนมัติมองว่าแพ็คเกจมี 'การอ้างอิง 0'

การโจมตีทำงานอย่างไร

ห่วงโซ่การโจมตีเริ่มต้นทันทีที่นักพัฒนาติดตั้งแพ็กเกจที่ดูเหมือนจะไม่เป็นอันตราย องค์ประกอบสำคัญประกอบด้วย:

ติดตั้งการดำเนินการ Hook ล่วงหน้า : แพ็คเกจนี้ประกอบด้วยสคริปต์วงจรชีวิตการติดตั้งล่วงหน้าที่ดำเนินการโหลดหลักโดยอัตโนมัติ

การดึงข้อมูลเพย์โหลดระยะไกล : สคริปต์ดึงการอ้างอิงที่เป็นอันตรายจากเซิร์ฟเวอร์ที่ควบคุมโดยผู้โจมตี

การแยกข้อมูล : เมื่อดำเนินการแล้ว มัลแวร์จะสแกนสภาพแวดล้อมของนักพัฒนาเพื่อหาที่อยู่อีเมล รวบรวมรายละเอียดสภาพแวดล้อม CI/CD บันทึกลายนิ้วมือระบบ (รวมถึง IP สาธารณะ) และส่งข้อมูลไปยังเซิร์ฟเวอร์ระยะไกล

ผู้โจมตีสามารถปรับเปลี่ยนเพย์โหลดได้ตามต้องการ โดยในขั้นต้นจะส่งโค้ดที่ไม่เป็นอันตรายเพื่อหลีกเลี่ยงการตรวจจับก่อนที่จะส่งการอัปเดตที่เป็นอันตรายเมื่อแพ็คเกจได้รับการยอมรับ

การใช้ประโยชน์จากจุดบอดของมนุษย์และ AI

การเลือกใช้ชื่อแพ็กเกจนั้นขึ้นอยู่กับเจตนา ผู้กระทำการคุกคามใช้กลยุทธ์ที่เรียกว่า slopsquatting ซึ่งโมเดลภาษาขนาดใหญ่ (LLM) จะเห็นภาพหลอนว่าเป็นชื่อแพ็กเกจที่ไม่มีอยู่จริงแต่ฟังดูน่าเชื่อถือ นักพัฒนาอาจเชื่อถือแพ็กเกจเหล่านี้เนื่องจากชื่อที่สมจริง โดยไม่รู้ถึงภัยคุกคามที่ซ่อนอยู่

ดังที่นักวิจัยสังเกต PhantomRaven เน้นย้ำถึงความซับซ้อนที่เพิ่มมากขึ้นของผู้โจมตี:

  • การอ้างอิงแบบไดนามิกระยะไกลหลีกเลี่ยงการวิเคราะห์แบบคงที่
  • ชื่อแพ็คเกจที่สร้างโดย AI ใช้ประโยชน์จากความไว้วางใจของนักพัฒนา
  • สคริปต์วงจรชีวิตจะดำเนินการโดยอัตโนมัติโดยไม่ต้องมีการโต้ตอบจากผู้ใช้

แคมเปญนี้เน้นให้เห็นว่าผู้ไม่ประสงค์ดีได้ค้นพบวิธีใหม่ๆ ในการซ่อนโค้ดในระบบนิเวศโอเพนซอร์ส โดยใช้ประโยชน์จากช่องว่างในเครื่องมือความปลอดภัยแบบดั้งเดิม

เหตุใด npm จึงเป็นเป้าหมายหลัก

ระบบนิเวศ npm ที่มีข้อจำกัดในการเผยแพร่แพ็กเกจ ประกอบกับการดำเนินการสคริปต์ก่อนติดตั้ง ติดตั้ง และหลังติดตั้งโดยอัตโนมัติ ทำให้กลายเป็นเป้าหมายหลัก ผู้โจมตีสามารถซ่อนพฤติกรรมที่เป็นอันตรายไว้ในสคริปต์วงจรชีวิต โดยบ่อยครั้งที่นักพัฒนาไม่รู้ตัว ซึ่งแสดงให้เห็นถึงความจำเป็นในการเฝ้าระวังอย่างเข้มงวดและแนวปฏิบัติด้านความปลอดภัยที่แข็งแกร่งในสภาพแวดล้อมการพัฒนาสมัยใหม่

มาแรง

เข้าชมมากที่สุด

กำลังโหลด...