Μια προηγμένη καμπάνια malware, που στοχεύει προγραμματιστές από τον Αύγουστο του 2025, έχει αναπτύξει 126 κακόβουλα πακέτα npm με πάνω από 86,000 λήψεις συνολικά. Η επίθεση, που τώρα αναγνωρίζεται ως PhantomRaven, έχει συλλέξει npm authentication tokens, GitHub credentials και CI/CD pipeline secrets από προγραμματιστές σε όλο τον κόσμο, χρησιμοποιώντας προηγμένες τεχνικές αποφυγής ανίχνευσης, που παρακάμπτουν τα περισσότερα εργαλεία ασφαλείας.

Οι αναλυτές της Koi εντόπισαν την καμπάνια τον Οκτώβριο του 2025, όταν το σύστημα παρακολούθησης συμπεριφοράς, Wings, παρατήρησε ύποπτη δικτυακή δραστηριότητα κατά τη διάρκεια των διαδικασιών εγκατάστασης πακέτων. Όλα τα κακόβουλα πακέτα έκαναν εξωτερικά αιτήματα προς το ίδιο ύποπτο domain, αποκαλύπτοντας μια συντονισμένη επιχείρηση.
Δείτε επίσης: Το PolarEdge botnet μόλυνε πάνω από 25,000 IoT συσκευές
Η έρευνα από τους ερευνητές της Koi αποκάλυψε τα εξής: 21 πακέτα εντοπίστηκαν και αφαιρέθηκαν τον Αύγουστο του 2025, αλλά οι επιτιθέμενοι προσαρμόστηκαν, αναπτύσσοντας επιτυχώς 80 επιπλέον πακέτα μεταξύ Σεπτεμβρίου και Οκτωβρίου που απέφυγαν εντελώς τους μηχανισμούς ανίχνευσης.
Η υποδομή του επιτιθέμενου δείχνει μια ενδιαφέρουσα αντίθεση μεταξύ της προηγμένης τεχνικής εκτέλεσης και της εκπληκτικά απρόσεκτης επιχειρησιακής ασφάλειας. Διαδοχικοί λογαριασμοί email από δωρεάν παρόχους, σε συνδυασμό με προφανή ονόματα χρήστη όπως npmhell και npmpackagejpd, οδηγούν ξεκάθαρα σε έναν μόνο απειλητικό παράγοντα.
Παρά αυτήν την επιχειρησιακή αμέλεια, ο τεχνικός μηχανισμός παράδοσης αντιπροσωπεύει μια πραγματική καινοτομία στις επιθέσεις εφοδιαστικής αλυσίδας. Τα κακόβουλα πακέτα φαίνονταν εντελώς αθώα όταν εξετάζονταν στο npmjs.com, παρουσιάζοντας απλά hello world scripts με φαινομενικά zero dependencies.

Αυτή η ψευδαίσθηση επιτεύχθηκε μέσω μιας τεχνικής που περιλαμβάνει Remote Dynamic Dependencies, όπου τα HTTP URLs λειτουργούν ως dependency specifiers αντί για τα παραδοσιακά npm registry references. Ο κακόβουλος κώδικας δεν βρισκόταν στο εξεταζόμενο πακέτο αλλά σε ένα αόρατο dependency που ανακτήθηκε από το packages.storeartifact.com κατά την εγκατάσταση, παρακάμπτοντας εντελώς τα εργαλεία στατικής ανάλυσης και σάρωσης dependency.
PhantomRaven: Remote Dynamic Dependencies παραδίδουν το κακόβουλο payload
Τα παραδοσιακά npm dependencies αναφέρονται σε πακέτα που φιλοξενούνται στο npmjs.com χρησιμοποιώντας standard version specifiers, όπως “express”: “^4.18.0”. Ωστόσο, το npm υποστηρίζει ένα obscure feature που επιτρέπει τα HTTP URLs ως dependency specifiers. Όταν οι προγραμματιστές εγκαθιστούν πακέτα που περιέχουν αυτά τα remote dependencies, το npm ανακτά αυτόματα τους εξωτερικούς πόρους χωρίς καμία ασφάλεια ή ορατότητα.
Δείτε επίσης: Νέα επίθεση συνδυάζει Ghost SPNs και ανάκλαση Kerberos
Οι σαρωτές ασφαλείας και τα εργαλεία αυτόματης ανάλυσης δεν ακολουθούν ποτέ αυτά τα HTTP-based dependencies, αντιμετωπίζοντας τα πακέτα ως έχοντα zero dependencies παρά το κρυφό κακόβουλο payload. Αυτό δημιουργεί ένα τέλειο τυφλό σημείο όπου το εξεταζόμενο πακέτο φαίνεται εντελώς ασφαλές ενώ ο πραγματικός κακόβουλος κώδικας βρίσκεται σε υποδομή που ελέγχεται από τον επιτιθέμενο.
Η τεχνική γίνεται ακόμη πιο επικίνδυνη επειδή κάθε εγκατάσταση ανακτά το dependency από τον διακομιστή του επιτιθέμενου, επιτρέποντας τη δυναμική παράδοση payload με βάση το περιβάλλον στόχο. Μόλις το invisible dependency φτάσει στο σύστημα του θύματος, η αυτόματη εκτέλεση του npm εξασφαλίζει την άμεση ενεργοποίηση του κακόβουλου λογισμικού.

Το κακόβουλο package.json περιέχει ένα preinstall script που εκτελείται αυτόματα χωρίς καμία προτροπή ή προειδοποίηση προς τον χρήστη. Αυτό το script εκτελείται ανεξάρτητα από το πόσο βαθιά είναι ενσωματωμένο το κακόβουλο πακέτο μέσα στο dependency tree, πράγμα που σημαίνει ότι οι προγραμματιστές που εγκαθιστούν φαινομενικά νόμιμα πακέτα μπορούν να ενεργοποιήσουν άθελά τους την εκτέλεση του PhantomRaven μέσω transitive dependencies.
Μετά την επιτυχή εγκατάσταση, το PhantomRaven συλλέγει συστηματικά διευθύνσεις email από μεταβλητές περιβάλλοντος, αρχεία .gitconfig, ρυθμίσεις .npmrc και πεδία συγγραφέα στο package.json.
Στη συνέχεια, το κακόβουλο λογισμικό στοχεύει τα διαπιστευτήρια CI/CD, συμπεριλαμβανομένων των GitHub Actions tokens, GitLab CI credentials, Jenkins authentication, CircleCI tokens και npm publishing tokens.
🔒 Προστατέψτε την ιδιωτικότητά σας με Proton VPN
Ελβετικό VPN από τους δημιουργούς του Proton Mail — αυστηρή πολιτική no-logs, ισχυρή κρυπτογράφηση και ενσωματωμένο NetShield που μπλοκάρει διαφημίσεις, trackers & malware.
- ✔ No-logs, με έδρα την Ελβετία (εκτός 14-Eyes)
- ✔ NetShield: φραγή διαφημίσεων, trackers & κακόβουλων domains
- ✔ Καλύπτει όλες τις συσκευές — δωρεάν έκδοση διαθέσιμη
Ο σύνδεσμος είναι συνεργατικός (affiliate) — το SecNews ενδέχεται να λάβει προμήθεια χωρίς επιπλέον κόστος για εσάς. Δεν επηρεάζει την ανεξαρτησία της αρθρογραφίας μας.
Δείτε επίσης: 10 κακόβουλα πακέτα npm με δυνατότητα αυτόματης εκτέλεσης
Ακολουθεί πλήρες system fingerprinting, συλλέγοντας δημόσιες διευθύνσεις IP, ονόματα κεντρικών υπολογιστών, λεπτομέρειες λειτουργικού συστήματος, εκδόσεις Node.js και διαμορφώσεις δικτύου για τη δημιουργία προφίλ για τα περιβάλλοντα των θυμάτων και τον εντοπισμό εταιρικών δικτύων υψηλής αξίας έναντι μεμονωμένων μηχανημάτων προγραμματιστών.
