Κυβερνοασφάλεια
Η Pluto Security αποκαλύπτει λεπτομέρειες για εκστρατεία κρυπτοεξόρυξης Load/Mine στο Hugging Face

Η ερευνητική ομάδα της Pluto Security δημοσίευσε στις 29 Οκτωβρίου 2026 τη δική της έκθεση Load/Mine, αποκαλύπτοντας μια εκστρατεία εξόρυξης κρυπτονομισμάτων και εγκατάστασης κερκόπορτας, η οποία διανεμόταν μέσω κακόβουλων αποθετηρίων μοντέλων στο Hugging Face. Η έκθεση καταγράφει 31 κακόβουλα αποθετήρια σε επτά λογαριασμούς στο Hugging Face, καθώς και ένα αποθετήριο-αντίγραφο στο ModelScope, με 29,818 καταγεγραμμένες λήψεις της εκστρατείας και 32,376 όταν συμπεριλαμβάνονται 13 συνδεδεμένα αποθετήρια. Η Pluto διευκρινίζει ότι ο αριθμός αφορά λήψεις και όχι επιβεβαιωμένες μολύνσεις ή μοναδικά θύματα.
Σύμφωνα με την έκθεση, την οποία συνέταξαν οι Shaked Chen, Eitan Chassid και Yotam Perkal, η εκστρατεία επέστρεψε λίγες ημέρες μετά την αρχική απομάκρυνσή της: 19 αποθετήρια του δεύτερου κύματος κατέγραψαν περισσότερες από 29.000 λήψεις και παρέμεναν ενεργά οκτώ ημέρες αφότου η Pluto τα ανέφερε. Το πορτοφόλι πληρωμών του πρώτου κύματος έλαβε περίπου 2.276 PRL, δηλαδή περίπου 5.000 δολάρια, από εξόρυξη on-chain, σύμφωνα με την έκθεση.
Πώς εκτελείται ο κακόβουλος κώδικας
Η εκστρατεία βασίζεται σε μια τεκμηριωμένη συμπεριφορά φόρτωσης του 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· ο λογαριασμός περιλάμβανε έξι αποθετήρια, τα οποία δημιουργήθηκαν μέσα σε διάστημα 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 αποθετήρια σε τρεις λογαριασμούς και δύο πλατφόρμες, με περισσότερες από 700 λήψεις να έχουν καταγραφεί πριν από την αφαίρεσή τους και καμία επισήμανση ασφαλείας.
Ανατομία του ωφέλιμου φορτίου
Λαμβάνοντας το MENXIANGYU/qwen2-tiny ως αντιπροσωπευτική έκδοση, η έκθεση περιγράφει ένα ωφέλιμο φορτίο που αρχικά δημιουργεί το /tmp/.cch/svc.py, έναν μηχανισμό επιτήρησης που επανεκκινεί έναν miner που λείπει κάθε 120 δευτερόλεπτα, με άγκιστρα εκκίνησης να προστίθενται στο /root/.bashrc, /root/.profile και στο αρχείο του χρήστη .bashrc. Τρεις εκδόσεις προσθέτουν ένα αντίστροφο κέλυφος που συνδέεται στη διεύθυνση 212.32.253.3 στις θύρες 443 ή 9443 και επιχειρεί ξανά τη σύνδεση μετά από κάθε αποσύνδεση.
Το δυαδικό αρχείο του miner, syscore.bin, εκκινείται μέσω του memfd_create και fexecve μεταμφιεσμένο ως διεργασία πυρήνα kworker/u20:1, αφήνοντας χωρίς εκτελέσιμη διαδρομή στον δίσκο την πρώτη εκκίνηση, ενώ ένα εφεδρικό αντίγραφο παραμένει στο /tmp/.cch/sync. Το δυαδικό αρχείο των 40,6 MB έχει συμπιεστεί με UPX και περιλαμβάνει δύο δείκτες UPX! που έχουν αλλαχθεί σε PEK! έτσι ώστε το τυπικό εργαλείο αποσυμπίεσης να το απορρίπτει· η Pluto επανέφερε τους δείκτες και αποσυμπίεσε έναν miner με το όνομα peakminer, ο οποίος εκκινήθηκε με διευθύνσεις τελικών σημείων pool και το όνομα σύνδεσης krxXJ2PKQW.worker. Οι αποδείξεις προόδου εγγράφονται στο τοπικό μητρώο μοντέλων του Xinference ως qwen2-tiny- ακολουθούμενες από κωδικούς κατάστασης base32, ενώ το ωφέλιμο φορτίο διαγράφει τις καταχωρίσεις ανταγωνιστικών miner και τερματίζει τις αντίστοιχες διεργασίες.
Δύο κύματα και προσαρμογή μετά την απομάκρυνση
Η έκθεση αποδίδει το πρώτο κύμα στον λογαριασμό hhzz667, που δημιουργήθηκε στις 29 Απριλίου 2026 και παρέμεινε ανενεργός για πέντε μήνες. Στις 21 Σεπτεμβρίου 2026 δημοσίευσε το qwen2-shell, μια κερκόπορτα SSH 37 γραμμών που τοποθετούσε ένα κλειδί ed25519 στο authorized_keys με σήμα προς έναν διακομιστή της Alibaba Cloud· το README του είχε αντιγραφεί από την επίσημη κάρτα μοντέλου Qwen2.5-0.5B. Έως τις 22 Σεπτεμβρίου, ο χειριστής είχε κυκλοφορήσει το qwen2-final, έναν miner 305 γραμμών χωρίς αρχεία, με μεταμφίεση σε διεργασία πυρήνα, μηχανισμό εξόντωσης ανταγωνιστικών miner και αναφορά κατάστασης στο Xinference, χρησιμοποιώντας αθώα ονόματα όπως το Qwen2Config. Τα σχόλια στον κώδικα ήταν γραμμένα στα απλοποιημένα κινεζικά.
Η Pluto ανέφερε την πρώτη αυτή σειρά περιστατικών στις Hugging Face και ModelScope, και οι λογαριασμοί καταργήθηκαν. Η δεύτερη σειρά ακολούθησε μέσα σε λίγες ημέρες: 19 αποθετήρια σε πέντε λογαριασμούς, μεταξύ των οποίων ο MENXIANGYU με 13 αποθετήρια, καθώς και οι wjsbg, soumikmahato, r1r13 και htt0118, ο τελευταίος από τους οποίους δημιουργήθηκε στις 25 Οκτωβρίου 2026. Ένα αποθετήριο, MENXIANGYU/qa-whl-1021, που δημοσιεύτηκε 8,5 ώρες μετά το email αποκάλυψης της Pluto, είναι ένα σενάριο διαφυγής από κοντέινερ σε κεντρικό υπολογιστή, το οποίο προσαρτά δίσκους του κεντρικού υπολογιστή και στοχεύει στον κατάλογο του GPUStack /var/lib/gpustack και παρέχει σύνδεση ως root στον κεντρικό υπολογιστή. Ένα μεταγενέστερο πρόγραμμα λήψης περιορίζει το δεύτερο στάδιό του βάσει της διεύθυνσης IP προέλευσης, επιστρέφοντας απόκριση 403 με το κείμενο «static ip.» σε άλλα αιτήματα. Το εμβληματικό αποθετήριο MENXIANGYU/qwen2-tiny αυξήθηκε από 7.354 λήψεις στις 20 Οκτωβρίου σε 28.412 στις 28 Οκτωβρίου, αντιπροσωπεύοντας το 97,7% των λήψεων της δεύτερης σειράς.
Έσοδα από την εξόρυξη και θύματα που εντοπίστηκαν
Το πορτοφόλι της πρώτης σειράς έλαβε περίπου 2.276 PRL σε 716 συναλλαγές και έστειλε περίπου 2.241 PRL παρακάτω, ενώ παρέμενε ενεργό στους δημόσιους πίνακες ελέγχου των δεξαμενών εξόρυξης στις 21 Οκτωβρίου, αφού είχαν καταργηθεί τα αποθετήριά του. Στο Kryptex, το πορτοφόλι εμφάνιζε δύο ενεργούς εργαζομένους που ανέφεραν peakminer/2.16.5 περίπου 1.008 PRL, δηλαδή περίπου 2.237 $, σε ανταμοιβές 30 ημερών κατά τη στιγμή της καταγραφής. Κατά την ανάλυση, εννέα εργαζόμενοι με ονόματα που παρέπεμπαν σε σημειωματάρια συνδέθηκαν με διαφορά έως 90 δευτερολέπτων και σταμάτησαν να υποβάλλουν μερίδια περίπου έξι λεπτά αργότερα· το δημοσίευμα περιγράφει αυτό το μοτίβο ως συμβατό με κοινόχρηστο σύμπλεγμα 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 αναφέρει ότι αναμένει περισσότερες εκστρατείες αυτού του είδους και ότι τις παρακολουθεί.












