Wiki · news-analysis · confidence: high · ⚙ auto-approved · fact-checker

ChainDrop เวิร์มบน npm ที่ยึดไฟล์ตั้งค่าของเครื่องมือเขียนโค้ดที่มี AI ช่วย

supply-chainnpmclaude-codevscodeagent-securitycredential-theftupdated 2026-08-16

ChainDrop เวิร์มบน npm ที่ยึดไฟล์ตั้งค่าของเครื่องมือเขียนโค้ดที่มี AI ช่วย

ChainDrop คือเวิร์มขโมยข้อมูลรับรองตัวตนที่แพร่ตัวเองผ่านคลังแพ็กเกจ npm ถูกพบเมื่อวันที่ 4 ส.ค. 2026 สิ่งที่ทำให้มันต่างจากการโจมตีห่วงโซ่อุปทานครั้งก่อนๆ คือมันไม่ได้หยุดอยู่ที่การรัน สคริปต์ตอนติดตั้งแพ็กเกจ แต่เขียนคำสั่งฝังทิ้งไว้ใน ไฟล์ตั้งค่าของเครื่องมือเขียนโค้ดที่มี AI ช่วย เพื่อรอทำงานอีกครั้งตอนมีคนเปิดใช้โปรเจกต์นั้น

เกิดอะไรขึ้น

วันที่ 4 ส.ค. 2026 นักวิจัยความปลอดภัยหลายรายพบการโจมตีห่วงโซ่อุปทานขนาดใหญ่บน npm พร้อมกัน (The Register) รายงานเบื้องต้นมาจาก Aikido Security ส่วนชื่อ ChainDrop มาจาก Microsoft และผู้วิเคราะห์รายอื่น (Infosecurity) ผู้วิเคราะห์หลายรายจัดมันเป็นสายพันธุ์ที่พัฒนาต่อจากเวิร์ม Shai-Hulud ที่เคยระบาดก่อนหน้า (Elastic) ขณะที่ StepSecurity แย้งว่าควรนับเป็นตระกูลใหม่เพราะใช้ช่องทางสั่งการคนละแบบ (StepSecurity)

แพ็กเกจที่ถูกระบุชื่อและมีคนใช้มากที่สุดคือ keyv, flat-cache และ cache-manager ซึ่งเป็นไลบรารีพื้นฐานที่โครงการอื่นดึงไปใช้ต่ออีกหลายชั้น

ตัวเลขที่ต้องอ่านอย่างระวัง

จำนวนแพ็กเกจที่ติดเป็นตัวเลข ณ จังหวะที่นับ ไม่ใช่ยอดรวมสุดท้าย เพราะเวิร์มยังแพร่ต่อหลัง การพบครั้งแรก ตัวเลขที่แต่ละเจ้ารายงานจึงไม่ตรงกัน

ผู้รายงาน จำนวนแพ็กเกจ ยอดดาวน์โหลดต่อเดือน
The Register, CSO, Infosecurity 444 (ณ 18:10 UTC วันที่ 4 ส.ค.) ราว 2,000 ล้านครั้ง
Elastic ไม่ระบุจำนวนแพ็กเกจตรงๆ กว่า 1,300 ล้านครั้ง
Snyk, OPSWAT 452 ชื่อ ครอบคลุม 2,251 เวอร์ชัน ไม่ระบุ
Aikido 868 ชื่อ ครอบคลุม 1,381 เวอร์ชัน ไม่ระบุ

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

กลไกที่ทำให้มันเกี่ยวกับคนใช้ AI โดยตรง

หลังได้รันครั้งแรก ChainDrop จะเขียนคำสั่งลงในไฟล์ตั้งค่าสองไฟล์ภายในคลังโค้ด (Unit 42)

  • ไฟล์ตั้งค่าของ Claude Code โดยตั้งเป็น hook ที่ทำงานตอนเริ่ม session ใหม่ในโฟลเดอร์นั้น
  • ไฟล์รายการงานของ Visual Studio Code โดยตั้งชื่องานให้ดูเหมือนงานเตรียมสภาพแวดล้อมตามปกติ

ผลคือคลังโค้ดที่ติดเชื้อกลายเป็นกับดักที่รอคนมาเปิด แทนที่จะต้องรอให้ใครสั่งติดตั้งแพ็กเกจ ข้อควรระวังสองข้อที่ต้องพูดคู่กันเสมอ ข้อแรกคือฝั่ง Claude Code ทำงานตอนเริ่ม session ในโฟลเดอร์นั้น ไม่ใช่แค่ตอนเปิดไฟล์ดู ข้อสองคือฝั่ง VS Code มีกลไก Workspace Trust คั่นอยู่ตามค่าเริ่มต้น การพูดว่าแค่เปิดโฟลเดอร์ก็โดนทันทีจึงเป็นการตัดเงื่อนไขนี้ทิ้ง

Abby Kearns ซีอีโอของ ActiveState สรุปแก่นของเรื่องนี้ไว้ว่า "What this campaign really found was an execution path that dependency scanning tools were not configured to look at, sitting inside the exact tools engineering organizations have spent two years adopting as fast as they could. This is the first campaign to notice the gap and use it at scale. It will not be the last one." และแนะนำให้ปฏิบัติกับไฟล์ตั้งค่าที่ติดมากับคลังโค้ด เสมือนเป็นสิ่งที่รันคำสั่งได้ เพราะตอนนี้มันเป็นแบบนั้นจริง

มันแพร่ต่อและขโมยอะไร

เมื่อทำงานแล้ว เวิร์มจะไล่ค้นหาข้อมูลรับรองตัวตนจากสามที่ คือไฟล์ตั้งค่าเชลล์ ตัวแปรสภาพแวดล้อม และหน่วยความจำที่กำลังทำงานอยู่ ถ้อยคำของรายงานคือ "It looks in shell configurations, environment variables and even live memory" สิ่งที่มันมองหาคือโทเคนของ npm และกุญแจของ บริการคลาวด์

เมื่อได้โทเคน npm มา วงจรการแพร่ต่อคือดึงไฟล์แพ็กเกจล่าสุดของทุกแพ็กเกจที่โทเคนนั้นเข้าถึงได้ แทรกตัวมัลแวร์กับตัวโหลด เพิ่ม hook ที่ทำงานก่อนติดตั้ง ขยับเลขรุ่นย่อยขึ้นหนึ่งขั้น แล้วเผยแพร่ กลับขึ้นคลัง (SecurityWeek) ส่วนเมื่อเจอกุญแจของ GitHub มันจะเรียก API เพื่อไล่ดูคลังและสาขาทั้งหมดที่เข้าถึงได้ แล้วคอมมิตโค้ดตั้งค่าที่เป็นอันตรายเข้าไปในสาขาเหล่านั้นโดยตรง

เรื่องที่คนเข้าใจผิดบ่อย

ผิด: ไล่อ่านโค้ดในคลังต้นทางแล้วจะไม่เจอร่องรอย การประนีประนอมชุดแรกของ keyv เกิดจาก การผลักไฟล์ที่เป็นอันตรายเข้าสาขาหลักโดยตรง แล้วตัดรุ่นใหม่ออกทันที ทำให้รุ่นที่ถูกวางยาถูก เผยแพร่ขึ้น npm พร้อมลายเซ็นรับรองที่มาที่ออกโดยระบบอัตโนมัติของ GitHub อย่างถูกต้อง (Infosecurity) ร่องรอยจึงมีอยู่ในคลัง สิ่งที่ไม่ช่วยแยกของดีออกจากของเสียคือการดูว่ามีลายเซ็นรับรองหรือไม่ ต่างหาก เพราะของเสียก็มีลายเซ็นครบ

ผิด: แพ็กเกจถูกถอดออกหมดแล้วอย่างรวดเร็ว จบเรื่อง ทีมงาน npm เริ่มถอนรุ่นที่เป็นอันตราย ออกภายในราวสองชั่วโมงหลังพบ และ keyv ถูกย้อนกลับตอนราว 11:15 UTC แต่จำนวนแพ็กเกจ ที่ติดยังเพิ่มขึ้นต่อในวันเดียวกัน เพราะตัวเวิร์มแพร่ต่อผ่านบัญชีนักพัฒนาที่เพิ่งถูกขโมยโทเคน (CSO)

ผิด: คอมมิตที่ลงชื่อผู้เขียนว่า claude แปลว่า Anthropic เกี่ยวข้อง Elastic รายงานว่าคอมมิต ที่เวิร์มสร้างขึ้นใช้ชื่อผู้เขียนว่า claude ปนกับข้อความอ้างอิงนิยายเรื่อง Dune ซึ่งเป็นการ พรางที่มาโดยจงใจ ไม่ใช่การชี้ตัวผู้กระทำ

สิ่งที่ยังไม่มีหลักฐาน

ยังไม่มีการชี้ตัวผู้อยู่เบื้องหลัง Unit 42 ระบุชื่อกลุ่มที่เป็นไปได้หนึ่งกลุ่มแล้วปฏิเสธที่จะยืนยันเอง โดยเขียนว่า "we cannot yet say whether it's operated by the group known as TeamPCP, or by another group adapting the published toolkit" นอกจากนี้ยังไม่พบรหัส CVE ที่ออกให้กับเหตุนี้ แม้จะมีรายการในฐานข้อมูลคำแนะนำด้านความปลอดภัยของ GitHub สำหรับจุดเริ่มต้นที่ keyv เวอร์ชันที่ถูกวางยาแล้วก็ตาม ส่วนหน่วยงานความมั่นคงไซเบอร์ของสิงคโปร์ออกประกาศเตือน เรื่องนี้แล้ว (CSA)

สิ่งที่ทำได้ทันที

  1. ตรวจว่ามีไฟล์ตั้งค่าของ Claude Code หรือไฟล์รายการงานของ VS Code อยู่ในคลังโค้ดที่ได้รับ มาจากคนอื่นหรือไม่ ถ้ามีและไม่ได้เขียนเอง ให้เปิดอ่านก่อนเริ่มทำงานกับโปรเจกต์นั้น
  2. เลิกเก็บโทเคนที่มีสิทธิ์เผยแพร่แพ็กเกจไว้ในตัวแปรสภาพแวดล้อมของเครื่องที่ใช้เปิดโค้ดของคนอื่น
  3. ปฏิบัติกับไฟล์ตั้งค่าที่ติดมากับคลังโค้ดเหมือนโค้ดที่รันได้ คือให้มันผ่านการรีวิวเหมือนโค้ดจริง
  4. อย่าใช้การมีลายเซ็นรับรองที่มาเป็นเกณฑ์เดียวในการตัดสินว่ารุ่นไหนปลอดภัย

คำถามที่ยังไม่มีคำตอบ

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

เชื่อมโยง: gitlost-github-agent-injection · copilot-word-ai-worm-2026 · cursor-ide-rce-2026 · claude-code-auto-mode-default

■ ไม่อยากพลาดของใหม่

อ่านจบแล้วอยากตามเรื่อง AI แบบนี้ต่อทุกวัน เรามีสรุปข่าวภาษาไทยส่งทาง LINE ทุกเช้า กดเพิ่มเพื่อนไว้ได้เลย ไม่มีค่าใช้จ่าย

เพิ่มเพื่อนใน LINE →
QR เพิ่มเพื่อน LINE ของ TRAINIAC AIคอมพิวเตอร์สแกนด้วยมือถือได้เลย