เวิร์มแบบจำลองตัวเองของ npm ที่เรียกว่า SANDWORM_MODE โจมตีแพ็คเกจมากกว่า 19 แพ็คเกจ ขโมย private keys, BIP39 mnemonics, ไฟล์กระเป๋าเงินและ LLM API keys จากสภาพแวดล้อมการพัฒนา
การโจมตีห่วงโซ่อุปทานของ npm แบบสดๆ กำลังกวาดล้างสภาพแวดล้อมของนักพัฒนาในขณะนี้ ทีมวิจัยภัยคุกคามของ Socket ค้นพบสิ่งที่พวกเขาติดตามว่า SANDWORM_MODE ซึ่งเป็นเวิร์มที่จำลองตัวเองกระจายไปทั่วแพ็คเกจ npm ที่เป็นอันตรายอย่างน้อย 19 แพ็คเกจที่เชื่อมโยงกับนามแฝงของผู้เผยแพร่สองราย SocketSecurity ได้แจ้งเตือนบน X ว่านี่เป็นการโจมตีห่วงโซ่อุปทานที่ใช้งานอยู่ซึ่งขโมยความลับของการพัฒนาและ CI แทรก GitHub workflows วางยาพิษ AI toolchains และเก็บเกี่ยว LLM API keys
แคมเปญนี้ยืมมาโดยตรงจากตระกูลเวิร์ม Shai-Hulud Private keys จะถูกขโมยก่อน ไม่มีการตั้งเวลา ไม่มีการหน่วงเวลา สิ่งประดิษฐ์คริปโตที่ค้นพบเมื่อนำเข้าจะถูกขโมยข้อมูลทันทีผ่านจุดปลายทางที่กำหนดไว้ก่อนที่ขั้นตอนเพย์โหลดอื่นๆ จะถูกเรียกใช้
คุณควรรู้: ภัยคุกคามด้านความปลอดภัยของกระเป๋าเงินกำลังเพิ่มขึ้น ต้องอ่าน: Trust Wallet Security Hack: วิธีปกป้องทรัพย์สินของคุณ
เวิร์มทำงานด้วยการออกแบบสองขั้นตอน ขั้นตอนที่ 1 เริ่มทันทีเมื่อนำเข้า รวบรวม npm tokens, GitHub tokens, ความลับของสภาพแวดล้อม และคีย์คริปโตผ่านการอ่านไฟล์เท่านั้น ไม่มีการรันเชลล์ ไม่มีเสียง BIP39 mnemonics, Ethereum private keys, Solana byte arrays, Bitcoin WIF keys และสตริง xprv ทั้งหมดจะถูกกวาดไปในรอบแรก
คีย์คริปโตออกจากเครื่องทันทีผ่าน HTTPS POST ไปยัง Cloudflare Worker ที่ pkg-metrics[.]official334[.]workers[.]dev/drain นั่นเกิดขึ้นก่อนการตรวจสอบการตั้งเวลา ก่อนที่ขั้นตอนที่ 2 จะโหลด
ขั้นตอนที่ 2 อยู่หลังการหน่วงเวลา 48 ชั่วโมง ซึ่งได้มาจากแฮช MD5 ของชื่อโฮสต์และชื่อผู้ใช้ มันลึกกว่านั้น: ตัวจัดการรหัสผ่านผ่าน Bitwarden, 1Password และ LastPass CLIs, ที่เก็บ SQLite ในเครื่องรวมถึง Apple Notes และ macOS Messages และการสแกนระบบไฟล์แบบเต็มสำหรับไฟล์กระเป๋าเงิน ในสภาพแวดล้อม CI ประตูนั้นหายไปโดยสิ้นเชิง เพย์โหลดเต็มรูปแบบจะเริ่มทำงานบน GITHUB_ACTIONS, GITLAB_CI, CIRCLECI, JENKINS_URL และ BUILDKITE โดยไม่ต้องรอเลย
ตาม SocketSecurity บน X เวิร์มยังแทรก GitHub workflows และวางยาพิษ AI toolchains รายละเอียดที่ยืนยันใน การเปิดเผยทางเทคนิคอย่างเต็มรูปแบบของ Socket
น่าอ่านเช่นกัน: Bitcoin มูลค่า 21 ล้านดอลลาร์ที่ถูกยึดถูกส่งคืนหลังจากหน่วยงานหยุดธุรกรรม
แพ็คเกจสามแพ็คเกจปลอมตัวเป็น Claude Code แพ็คเกจหนึ่งกำหนดเป้าหมายไปที่ OpenClaw ซึ่งเป็นเอเจนต์ AI ที่มีดาวใน GitHub มากกว่า 210,000 ดวง โมดูล McpInject ของเวิร์มปรับใช้เซิร์ฟเวอร์ MCP ที่เป็นอันตรายใน Claude Code, Claude Desktop, Cursor, VS Code Continue และ Windsurf configs บนดิสก์ แต่ละอันจะได้รับรายการเครื่องมือปลอมที่ชี้ไปยังเซิร์ฟเวอร์ที่ซ่อนอยู่และเป็นอันตราย
เซิร์ฟเวอร์นั้นมีการแทรกพรอมต์ที่ฝังอยู่ซึ่งบอกผู้ช่วย AI ให้อ่าน SSH keys, AWS credentials, npm tokens และความลับของสภาพแวดล้อมอย่างเงียบๆ ก่อนทุกการเรียกเครื่องมือ โมเดลไม่เคยบอกผู้ใช้ การแทรกบล็อกมันอย่างชัดเจนจากการทำเช่นนั้น
ผู้ให้บริการ LLM เก้ารายถูกกำหนดเป้าหมายสำหรับการเก็บเกี่ยว API key: OpenAI, Anthropic, Google, Groq, Together, Fireworks, Replicate, Mistral และ Cohere คีย์ที่ดึงมาจากตัวแปรสภาพแวดล้อมและไฟล์ .env ถูกตรวจสอบความถูกต้องกับรูปแบบที่ทราบก่อนการขโมยข้อมูล
การขโมยข้อมูลทำงานสามช่องทางแบบต่อเนื่อง HTTPS ไปยัง Cloudflare Worker ก่อน จากนั้นการอัปโหลด GitHub API ที่ได้รับการตรวจสอบสิทธิ์ไปยังที่เก็บส่วนตัวโดยใช้การเข้ารหัส double-base64 จากนั้นการสร้างอุโมงค์ DNS ผ่านคำค้นหาที่เข้ารหัส base32 ไปยัง freefan[.]net และ fanfree[.]net อัลกอริทึมการสร้างโดเมนที่มีเมล็ด "sw2025" ให้การสำรองข้ามสิบ TLDs หากทุกอย่างล้มเหลว
น่าดู: Glassnode แจ้งเตือนความต้องการ BTC หมดไป
นามแฝงของผู้เผยแพร่สองรายที่อยู่เบื้องหลังแคมเปญคือ official334 และ javaorg แพ็คเกจที่เป็นอันตราย 19 แพ็คเกจที่ยืนยันแล้วประกอบด้วย suport-color@1.0.1, claud-code@0.2.1, cloude@0.3.0, crypto-locale@1.0.0, secp256@1.0.0 และ scan-store@1.0.0 เป็นต้น แพ็คเกจหลับอีกสี่แพ็คเกจ (ethres, iru-caches, iruchache และ uudi) ยังไม่แสดงเพย์โหลดที่เป็นอันตราย
npm ได้ลบแพ็คเกจที่เป็นอันตรายแล้ว GitHub ปิดโครงสร้างพื้นฐานของผู้โจมตี Cloudflare ดึง workers ออกไป แต่ผู้ป้องกันจำเป็นต้องดำเนินการตอนนี้ไม่ว่ากรณีใดๆ
หากแพ็คเกจใดๆ เหล่านี้ทำงานในสภาพแวดล้อมของคุณ ให้ถือว่าเครื่องนั้นถูกบุกรุก หมุนเวียน npm และ GitHub tokens หมุนเวียนความลับ CI ทั้งหมด ตรวจสอบ .github/workflows/ สำหรับการเพิ่ม pull_request_target ที่ซีเรียลไลซ์ ${{ toJSON(secrets) }} ตรวจสอบการตั้งค่าเทมเพลต git hook ทั่วโลกโดยรัน git config –global init.templateDir ตรวจสอบการกำหนดค่าผู้ช่วย AI สำหรับรายการ mcpServers ที่ไม่คาดคิด เครื่องยนต์โพลีมอร์ฟิกที่หยุดทำงานโดยใช้ deepseek-coder:6.7b ถูกฝังอยู่ในเวิร์มและถูกปิดในบิลด์นี้ ซึ่งหมายความว่าตัวแปรในอนาคตอาจเขียนโค้ดตัวเองใหม่เพื่อหลีกเลี่ยงการตรวจจับ
สวิตช์ตายก็อยู่ในโค้ดด้วย ปิดใช้งานตอนนี้ เมื่อถูกกระตุ้น มันจะรัน find ~ -type f -writable และทำลายทุกไฟล์ที่สามารถเขียนได้ในไดเรกทอรีหลัก ผู้ดำเนินการยังคงทำซ้ำอยู่
โพสต์ เวิร์ม npm ขโมยคีย์คริปโต โจมตี 19 แพ็คเกจ ปรากฏครั้งแรกบน Live Bitcoin News

