Ένα πακέτο npm με το όνομα ‘rand-user-agent’ έχει παραβιαστεί σε μια επίθεση στην αλυσίδα εφοδιασμού (supply chain attack), με σκοπό την εισαγωγή καμουφλαρισμένου κώδικα που ενεργοποιεί ένα trojan απομακρυσμένης πρόσβασης (RAT) στο σύστημα του χρήστη.
Δείτε επίσης: Τα κακόβουλα πακέτα NPM στοχεύουν χρήστες PayPal

Το πακέτο ‘rand-user-agent’ είναι ένα εργαλείο που δημιουργεί τυχαίες συμβολοσειρές user-agent, χρήσιμες για διαδικασίες όπως η συλλογή δεδομένων από το διαδίκτυο (web scraping), οι αυτοματοποιημένες δοκιμές και η έρευνα στον τομέα της κυβερνοασφάλειας.
Παρότι το πακέτο έχει χαρακτηριστεί ως μη υποστηριζόμενο (deprecated), παραμένει σχετικά δημοφιλές, με περίπου 45.000 λήψεις εβδομαδιαίως. Ωστόσο, σύμφωνα με τους ερευνητές της Aikido, κακόβουλοι παράγοντες εκμεταλλεύτηκαν το γεγονός ότι ήταν μερικώς εγκαταλελειμμένο αλλά ακόμα διαδεδομένο, για να εισάγουν κακόβουλο κώδικα σε μη εξουσιοδοτημένες μεταγενέστερες εκδόσεις, που είναι πιθανό να έχουν ληφθεί από μεγάλο αριθμό εξαρτώμενων έργων (downstream projects).
Η Aikido εντόπισε την παραβίαση στις 5 Μαΐου 2025, όταν το σύστημα ανάλυσης κακόβουλου λογισμικού της ανίχνευσε τη νέα έκδοση 1.0.110 του ‘rand-user-agent’. Κατά τη βαθύτερη ανάλυση, οι ερευνητές εντόπισαν καμουφλαρισμένο κώδικα στο αρχείο ‘dist/index.js’, ο οποίος ήταν ορατός μόνο αν ο χρήστης έκανε οριζόντια κύλιση στον πηγαίο κώδικα στην ιστοσελίδα του npm.
Η έρευνα έδειξε ότι η τελευταία έγκυρη έκδοση του ‘rand-user-agent’ ήταν η 2.0.82, η οποία κυκλοφόρησε πριν από 7 μήνες. Οι εκδόσεις 2.0.83, 2.0.84 και επίσης η 1.0.110, που δημοσιεύτηκαν στη συνέχεια, ήταν κακόβουλες και δεν συνοδεύονταν από αντίστοιχες εκδόσεις στο αποθετήριο GitHub του έργου.
Δείτε ακόμα: Το κακόβουλο πακέτο npm στοχεύει τα Atomic Wallet και Exodus
Ο κακόβουλος κώδικας που ενσωματώθηκε στις νεότερες εκδόσεις δημιουργεί έναν κρυφό φάκελο στον προσωπικό κατάλογο του χρήστη (στο ~/.node_modules) και επεκτείνει τα ‘module.paths’, ώστε αυτό το προσαρμοσμένο μονοπάτι να μπορεί να χρησιμοποιηθεί για τη φόρτωση εξαρτήσεων, συγκεκριμένα των πακέτων ‘axios’ και ‘socket.io-client’.

Στη συνέχεια, ο κώδικας ανοίγει μια μόνιμη σύνδεση socket με τον C2 server του επιτιθέμενου, στη διεύθυνση http://85.239.62[.]36:3306, και αποστέλλει πληροφορίες αναγνώρισης της μηχανής, όπως το όνομα του υπολογιστή, το όνομα χρήστη, τον τύπο λειτουργικού συστήματος και ένα παραγόμενο UUID.
Πλέον, οι κακόβουλες εκδόσεις έχουν αφαιρεθεί από το αποθετήριο του πακέτου στο npm, οπότε η τελευταία διαθέσιμη έκδοση είναι πλέον ασφαλής και οι χρήστες συνιστάται να επανέλθουν σε αυτήν.
Ωστόσο, εάν έχετε κάνει αναβάθμιση στις εκδόσεις 2.0.83, 2.0.84 ή 1.0.110, είναι σημαντικό να πραγματοποιήσετε πλήρη έλεγχο του συστήματός σας για τυχόν ενδείξεις παραβίασης. Σημειώστε ότι η επιστροφή σε νόμιμη έκδοση δεν αφαιρεί το RAT από το σύστημά σας. Επιπλέον, καλό είναι να εξετάσετε τη χρήση forks του εργαλείου ‘rand-user-agent’ που είναι ενεργά υποστηριζόμενα και παρακολουθούνται καλύτερα.
Δείτε επίσης: Παραβίαση npm packages για κλοπή δεδομένων προγραμματιστών
Βάσει των παραπάνω, το περιστατικό με το ‘rand-user-agent’ αποτελεί χαρακτηριστικό παράδειγμα επίθεσης στην αλυσίδα εφοδιασμού λογισμικού, όπου επιτήδειοι εκμεταλλεύονται παραμελημένα ή μη επαρκώς συντηρούμενα πακέτα για να εισάγουν κακόβουλο κώδικα που φτάνει σε τελικούς χρήστες μέσω απολύτως νόμιμων καναλιών (όπως το npm).
Πηγή: bleepingcomputer