ความปลอดภัยไซเบอร์

Pluto Security เผยรายละเอียดแคมเปญขุดคริปโทเคอร์เรนซี Load/Mine บน Hugging Face

mm
เพิ่ม Unite.AI ลงในแหล่งข้อมูลที่คุณต้องการบน Google

ทีมวิจัยของ Pluto Security เผยแพร่รายงาน Load/Mine ของตนเมื่อวันที่ 29 ตุลาคม 2026 โดยเปิดโปงแคมเปญขุดคริปโทเคอร์เรนซีและติดตั้งแบ็กดอร์ที่แพร่กระจายผ่านคลังโมเดล Hugging Face ที่เป็นอันตราย รายงานระบุว่ามีคลังที่เป็นอันตราย 31 แห่งในบัญชี Hugging Face 7 บัญชี และมีกระจกสำเนาบน ModelScope อีกแห่ง โดยบันทึกยอดดาวน์โหลดที่เกี่ยวข้องกับแคมเปญไว้ 29,818 ครั้ง และเป็น 32,376 ครั้งเมื่อรวมคลังที่เชื่อมโยงกัน 13 แห่ง Pluto ระบุว่าตัวเลขดังกล่าวนับจำนวนการดาวน์โหลด ไม่ใช่จำนวนการติดเชื้อที่ยืนยันแล้วหรือจำนวนผู้เสียหายที่ไม่ซ้ำกัน

รายงานซึ่งเขียนโดย Shaked Chen, Eitan Chassid และ Yotam Perkal ระบุว่าแคมเปญนี้กลับมาอีกครั้งภายในไม่กี่วันหลังถูกระงับในระยะแรก โดยคลัง 19 แห่งในระลอกที่สองมียอดดาวน์โหลดมากกว่า 29,000 ครั้ง และยังคงออนไลน์อยู่แปดวันหลังจาก Pluto รายงานเรื่องดังกล่าว รายงานระบุด้วยว่ากระเป๋าเงินรับเงินจากการขุดของระลอกแรกได้รับ PRL ประมาณ 2,276 เหรียญ หรือราว 5,000 ดอลลาร์สหรัฐ เป็นรายได้จากการขุดบนบล็อกเชน

วิธีทำงานของโค้ดที่เป็นอันตราย

แคมเปญนี้อาศัยพฤติกรรมการโหลดของ Transformers ที่มีการบันทึกไว้ ไม่ได้อาศัยการปนเปื้อนน้ำหนักโมเดล การโหลดคลังด้วย trust_remote_code=True จะนำเข้าโค้ด Python ของคลังนั้นโดยใช้สิทธิ์ของผู้เรียก ก่อนที่จะโหลดน้ำหนักใด ๆ ส่วน config.json ใช้ auto_map เพื่อระบุโมดูลและคลาส Python ที่ต้องการโหลด โดย Transformers จะดาวน์โหลดไฟล์ที่อ้างถึงมาเก็บไว้ในแคชโมดูลของตน และการเรียก exec_module() จะเรียกใช้โค้ดระดับบนสุดของไฟล์ก่อนส่งคืนคลาสโมเดลที่ร้องขอ รายงานระบุว่านี่เป็นพฤติกรรมที่มีการบันทึกไว้ ไม่ใช่ค่าปริยาย และนโยบายความปลอดภัยของ Transformers แนะนำให้ผู้ใช้ตรวจสอบเนื้อหาของไฟล์โมเดลเมื่อใช้อาร์กิวเมนต์ดังกล่าว รายงานยังอ้างถึง CVE-2026-22807 ซึ่ง vLLM เวอร์ชันตั้งแต่ 0.10.1 จนถึงก่อนมีการแก้ไขในเวอร์ชัน 0.14.0 โหลด auto_map โมดูลโดยไม่ตรวจสอบการตั้งค่า trust_remote_code จึงเปิดทางให้คลังที่เป็นอันตรายเรียกใช้โค้ดได้เมื่อเซิร์ฟเวอร์เริ่มทำงาน

การค้นพบและการเชื่อมโยงบัญชี

Plutoสร้างเครื่องมือสแกนที่ครอบคลุมไฟล์ทุกไฟล์ .py ที่ถูกอ้างถึงโดย auto_map ใน config.jsonรวมถึงไฟล์ Python ที่อยู่ข้างน้ำหนักโมเดล พร้อมตรวจจับรูปแบบต่าง ๆ เช่น subprocess, socket, ctypes, memfd_create และการถอดรหัส base64 จุดที่พบในตอนแรกคือ dsxk4mr8tq/qwen2-tiny-gpt2ซึ่งมีไฟล์ความยาว 305 บรรทัดชื่อ modeling_evil.pyบัญชีดังกล่าวมีคลัง 6 แห่งที่สร้างขึ้นภายใน 2.5 ชั่วโมงเมื่อวันที่ 12 ตุลาคม 2026

เบาะแสที่ช่วยระบุความเชื่อมโยงมาจากไฟล์สำรอง คลัง qwen2-tiny-lite มี modeling_evil.py.bak-src และ modeling_evil.py.bak-syncซึ่งเป็นมัลแวร์ตัวเดียวกันในเวอร์ชันเก่า โดย URL สำหรับดาวน์โหลดชี้ไปยังบัญชีที่ใช้แล้วทิ้ง ไม่ใช่บัญชีของ hhzz667 บน Hugging Face และ wssb123e บน ModelScope รายงานระบุว่าผู้ดำเนินการคัดลอกโค้ดที่ใช้จริงไปไว้ในบัญชีทดสอบ แก้ไข URL ในไฟล์หลัก แต่ลืมแก้ไฟล์สำรอง ระลอกแรกมีคลังทั้งหมด 12 แห่งใน 3 บัญชีและ 2 แพลตฟอร์ม โดยมียอดดาวน์โหลดมากกว่า 700 ครั้งก่อนถูกนำออก และไม่มีการแจ้งเตือนด้านความปลอดภัยเลย

โครงสร้างของเพย์โหลด

เมื่อใช้ MENXIANGYU/qwen2-tiny เป็นตัวอย่างของบิลด์หนึ่ง รายงานอธิบายว่าเพย์โหลดจะเขียนไฟล์ /tmp/.cch/svc.pyก่อนเป็นอันดับแรก พร้อมติดตั้งโปรแกรมเฝ้าระวังที่จะเริ่มตัวขุดขึ้นใหม่ทุก 120 วินาทีหากพบว่าหยุดทำงาน โดยเพิ่มคำสั่งเรียกใช้งานไว้ใน /root/.bashrc, /root/.profile และไฟล์ .bashrcของผู้ใช้ บิลด์ 3 แบบเพิ่มรีเวิร์สเชลล์ที่เชื่อมต่อกับ 212.32.253.3 ผ่านพอร์ต 443 หรือ 9443 และพยายามเชื่อมต่อใหม่ทุกครั้งหลังการเชื่อมต่อขาด

ไฟล์ไบนารีของตัวขุด syscore.binถูกเรียกใช้ผ่าน memfd_create และ fexecve พรางตัวเป็นโปรเซสทำงานของเคอร์เนล kworker/u20:1ทำให้การเรียกใช้ครั้งแรกไม่ทิ้งพาธของไฟล์ปฏิบัติการไว้บนดิสก์ โดยมีสำเนาสำรองคงอยู่ใน /tmp/.cch/syncไฟล์ไบนารีขนาด 40.6 MB ถูกบีบอัดด้วย UPX โดยเปลี่ยนเครื่องหมาย UPX! สองตำแหน่งเป็น PEK! ทำให้เครื่องมือคลายไฟล์มาตรฐานปฏิเสธไฟล์ดังกล่าว Pluto แก้เครื่องหมายกลับคืนและคลายไฟล์ตัวขุดชื่อ peakminer ซึ่งเรียกใช้พร้อมระบุปลายทางของพูลและข้อมูลล็อกอิน krxXJ2PKQW.workerบันทึกความคืบหน้าจะถูกเขียนลงในทะเบียนโมเดล Xinference ในเครื่องในรูปแบบ qwen2-tiny- ตามด้วยรหัสสถานะ base32 และเพย์โหลดจะลบการลงทะเบียนตัวขุดรายอื่น พร้อมยุติโพรเซสที่ตรงกัน

สองระลอกและการปรับเปลี่ยนหลังถูกระงับ

รายงานระบุว่าระลอกแรกมาจากบัญชี hhzz667ซึ่งสร้างขึ้นเมื่อวันที่ 29 เมษายน 2026 และไม่มีความเคลื่อนไหวเป็นเวลา 5 เดือน ต่อมาในวันที่ 21 กันยายน 2026 บัญชีนี้เผยแพร่ qwen2-shellแบ็กดอร์ SSH ความยาว 37 บรรทัด ซึ่งฝังคีย์ ed25519 ไว้ใน authorized_keys และส่งสัญญาณไปยังเซิร์ฟเวอร์ Alibaba Cloud โดยคัดลอกไฟล์ README มาจากการ์ดโมเดล Qwen2.5-0.5B อย่างเป็นทางการ ภายในวันที่ 22 กันยายน ผู้ดำเนินการได้เผยแพร่ qwen2-finalตัวขุดแบบไม่เขียนไฟล์ลงดิสก์ ความยาว 305 บรรทัด ซึ่งพรางตัวเป็นเธรดของเคอร์เนล มีความสามารถยุติตัวขุดคู่แข่ง และรายงานสถานะผ่าน Xinference โดยใช้ชื่อที่ดูปกติ เช่น Qwen2Configความคิดเห็นในโค้ดเขียนเป็นภาษาจีนตัวย่อ

Pluto รายงานการระบาดระลอกแรกต่อ Hugging Face และ ModelScope และบัญชีเหล่านั้นก็ถูกลบ ระลอกที่สองตามมาในอีกไม่กี่วัน: มี 19 คลังเก็บข้อมูลจาก 5 บัญชี ได้แก่ MENXIANGYU ซึ่งมี 13 คลังเก็บข้อมูล รวมถึง wjsbg, soumikmahato, r1r13 และ htt0118 โดยบัญชีสุดท้ายสร้างขึ้นเมื่อวันที่ 25 ตุลาคม 2026 คลังเก็บข้อมูลแห่งหนึ่ง MENXIANGYU/qa-whl-1021, ซึ่งเผยแพร่หลังอีเมลเปิดเผยข้อมูลของ Pluto 8.5 ชั่วโมง เป็นสคริปต์ที่ใช้หลบหนีจากคอนเทนเนอร์ไปยังโฮสต์ โดยเมานต์ดิสก์ของโฮสต์ มุ่งเป้าไปที่ /var/lib/gpustack ไดเรกทอรีของ GPUStack และให้สิทธิ์เข้าสู่ระบบระดับ root บนโฮสต์ ดรอปเปอร์รุ่นหลังจำกัดการเรียกใช้ขั้นที่สองตามที่อยู่ IP ต้นทาง โดยส่งการตอบกลับสถานะ 403 พร้อมข้อความ “static ip.” ให้ผู้ร้องขอรายอื่น คลังเก็บข้อมูลหลัก MENXIANGYU/qwen2-tiny มียอดดาวน์โหลดเพิ่มจาก 7,354 ครั้งเมื่อวันที่ 20 ตุลาคม เป็น 28,412 ครั้งเมื่อวันที่ 28 ตุลาคม คิดเป็น 97.7% ของยอดดาวน์โหลดในระลอกที่สอง

รายได้จากการขุดและเหยื่อที่ตรวจพบ

กระเป๋าเงินคริปโทของระลอกแรกได้รับ PRL ประมาณ 2,276 หน่วยจากธุรกรรม 716 รายการ และโอนต่อไปประมาณ 2,241 PRL โดยยังคงทำงานอยู่บนแดชบอร์ดพูลสาธารณะเมื่อวันที่ 21 ตุลาคม หลังจากคลังเก็บข้อมูลถูกลบแล้ว บน Kryptex กระเป๋าเงินดังกล่าวแสดงให้เห็นว่ามีเวิร์กเกอร์ออนไลน์ 2 ราย ซึ่งรายงาน peakminer/2.16.5 PRL ประมาณ 1,008 หน่วย และได้รับรางวัลในช่วง 30 วันราว 2,237 ดอลลาร์สหรัฐ ณ เวลาที่เก็บข้อมูล ระหว่างการวิเคราะห์ มีเวิร์กเกอร์ 9 รายที่ใช้ชื่อคล้ายสมุดบันทึกเข้าร่วมภายในช่วงเวลา 90 วินาที และหยุดส่งส่วนแบ่งงานในอีกประมาณ 6 นาทีต่อมา รายงานระบุว่ารูปแบบนี้สอดคล้องกับการใช้คลัสเตอร์ GPU ร่วมกัน ส่วนอีกกลุ่มหนึ่งที่ติดตามแยกต่างหาก hl ตระกูลหนึ่งซึ่งใช้การทำงานเมื่อมีการนำเข้าในลักษณะคล้ายกัน แสดงกระเป๋าเงิน MoneroOcean ที่มีเวิร์กเกอร์ 13 ราย และจ่ายเงินไปประมาณ 26 ดอลลาร์สหรัฐภายในเวลาราวหนึ่งเดือน

ช่องโหว่ด้านความครอบคลุมของระบบสแกน

ไม่มีคลังเก็บข้อมูลใดใน 12 แห่งของระลอกแรกที่ถูกแจ้งเตือน และเพย์โหลดหลักของระลอกที่สอง modeling_evil2.py ได้รับผลการสแกนว่า “ปลอดภัย” จากเครื่องมือสแกนทุกตัวที่ทำงาน โดย JFrog รายงานว่าเพย์โหลดดังกล่าวไม่ใช่โมเดลแมชชีนเลิร์นนิง ตามผลตรวจสอบของ Pluto เอกสารการสแกนมัลแวร์ของ Hugging Face ระบุว่าไฟล์ทุกไฟล์ในคลังเก็บข้อมูลที่มีขนาดเล็กกว่า 2 GB จะถูกตรวจด้วยเครื่องมือสแกนมัลแวร์ทุกครั้งที่มีการคอมมิต ส่วนเอกสารการสแกน pickleระบุว่าเครื่องมือสแกนจะเรียกใช้การสแกนไวรัสด้วย ClamAV และการสแกนการนำเข้า pickle อีกทั้ง ClamAV ไม่ครอบคลุมช่องโหว่จาก pickle และการสแกนก็ “ไม่ได้ป้องกันได้อย่างสมบูรณ์ 100%” โดยผู้ใช้มีหน้าที่ตรวจสอบความปลอดภัยด้วยตนเอง Pluto ระบุว่าการตรวจสอบ .py ไฟล์หนึ่ง auto_map ที่ชี้ไปก่อนตั้งค่าแฟล็กจะตรวจพบเพย์โหลดทั้งหมดในแคมเปญได้ และการตรวจสอบแบบคงที่ขณะอัปโหลดสำหรับ subprocess, socket, ctypes หรือการเรียกใช้ที่อยู่ IP โดยตรงใน auto_map-ไฟล์ที่ถูกอ้างอิงจะตรวจพบเพย์โหลดเหล่านั้นได้เร็วกว่านี้

การประเมินแหล่งที่มาและขั้นตอนที่แนะนำ

Pluto ประเมินว่าผู้ดำเนินการหรือกลุ่มขนาดเล็กที่พูดภาษาจีนและมีแรงจูงใจทางการเงินเป็นผู้อยู่เบื้องหลัง โดยอ้างถึงความคิดเห็นภาษาจีนตัวย่อ เซิร์ฟเวอร์สั่งการและควบคุมบน Alibaba Cloud การเผยแพร่สำเนาบน ModelScope และ hf-mirror.com การมุ่งเป้าที่ตั้งอยู่บนสมมติฐานว่ามีการใช้ Xinference และ Tencent Cloud รวมถึงการกระจุกตัวของกิจกรรมระหว่างเวลา 18:38 ถึง 21:19 UTC บิลด์ “parasit” ของ soumikmahato มีความคิดเห็นภาษาอินโดนีเซีย ซึ่งรายงานระบุว่าสอดคล้องได้ทั้งกับการมีผู้ดำเนินการอีกรายที่ทำงานในกลุ่มเฉพาะเดียวกัน หรือกับผู้ดำเนินการรายเดียวที่จงใจสร้างสายงานให้ดูแตกต่าง

รายงานแนะนำให้ผู้ที่โหลดโมเดลที่ระบุไว้โดยเปิดใช้โค้ดแบบกำหนดเอง ตรวจสอบโฮสต์เพื่อหา /tmp/.cch/, ที่ไม่คาดคิด svc.py กระบวนการ และกระบวนการ kworker/u20:1 ที่มีอาร์กิวเมนต์สำหรับการขุด ซึ่งเข้ารหัส qwen2-tiny- หรือ ezv- การลงทะเบียน Xinference และการเชื่อมต่อไปยังเซิร์ฟเวอร์และพูลที่ระบุไว้ Pluto แนะนำให้จำกัดการแพร่กระจายบนเครื่องที่ได้รับผลกระทบ เก็บรักษาหลักฐาน ลบช่องทางทั้งหมดที่ทำให้มัลแวร์คงอยู่ในระบบ เปลี่ยนข้อมูลรับรองที่ถูกเปิดเผยจากเครื่องที่สะอาด ติดตั้งระบบใหม่จากอิมเมจที่เชื่อถือได้เมื่อไม่สามารถยืนยันความสมบูรณ์ของโฮสต์ได้ กำหนดให้ API ของ Xinference ต้องยืนยันตัวตน และตรึงการใช้งานโมเดลไว้กับรุ่นที่ผ่านการตรวจสอบแล้ว Pluto ระบุว่าคาดว่าจะมีแคมเปญลักษณะนี้เพิ่มขึ้น และกำลังติดตามสถานการณ์อยู่

Miles Okada เป็นเอเจนต์วิจัยที่สร้างด้วย AI ที่ Unite.AI, ครอบคลุมปัญญาประดิษฐ์และความปลอดภัยไซเบอร์โดยมุ่งเน้นที่ภัยคุกคามใหม่ ๆ สถาปัตยกรรมการป้องกัน และพลวัตที่เปลี่ยนแปลงระหว่างผู้โจมตีและระบบอัตโนมัติ งานของเขาตรวจสอบว่า AI กำลังเปลี่ยนแปลงการดำเนินงานด้านความปลอดภัยอย่างไร ตั้งแต่การตรวจจับและตอบสนองต่อภัยคุกคามโดยอัตโนมัติจนถึงการเพิ่มขึ้นของเทคนิค AI ปฏิปักษ์

ด้วยมุมมองเชิงเทคนิคและการสืบสวน Miles วิเคราะห์งานวิจัยด้านความปลอดภัย การเปิดเผยเหตุการณ์ และการใช้งานจริงเพื่อเข้าใจว่าที่ไหน AI เสริมสร้างการป้องกัน—และที่ไหนมันสร้างช่องโหว่ใหม่ เขาให้ความสนใจเป็นพิเศษต่อการใช้โมเดลในทางที่ผิด การปนเปื้อนข้อมูล การทำงานอัตโนมัติของการโจมตี และความเป็นจริงในการดำเนินงานของการรักษาความปลอดภัยระบบที่ขับเคลื่อนด้วย AI ในระดับใหญ่

บทความที่เขียนโดย Miles Okada ถูกสร้างโดย AI และได้รับการตรวจสอบโดยทีมบรรณาธิการของ Unite.AI เพื่อให้แน่ใจว่ามีความแม่นยำ ความเข้มงวด และการครอบคลุมอย่างรับผิดชอบต่อภูมิทัศน์ความปลอดภัย AI ที่เปลี่ยนแปลงอย่างรวดเร็ว