นักวิจัยเปิดเผยการโจมตีแบบ Software Supply Chain ที่มุ่งเป้าไปยังแพ็กเกจ AsyncAPI บน npm ซึ่งมียอดดาวน์โหลดมากกว่า 3 ล้านครั้งต่อสัปดาห์ โดยผู้โจมตีเจาะช่องโหว่ใน GitHub Actions Workflow ของ AsyncAPI Generator เพื่อขโมย npm Publish Token แล้วฝังมัลแวร์ลงในแพ็กเกจยอดนิยมหลายรายการ กระจาย Botnet Framework ที่ชื่อ Miasma ไปยังเครื่องนักพัฒนาและระบบ CI/CD จำนวนมาก
ห่วงโซ่การโจมตี
การโจมตีเริ่มต้นเมื่อวันที่ 14 กรกฎาคม 2026 โดยผู้โจมตีใช้ประโยชน์จากช่องโหว่ในรูปแบบ pull_request_target Workflow ของ AsyncAPI Generator Repository เพื่อขโมย npm Publish Token จากนั้นเผยแพร่แพ็กเกจที่ถูกฝังมัลแวร์แทนที่เวอร์ชันจริง:
@asyncapi/[email protected]@asyncapi/[email protected]@asyncapi/[email protected]@asyncapi/[email protected]@asyncapi/[email protected]
จุดที่ทำให้แคมเปญนี้อันตรายเป็นพิเศษคือมัลแวร์ไม่ได้ทำงานผ่าน Hook ตอนติดตั้ง เช่น preinstall หรือ postinstall ตามที่มักตรวจพบได้ง่าย แต่ทำงานเมื่อโมดูลที่ติดมัลแวร์ถูก Import และรันจริงโดย Node.js ทำให้หลบเลี่ยงเครื่องมือตรวจจับจำนวนมากที่เฝ้าระวังเฉพาะขั้นตอนติดตั้งได้
กลไกการทำงานของมัลแวร์
เมื่อโมดูลที่ติดมัลแวร์ถูก Import ระบบจะ:
- ดาวน์โหลด Encrypted Node.js Loader ผ่าน IPFS (InterPlanetary File System)
- บันทึกไฟล์ลงดิสก์ในชื่อ sync.js
- รันไฟล์ดังกล่าวเป็น Process แยกต่างหาก (Detached Process)
Loader นี้บรรจุ Framework ที่ชื่อ Miasma ซึ่งมีมากกว่า 744 โมดูล และรองรับช่องทาง Command and Control ถึง 6 ช่องทางที่เป็นอิสระต่อกัน ได้แก่ HTTP, Nostr Relay, IPFS, BitTorrent DHT, libp2p GossipSub P2P Mesh และ Ethereum Smart Contract ทำให้การ Take Down โครงสร้างพื้นฐานของผู้โจมตีทำได้ยากมาก เนื่องจากแม้ปิดช่องทางใดช่องทางหนึ่ง มัลแวร์ยังสามารถสื่อสารผ่านช่องทางอื่นต่อได้
ความสามารถของ Miasma และข้อมูลที่ถูกขโมย
Framework Miasma มีความสามารถหลากหลาย ครอบคลุม:
- ขโมย Credential จำนวนมาก ได้แก่ GitHub Tokens, npm Tokens, AWS/Azure/Google Cloud Credentials, Kubernetes Tokens, SSH Keys และ Docker Credentials
- ขโมย AI API Keys รวมถึง OpenAI API Keys และ Anthropic API Keys
- AI Tool Poisoning ซึ่งอาจส่งผลต่อความน่าเชื่อถือของเครื่องมือ AI ที่นักพัฒนาใช้งาน
- Lateral Movement ภายในเครือข่ายภายใน (LAN) เพื่อขยายขอบเขตการโจมตีไปยังเครื่องอื่น
- Persistence หลายรูปแบบ ครอบคลุมทั้ง systemd, crontab บน Linux, launchd บน macOS และ Windows Registry Autostart Keys ทำให้มัลแวร์คงอยู่ในระบบแม้รีสตาร์ทเครื่องแล้ว
ผลกระทบที่อาจเกิดขึ้น
- เครื่องนักพัฒนาและระบบ CI/CD ถูกเข้าควบคุม ผ่าน Backdoor ที่ฝังไว้โดย Miasma Framework
- ข้อมูลรับรองสำคัญรั่วไหลจำนวนมาก ครอบคลุมทั้งระบบ Version Control, Cloud Infrastructure และเครื่องมือ AI ที่ใช้งานในองค์กร
- ความเสี่ยงต่อการโจมตีแบบ Supply Chain ต่อเนื่อง หาก Token หรือ Credential ที่ถูกขโมยถูกนำไปใช้เผยแพร่มัลแวร์ในแพ็กเกจอื่นต่อ
- การ Take Down โครงสร้างพื้นฐานของผู้โจมตีทำได้ยาก เนื่องจากมีช่องทาง C2 ถึง 6 ช่องทางที่เป็นอิสระต่อกัน รวมถึงช่องทางแบบกระจายศูนย์อย่าง IPFS และ Ethereum Smart Contract
- ความเสี่ยงต่อ AI Workflow ขององค์กร จากความสามารถ AI Tool Poisoning ซึ่งอาจกระทบความน่าเชื่อถือของผลลัพธ์จากเครื่องมือ AI ที่ใช้ Credential ที่ถูกขโมยไป
สิ่งที่องค์กรควรทำ
- ถอนการใช้งานแพ็กเกจเวอร์ชันที่ได้รับผลกระทบทันที และอัปเดตเป็นเวอร์ชันที่ปลอดภัยที่ AsyncAPI เผยแพร่หลังการแก้ไข
- ล้าง npm/Yarn Cache ทั้งหมด เพื่อให้แน่ใจว่าไม่มีแพ็กเกจที่ติดมัลแวร์หลงเหลืออยู่ในระบบ
- ตรวจสอบเครื่องและเซิร์ฟเวอร์ CI/CD ว่ามีไฟล์ sync.js หรือ Process ที่ผิดปกติหลงเหลืออยู่หรือไม่
- หมุนเวียน (Rotate) ข้อมูลรับรองทั้งหมดที่อาจได้รับผลกระทบทันที โดยเฉพาะ GitHub/npm Tokens, Cloud Credentials, SSH Keys และ AI API Keys ทั้ง OpenAI และ Anthropic
แนวทางลดความเสี่ยงระยะยาว
1. ทำ Dependency Pinning และ Lockfile Verification อย่างเคร่งครัด
เพื่อป้องกันการดึงแพ็กเกจเวอร์ชันใหม่ที่อาจถูกฝังมัลแวร์โดยไม่รู้ตัวในกระบวนการ Build
2. ตรวจสอบสิทธิ์ของ GitHub Actions Workflow โดยเฉพาะรูปแบบ pull_request_target
ซึ่งเป็นรูปแบบ Workflow ที่มีความเสี่ยงสูงหากตั้งค่าไม่รัดกุม เนื่องจากรันด้วยสิทธิ์ของ Repository เป้าหมายแม้ Trigger มาจาก Pull Request ภายนอก
3. ใช้เครื่องมือ Software Composition Analysis (SCA) ตรวจสอบพฤติกรรมของ Dependency แบบต่อเนื่อง
ไม่ใช่ตรวจสอบเฉพาะช่วงติดตั้งเท่านั้น เนื่องจากมัลแวร์ในกรณีนี้ทำงานตอน Runtime ไม่ใช่ตอนติดตั้ง
4. จำกัดสิทธิ์ของ Credential และ Token ที่ใช้ในระบบ CI/CD ตามหลัก Least Privilege
เพื่อลดผลกระทบหาก Token รั่วไหลจากการโจมตีลักษณะนี้
5. ติดตาม Security Advisory จาก npm และผู้ดูแล Package ที่ใช้งานอย่างสม่ำเสมอ
เพื่อทราบทันทีเมื่อมีการเพิกถอนหรือแก้ไขแพ็กเกจที่ได้รับผลกระทบ
วิเคราะห์ในมุมมองจาก TXEC
แคมเปญนี้เป็นตัวอย่างที่ซับซ้อนที่สุดครั้งหนึ่งของการโจมตี Software Supply Chain ในปี 2026 ทั้งในแง่วิธีการเข้าถึงเบื้องต้นผ่านช่องโหว่ Workflow ที่มีการใช้งานอย่างแพร่หลาย และความซับซ้อนของ Payload ที่รองรับช่องทาง C2 ถึง 6 ช่องทางที่เป็นอิสระต่อกัน สะท้อนถึงความพยายามอย่างมากของผู้โจมตีในการสร้างโครงสร้างพื้นฐานที่ทนทานต่อการถูก Take Down
จุดที่ TXEC อยากเน้นย้ำเป็นพิเศษคือการที่มัลแวร์ขโมย AI API Keys ทั้ง OpenAI และ Anthropic ควบคู่ไปกับ Credential ด้าน DevOps ทั่วไป สะท้อนแนวโน้มที่ผู้โจมตีเริ่มมองเห็นมูลค่าของ Credential ที่เกี่ยวข้องกับเครื่องมือ AI มากขึ้นเรื่อยๆ องค์กรที่ใช้ AsyncAPI หรือพึ่งพา npm Package จำนวนมากในกระบวนการพัฒนา ควรตรวจสอบ Dependency ของตนเองทันที และให้ความสำคัญกับการหมุนเวียน Credential อย่างจริงจัง เนื่องจากผลกระทบของแคมเปญนี้ไม่ได้จำกัดอยู่แค่ระบบพัฒนาซอฟต์แวร์ แต่ลุกลามไปถึง Cloud Infrastructure และเครื่องมือ AI ที่องค์กรใช้งานอยู่ด้วย
รู้ก่อน ตรวจพบเร็ว ลดความเสียหายได้มากกว่า
[ แหล่งอ้างอิง: CyberSecurityNews, Microsoft Security Blog, The Hacker News, Wiz, Aikido ]