Μια νέα και προσεκτικά κατασκευασμένη καμπάνια αλυσίδας εφοδιασμού λογισμικού στοχεύει προγραμματιστές μέσω του μητρώου πακέτων npm, χρησιμοποιώντας πλαστά μηνύματα εγκατάστασης για να κρύψει κακόβουλη δραστηριότητα.
Η καμπάνια, την οποία οι ερευνητές ασφαλείας ονόμασαν “εκστρατεία Ghost”, ξεκίνησε στις αρχές Φεβρουαρίου 2026 και βασίζεται σε ένα σύνολο πακέτων npm που έχουν δημιουργηθεί για να εξαπατήσουν τους προγραμματιστές να παραδώσουν τα διαπιστευτήρια του συστήματός τους ενώ αναπτύσσουν κρυφά έναν trojan απομακρυσμένης πρόσβασης (RAT) στους υπολογιστές τους.
Η επίθεση ξεκινά τη στιγμή που ένας προγραμματιστής εγκαθιστά ένα από τα αδίστακτα πακέτα. Αντί να προκαλέσει οποιαδήποτε υποψία, το πακέτο δημιουργεί κάτι που μοιάζει με μια κανονική εγκατάσταση npm — εκτύπωση μηνυμάτων αρχείου καταγραφής, εμφάνιση γραμμής προόδου και εισαγωγή τυχαίων καθυστερήσεων για να κάνει τη διαδικασία να φαίνεται ρεαλιστική.
Κανένα από τα πακέτα που ισχυρίζεται ότι κατεβάζει δεν υπάρχει στην πραγματικότητα και τα ονόματα που εμφανίζονται στην οθόνη προέρχονται τυχαία από μια λίστα με σκληρό κώδικα. Αυτό το επίπεδο εξαπάτησης δυσκολεύει ακόμη και έναν έμπειρο προγραμματιστή να παρατηρήσει ότι κάτι δεν πάει καλά.
Οι αναλυτές της ReversingLabs εντόπισαν την κακόβουλη δραστηριότητα στις αρχές Φεβρουαρίου 2026, ανιχνεύοντάς το σε επτά πακέτα, όλα δημοσιευμένα από έναν χρήστη npm που λειτουργεί με τη λαβή “mikilanjillo”.
Τα πακέτα που έχουν επισημανθεί περιλαμβάνουν react-performance-suite, react-state-optimizer-core, react-fast-utilsa, ai-fast-auto-trader, pkgnewfefame1, carbon-mac-copy-cloner και coinbase-desktop-sdk.
Οι ερευνητές παρατήρησαν ότι η χρήση πλαστών αρχείων καταγραφής εγκατάστασης για την απόκρυψη κακόβουλης συμπεριφοράς ήταν μια νέα τεχνική, που αντιπροσωπεύει μια σαφή αλλαγή στον τρόπο με τον οποίο λειτουργούν οι φορείς απειλών για να παραμείνουν απαρατήρητοι μέσα σε οικοσυστήματα ανοιχτού κώδικα.
Το τελικό στάδιο της επίθεσης απορρίπτει έναν RAT που έχει σχεδιαστεί για να κλέβει πορτοφόλια κρυπτονομισμάτων, να συλλέγει ευαίσθητα δεδομένα και να λαμβάνει απομακρυσμένες εντολές από έναν διακομιστή που ελέγχεται από τους εισβολείς.
Οι διευθύνσεις URL ωφέλιμου φορτίου και τα κλειδιά αποκρυπτογράφησης λαμβάνονται από ένα κανάλι Telegram, ή στην περίπτωση του πακέτου coinbase-desktop-sdk, από μια ανάρτηση web3 στο teletype.in που έχει σχεδιαστεί για να μοιάζει με τεκμηρίωση blockchain.
Μόλις εκτελείται το κακόβουλο λογισμικό, λειτουργεί αθόρυβα στο παρασκήνιο, δίνοντας στους εισβολείς επίμονη και σε μεγάλο βαθμό αόρατη πρόσβαση στο παραβιασμένο σύστημα.
Το εύρος αυτής της καμπάνιας εκτείνεται πέρα από τα επτά πακέτα που εντοπίστηκαν αρχικά. Τον Μάρτιο του 2026, ο JFrog κατέγραψε ένα σχετικό σύμπλεγμα που ονόμασε GhostClaw, το οποίο μοιράζεται ομοιότητες τόσο στις τεχνικές όσο και στην υποδομή με αυτό που βρήκε η ReversingLabs.
Η ανάλυση από το Jamf Threat Labs έδειξε περαιτέρω ότι η καμπάνια εξαπλώνεται μέσω των αποθετηρίων GitHub που παρουσιάζονται ως νόμιμα εργαλεία προγραμματιστών, όπως τα bot συναλλαγών και τα SDK.
Αυτά τα αποθετήρια έχουν σπαρθεί με καθαρό κώδικα και μένουν ανενεργά για μεγάλα χρονικά διαστήματα για την οικοδόμηση εμπιστοσύνης των χρηστών πριν από την εισαγωγή κακόβουλων στοιχείων.
Μηχανισμός μόλυνσης: Ψεύτικα κούτσουρα και Sudo Phishing
Το πιο παραπλανητικό στοιχείο αυτής της καμπάνιας είναι το πώς τα πακέτα ξεγελούν τους προγραμματιστές ώστε να εγκαταλείψουν τον κωδικό πρόσβασης sudo τους.
Κατά τη διάρκεια της ψεύτικης εγκατάστασης, το πακέτο εξάγει ένα σφάλμα που δηλώνει ότι δεν μπορεί να εγκαταστήσει ορισμένες εξαρτήσεις λόγω έλλειψης δικαιωμάτων εγγραφής σε /usr/local/lib/node_modules — τον τυπικό παγκόσμιο κατάλογο πακέτων σε συστήματα Linux και macOS.
Στη συνέχεια, ζητείται από τον προγραμματιστή να εισαγάγει τον κωδικό πρόσβασης root για να επιλύσει το πρόβλημα και να επιτρέψει την ολοκλήρωση της εγκατάστασης.
.webp.jpeg)
Αυτό λειτουργεί επειδή τα σφάλματα αδειών κατά τις εγκαταστάσεις npm είναι συνηθισμένα και το αίτημα για κωδικό πρόσβασης φαίνεται απολύτως αναμενόμενο σε αυτό το πλαίσιο.
.webp.jpeg)
Μόλις εισαχθεί και επιβεβαιωθεί ο κωδικός πρόσβασης, το πρόγραμμα λήψης του κακόβουλου λογισμικού εκτελείται αθόρυβα, ενώ η έξοδος ψεύτικο αρχείο καταγραφής συνεχίζει να μετακινείται για να κρύψει τη δραστηριότητα.
Στη συνέχεια, το πρόγραμμα λήψης επικοινωνεί με ένα κανάλι Telegram για να τραβήξει το τελικό URL ωφέλιμου φορτίου και το κλειδί αποκρυπτογράφησης του.
.webp.png)
Σε μια περίπτωση, αυτές οι λεπτομέρειες είναι κρυμμένες μέσα σε μια ανάρτηση τύπου blockchain στο teletype.in.
.webp.png)
Στη συνέχεια, το τελικό ωφέλιμο φορτίο RAT αποκρυπτογραφείται, γράφεται στο δίσκο και εκτελείται χρησιμοποιώντας τον κλεμμένο κωδικό πρόσβασης sudo.
Οι προγραμματιστές δεν πρέπει ποτέ να εισάγουν τον κωδικό πρόσβασης sudo ή root όταν τους ζητηθεί από ένα πακέτο npm κατά την εγκατάσταση, καθώς όχι Το νόμιμο πακέτο απαιτεί πρόσβαση σε επίπεδο συστήματος σε αυτό το στάδιο.
Οι συντάκτες πακέτων και το ιστορικό του αποθετηρίου θα πρέπει να επαληθεύονται πριν από την εγκατάσταση και θα πρέπει να χρησιμοποιούνται αυτοματοποιημένα εργαλεία σάρωσης ασφαλείας για τη σύλληψη ύποπτων σεναρίων.
Οι οργανισμοί θα πρέπει να επιβάλλουν αυστηρές ροές εργασιών ελέγχου εξάρτησης και να αντιμετωπίζουν τυχόν ζητήματα κωδικού πρόσβασης κατά την εγκατάσταση λογισμικού ως σημαντικό προειδοποιητικό σημάδι.
IoC: –
| Όνομα πακέτου | Εκδοχή | SHA1 |
|---|---|---|
| react-performance-suite | 2.0.0 | bdffc2f98ff422db9f9ddc190401cfcb686e3c32 |
| react-performance-suite | 2.0.1 | 5928e3121f12f3c5d690bc7968b28b2f67835ef5 |
| react-state-optimizer-core | 1.0.0 | cbe7c87293de7ab5853e2aef3f638d54c45f5c9f |
| react-state-optimizer-core | 3.0.3 | fe6ee1104c4b02be39819822ed959039ea313e67 |
| αντιδρώ-γρήγορα-utilsa | 2.0.1 | e6cfaef4b50d2a4ddd8453bf5a91e81a092d6e09 |
| ai-fast-auto-trader | 2.2.1 | 963b79f59fb2c070a06b9a2af9db2b5512c1ed74 |
| ai-fast-auto-trader | 2.2.6 | d22eb34facf13b5c1e820d9e6358eb4cd3797eaa |
| pkgnewfefame1 | 3.2.1 | 2a8c625660ad6bb7d7c953a147c84c0fcc75794b |
| carbon-mac-copy-cloner | 1.1.0 | 63783f6e59d20e2c664123b349f22dd53d1293d4 |
| coinbase-desktop-sdk | 1.5.14 | cb9208d756dc4d4674801611d8d5f5ba79e76366 |
| coinbase-desktop-sdk | 1.5.19 | d5ade32ac52140e6c25f50780dc4ff4d466faddb |
