6 คะแนน โดย darjeeling 6 일 전 | 4 ความคิดเห็น | แชร์ทาง WhatsApp

ทีมวิจัยความปลอดภัยของ JFrog พบว่า @bitwarden/cli เวอร์ชัน 2026.4.0 บน npm ถูกยึดไปใช้งานโดยผู้ไม่หวังดี โดยยังคงเก็บเมตาดาตาและการสร้างแบรนด์ของ Bitwarden ไว้เหมือนเดิม แต่สลับเฉพาะสคริปต์ preinstall และจุดเริ่มต้นของไบนารี bw ให้เป็นตัวโหลดอันตราย (bw_setup.js)

วิธีการทำงาน

ระหว่างการติดตั้ง ตัวโหลดจะดาวน์โหลดรันไทม์ Bun จาก GitHub ก่อน แล้วจึงรันเพย์โหลด JavaScript ที่ถูกทำให้อ่านยาก (bw1.js) การใช้ Bun แทน Node.js เองก็เป็นกลยุทธ์เพื่อหลบเลี่ยงการตรวจจับ

เพย์โหลดนี้เก็บข้อมูลรับรองจากเครื่องนักพัฒนาและสภาพแวดล้อม CI อย่างกว้างขวางผ่านตัวเก็บข้อมูล 3 แบบ

  • ตัวเก็บข้อมูลระบบไฟล์: คีย์ SSH (~/.ssh/), ข้อมูลรับรอง Git (.git-credentials), โทเค็น npm (~/.npmrc), .env, ข้อมูลรับรอง AWS (~/.aws/credentials), ข้อมูลรับรอง GCP (~/.config/gcloud/credentials.db) เป็นต้น
  • ตัวเก็บข้อมูลเชลล์/สภาพแวดล้อม: รันคำสั่ง gh auth token, สแกน process.env เพื่อจับแพตเทิร์นของโทเค็น GitHub และ npm
  • ตัวเก็บข้อมูล GitHub Actions: ฉีดเวิร์กโฟลว์เข้าไปในรีโปที่โทเค็นมีสิทธิ์เข้าถึง เพื่อดึง Actions secrets ออกมาด้วย

สิ่งที่น่ากังวลเป็นพิเศษคือ มีการรวม ไฟล์ตั้งค่าเครื่องมือ AI และ MCP อย่าง ~/.claude.json, ~/.claude/mcp.json, ~/.kiro/settings/mcp.json ไว้ในเป้าหมายการเก็บข้อมูลด้วย

เส้นทางการรั่วไหลแบบสองชั้น

ข้อมูลที่ขโมยมาได้จะถูกบีบอัดด้วย gzip แล้วส่งออกหลังผ่านการเข้ารหัสแบบไฮบริด AES-256-GCM + RSA-OAEP

  • เส้นทางหลัก: HTTPS POST ไปยัง audit.checkmarx.cx/v1/telemetry (ปลอมตัวเป็นบริการความปลอดภัยที่ดูน่าเชื่อถือ)
  • เส้นทางสำรอง (การนำ GitHub ไปใช้ในทางที่ผิด): หากเส้นทางหลักล้มเหลว จะค้นหา PAT ที่ถูกเข้ารหัส Base64 สองชั้นจากข้อความคอมมิตบน GitHub โดยใช้มาร์กเกอร์ LongLiveTheResistanceAgainstMachines จากนั้นกู้คืนโดเมนสำหรับการส่งข้อมูลออกสำรองแบบไดนามิกผ่านมาร์กเกอร์ beautifulcastle และการตรวจสอบลายเซ็น RSA สุดท้ายจะสร้างรีโปใหม่ในบัญชี GitHub ของเหยื่อ และอัปโหลด JSON ที่เข้ารหัสแล้วไปยังไดเรกทอรี results/

การตรวจสอบว่าติดเชื้อหรือไม่

เมตาดาตาของ Bitwarden CLI ปกติที่ฝังมาเป็น 2026.3.0 แต่รูทของแพ็กเกจระบุเป็น 2026.4.0 ทำให้วิเคราะห์ได้ว่าไม่ได้มาจาก build pipeline ปกติ แต่มีการครอบเลเยอร์อันตรายจากภายนอก

วิธีรับมือ

หากมีประวัติการติดตั้งเวอร์ชันดังกล่าว ควรถือว่าข้อมูลรับรองทั้งหมดบนโฮสต์นั้นรั่วไหลแล้ว

  • npm uninstall -g @bitwarden/cli และล้างแคช
  • หมุนเปลี่ยน GitHub PAT, โทเค็น npm, AWS access key ทั้งหมด
  • ตรวจสอบ audit log ของ Azure Key Vault / GCP Secret Manager
  • ตรวจสอบประวัติการรันที่ไม่ได้รับอนุญาตในเวิร์กโฟลว์ GitHub Actions
  • บล็อกเครือข่ายไปยัง audit.checkmarx.cx และ 94.154.172.43
  • ตรวจสอบว่ามีการเปิดเผยข้อมูลอ่อนไหวในไฟล์ตั้งค่าเครื่องมือ AI (เช่น Claude, Kiro) หรือไม่

นี่เป็นการโจมตีที่ซับซ้อน ซึ่งก้าวไกลกว่ามัลแวร์ขโมยข้อมูลรับรอง npm ทั่วไป โดยผสมผสานการโจมตีซัพพลายเชน + การขโมยซีเคร็ตหลายขั้น + การทำให้โครงสร้างพื้นฐานของ GitHub กลายเป็นอาวุธ

4 ความคิดเห็น

 
savvykang 6 일 전

THE MOST TRUSTED PASSWORD MANAGER
ปกป้องจากแฮกเกอร์และการรั่วไหลของข้อมูล

สโลแกนบนหน้าเว็บไซต์บริษัทดูไร้ความหมาย เลยยกเลิกใช้ไปแล้ว

 
t7vonn 6 일 전

ขนลุกเลย;; ใช้อยู่ทุกวันแท้ๆ โชคดีที่ฝั่ง homebrew ไม่โดนขโมยไปด้วย
เฮ้อ… สงสัยต้องลบ npm global libraries ทั้งหมดออกไปก่อน หรือไม่ก็ปิด pre/postinstall ไปเลย

 
lamanus 5 일 전

Homebrew เปลี่ยนมาเป็นปิด postinstall โดยค่าเริ่มต้นและอนุญาตเป็นข้อยกเว้นแทนแล้ว จะบอกว่าโชคดีก็ได้ เพราะผมอัปเดตตามแท็กของรีโปโดยไม่ได้ดู npm เลย เวอร์ชันนี้ก็เลยรอดไปได้พอดี ช่วงหลังมานี้ npm ก็มีช่วงคูลดาวน์เข้ามาด้วย ดังนั้นถึงจะดูจาก npm ก็น่าจะไม่ได้ถูกเผยแพร่ออกมาอยู่ดี

 
sanghunka 6 일 전

โห อันนี้ช็อกพอสมควรเลยนะ