
การโจมตีแบบ Supply Chain Attack รูปแบบใหม่ มุ่งเป้าไปที่ Ecosystem ของ npm เพื่อขโมย credentials ของนักพัฒนา และพยายามแพร่กระจายแพ็กเกจผ่านบัญชีที่ถูก Compromised
ภัยคุกคามดังกล่าวถูกตรวจพบโดยนักวิจัยจากบริษัทด้าน application security ได้แก่ Socket และ StepSecurity โดยพบในหลายแพ็กเกจของ Namastex Labs ซึ่งเป็นบริษัทที่ให้บริการโซลูชันด้าน AI แบบ Agentic
ทาง Socket ระบุว่า เทคนิคที่ใช้ในการขโมย credentials, การลักลอบนำข้อมูลออกจากระบบ และการแพร่กระจายตัวเอง มีความคล้ายคลึงการโจมตี CanisterWorm ของ TeamPCP อย่างไรก็ตาม หลักฐานที่มีอยู่ในปัจจุบันยังไม่เพียงพอที่จะระบุแหล่งที่มาของผู้โจมตีได้อย่างชัดเจน
ณ เวลาที่มีการเผยแพร่ข้อมูล Socket ระบุว่าพบแพ็กเกจของ Namastex Labs อย่างน้อย 16 รายการที่ถูก compromise แล้ว จากการโจมตีแบบ supply chain ครั้งนี้ โดยตัวอย่างแพ็กเกจที่ได้รับผลกระทบ ได้แก่
- @automagik/genie (4.260421.33–4.260421.39)
- pgserve (1.1.11–1.1.13)
- @fairwords/websocket (1.0.38–1.0.39)
- @fairwords/loopback-connector-es (1.4.3–1.4.4)
- @openwebconcept/theme-owc@1.0.3
- @openwebconcept/design-tokens@1.0.3
แพ็กเกจเหล่านี้ถูกใช้งานในเครื่องมือด้าน AI agent และการดำเนินงานเกี่ยวกับฐานข้อมูลซึ่งแสดงให้เห็นว่าการโจมตีมีเป้าหมายไปยังระบบที่มีมูลค่าสูงมากกว่าการแพร่กระจายในวงกว้าง
นักวิจัยพบว่าโค้ดอันตรายที่ถูกแทรกเข้าไปมีการรวบรวม sensitive data ซึ่งเกี่ยวข้องกับข้อมูลสำคัญหลายประเภท เช่น tokens, API keys, SSH keys, รวมถึงข้อมูล credentials ของบริการคลาวด์, ระบบ CI/CD, ระบบ registry, แพลตฟอร์ม LLM และไฟล์ configuration ของ Kubernetes/Docker
นอกจากนี้ มัลแวร์ยังพยายามดึงข้อมูลสำคัญที่จัดเก็บอยู่ในเบราว์เซอร์ เช่น Google Chrome และ Mozilla Firefox รวมถึง cryptocurrency wallets เช่น MetaMask, Exodus, Atomic Wallet และ Phantom
ทาง StepSecurity ระบุว่า มัลแวร์ดังกล่าวเป็น “supply-chain worm” ซึ่งสามารถค้นหา token สำหรับการเผยแพร่แพ็กเกจบน npm และแทรกตัวเองเข้าไปในทุกแพ็กเกจที่ token นั้นมีสิทธิ์เผยแพร่ ส่งผลให้การโจมตีสามารถแพร่กระจายต่อไปได้
จากข้อมูลของ StepSecurity เวอร์ชันที่เป็นอันตรายของแพ็กเกจ pgserve ถูกเผยแพร่ครั้งแรกเมื่อวันที่ 21 เมษายน เวลา 22:14 น. (UTC) และมีการปล่อยเวอร์ชันที่เป็นอันตรายเพิ่มเติมอีก 2 ครั้งภายในวันเดียวกัน
หากพบ publish token อยู่ในระบบที่ถูก compromise ไม่ว่าจะใน environment variables หรือไฟล์ตั้งค่า ~/.npmrc สคริปต์อันตรายจะทำการตรวจสอบว่าเหยื่อสามารถเผยแพร่แพ็กเกจใดได้บ้าง จากนั้นจะแทรก payload ลงในแพ็กเกจเหล่านั้น และเผยแพร่ขึ้น npm ใหม่อีกครั้งโดยเพิ่มหมายเลขเวอร์ชัน
แพ็กเกจที่ติดมัลแวร์ใหม่เหล่านี้จะทำงานในลักษณะเดียวกันเมื่อถูกติดตั้ง ส่งผลให้เกิดการแพร่กระจายแบบต่อเนื่อง
อย่างไรก็ตาม เนื่องจากมัลแวร์มีลักษณะการทำงานคล้าย worm จึงมีศักยภาพในการแพร่กระจายได้อย่างรวดเร็ว หากเงื่อนไขเอื้ออำนวย
นักวิจัยระบุว่า หากตรวจพบ credentials ของ PyPI มัลแวร์จะใช้วิธีการลักษณะเดียวกันกับแพ็กเกจภาษา Python โดยอาศัย payload แบบ .pth ส่งผลให้การโจมตีครั้งนี้ครอบคลุมหลาย ecosystem
นักพัฒนาควรพิจารณาว่าแพ็กเกจทุกเวอร์ชันที่ถูกระบุเป็นเวอร์ชันที่เป็นอันตราย และดำเนินการลบออกจากระบบและ CI/CD pipelines โดยทันที พร้อมทั้ง rotate secrets ทั้งหมดที่อาจได้รับผลกระทบ
ทั้ง Socket และ StepSecurity ได้เผยแพร่ Indicators of Compromise (IoCs) เพื่อช่วยให้ผู้ดูแลระบบสามารถตรวจสอบ และระบุสภาพแวดล้อมการพัฒนาที่อาจถูก compromise รวมถึงใช้เป็นแนวทางในการป้องกันการโจมตีดังกล่าว
แนวทางปฏิบัติที่แนะนำในกรณีที่พบแพ็กเกจที่ได้รับผลกระทบ ได้แก่ การลบแพ็กเกจดังกล่าวออกจากระบบพัฒนา และ CI/CD การเปลี่ยนข้อมูล credentials และข้อมูล Secret ทั้งหมด และการตรวจสอบ package mirrors, artifacts และ caches ภายในองค์กร
นอกจากนี้ Socket ยังแนะนำให้ผู้ดูแลระบบทำการตรวจสอบแพ็กเกจที่เกี่ยวข้องเพิ่มเติม โดยพิจารณาจากลักษณะร่วม เช่น การใช้ไฟล์ public.pem เดียวกัน, การใช้ webhook host เดียวกัน หรือรูปแบบ postinstall script ที่คล้ายกัน
ที่มา : Beepingcomputer

You must be logged in to post a comment.