Επίθεση Σύγχυσης Εξάρτησης alone5511 npm

Επίθεση Σύγχυσης Εξάρτησης alone5511 npm

TL? DR

Μεταξύ 1ης Μαΐου και 6ης Μαΐου 2026, ένας μόνο εκδότης npm, alone5511, προώθησε οκτώ πακέτα μηδενικής εξάρτησης που φαίνεται να στοχεύουν Microsoft / Εσωτερικοί χώροι ονομάτων πακέτων τύπου Azure.

Τα πακέτα χρησιμοποιούσαν ονόματα όπως cosmos-explorer, ms.analytics-web, icons.generated, latency-tracking-internal, carbonite-internalκαι carboniteappΑρκετές εκδόσεις χρησιμοποίησαν υψηλές τιμές semver όπως 99.9.0 και 99.9.13, η οποία είναι μια συνηθισμένη τακτική σύγχυσης εξαρτήσεων που έχει σχεδιαστεί για να ξεπεράσει τα ιδιωτικά εσωτερικά πακέτα.

Και τα οκτώ αδελφά πακέτα είχαν ήδη αφαιρεθεί από την έκδοση του npm από τον εκδότη μεταξύ 1ης και 6ης Μαΐου 2026. Τα άμεσα μεταδεδομένα μητρώου επιβεβαίωσαν ότι τα tarball επιστρέφουν πλέον HTTP 404 από το npm CDN.

Ωστόσο, το σύμπλεγμα εξακολουθεί να έχει σημασία.

Το ωφέλιμο φορτίο στα κανονικά δείγματα, carbonite-internal:99.9.0 και carboniteapp:99.9.0, εκτελείται κατά την εγκατάσταση μέσω ενός preinstall γάντζο. Συλλέγει δεδομένα δακτυλικών αποτυπωμάτων κεντρικού υπολογιστή, ανακτά τη δημόσια IP του μηχανήματος από api.ipify.org, δημιουργεί μια ψεύτικη «ΕΚΘΕΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΟΥ ΕΠΙΠΕΔΟΥ», χαρακτηρίζει τον οικοδεσπότη ως RCE VERIFIEDκαι στέλνει την αναφορά σε ένα bot του Telegram μέσω του API του Telegram Bot.

Έγκαιρη προειδοποίηση κακόβουλου λογισμικού (MEW) του Xygeni Το σύστημα ταξινόμησε τα κανονικά δείγματα ως πιθανώς κακόβουλα με βαθμολογία άνω του 91/100.

Παρακολουθούμε αυτό ως μια εσωτερική καμπάνια σύγχυσης εξαρτήσεων ονομάτων της Microsoft με αποτύπωμα κεντρικού υπολογιστή κατά την εγκατάσταση και εξαγωγή beacon Telegram.

Το Σύμπλεγμα: Οκτώ Πακέτα, Ένας Εκδότης

Ο λογαριασμός του εκδότη alone5511 χρησιμοποίησα τη διεύθυνση ηλεκτρονικού ταχυδρομείου:

Ο λογαριασμός δεν είχε επαληθευμένο email, όχι SCM επαλήθευση και βαθμολογία φήμης npm 2.

Μια αναφερόμενη ταυτότητα GitHub, alonebeast002/beastcrypt, εμφανίστηκε επίσης στο πλαίσιο του συμπλέγματος.

Ο εκδότης κυκλοφόρησε οκτώ σχετικά πακέτα σε ένα χρονικό διάστημα έξι ημερών. Όλα τα πακέτα δεν είχαν καμία εξάρτηση και ακολουθούσαν το ίδιο γενικό μοτίβο: μικρό πακέτο, σενάριο χρόνου εγκατάστασης, αποτύπωμα κεντρικού υπολογιστή και beaconing μέσω Telegram.

# Πακέτο Κακόβουλη έκδοση Δημιουργήθηκε, UTC Αδημοσίευτο, UTC Επιβεβαιωμένο ωφέλιμο φορτίο Εγκατάσταση γάντζου
1 εξερευνητής του κόσμου 1.1.3 2026-05-01T18:26Z 2026-05-01T19:01Z Συνάγεται ότι, ίδιος εκδότης / σύμπλεγμα προεγκατάσταση, υποτιθέμενη
2 signalsdk-web 1.0.0, 10.0.0 2026-05-04T13:57Z 2026-05-04T18:51Z Συνάγεται προεγκατάσταση, υποτιθέμενη
3 ms.analytics-web 99.0.0, 99.9.13 2026-05-04T18:47Z 2026-05-05T10:07Z Συνάγεται προεγκατάσταση, υποτιθέμενη
4 εικονίδια που δημιουργήθηκαν 99.9.13 2026-05-05T10:02Z 2026-05-05T12:57Z Συνάγεται προεγκατάσταση, υποτιθέμενη
5 παρακολούθηση καθυστέρησης 99.9.0 2026-05-05T11:57Z 2026-05-05T12:57Z Συνάγεται προεγκατάσταση, υποτιθέμενη
6 εσωτερική παρακολούθηση-καθυστέρησης Εκδόσεις που αφαιρέθηκαν από το αρχείο μητρώου 2026-05-06T06:02Z 2026-05-06T08:35Z Συνάγεται προεγκατάσταση, υποτιθέμενη
7 εφαρμογή carbonite 99.9.0 2026-05-06T05:49Z 2026-05-06T08:35Z Ναι, πλήρης ροή κώδικα σαρωτή προεγκατάσταση: node index.js
8 εσωτερικό καρβονίτη 99.9.0 2026-05-06T06:14Z 2026-05-06T08:36Z Ναι, πλήρης ροή κώδικα σαρωτή προεγκατάσταση: node index.js

Συνολικές κακόβουλες πλειάδες έκδοσης σε όλο το σύμπλεγμα: 9+.

Ορισμένες εγγραφές αδελφών πακέτων είχαν εκδόσεις που αφαιρούνταν μετά την κατάργηση της δημοσίευσης, γεγονός που περιορίζει την ακριβή ανακατασκευή μόνο από δεδομένα δημόσιου μητρώου.

Γιατί τα ονόματα έχουν σημασία

Τα ονόματα των πακέτων είναι το ισχυρότερο σήμα.

Μοιάζουν με εσωτερικά πακέτα SDK, τηλεμετρίας, δημιουργίας εικονιδίων, εξερευνητή ή παρακολούθησης καθυστέρησης:

Αυτή δεν είναι τυχαία ονομασία. Φαίνεται βαθμονομημένη για σύγχυση εξάρτησης.

Αρκετά μεταγενέστερα πακέτα χρησιμοποίησαν υψηλούς αριθμούς έκδοσης:

Αυτό έχει σημασία, επειδή οι επιθέσεις σύγχυσης εξαρτήσεων συχνά βασίζονται σε δημόσια πακέτα που έχουν υψηλότερες εκδόσεις από τα εσωτερικά πακέτα ιδιωτικού μητρώου. Εάν ένα σύστημα δημιουργίας δεν έχει ρυθμιστεί σωστά, ο διαχειριστής πακέτων μπορεί να επιλέξει την δημόσια έκδοση npm αντί για την προβλεπόμενη εσωτερική.

Ο εκδότης φαίνεται επίσης να κλιμακώνεται με την πάροδο του χρόνου.

Τα πρώτα πακέτα χρησιμοποιούσαν εκδόσεις με κανονική εμφάνιση, όπως 1.1.3 και 1.0.0Αργότερα πακέτα μεταφέρθηκαν σε 99.x.x και 99.9.xΑυτή η μετατόπιση είναι συνεπής με έναν παράγοντα που ρυθμίζει την καμπάνια για εσωτερική συμπεριφορά επίλυσης πακέτων.

Τι συμβαίνει κατά την εγκατάσταση

Τα κανονικά δείγματα, carbonite-internal:99.9.0 και carboniteapp:99.9.0, δηλώνω ένα preinstall άγκιστρο:

 

Αυτό σημαίνει ότι το ωφέλιμο φορτίο εκτελείται πριν το npm ολοκληρώσει την εγκατάσταση των εξαρτήσεων.

Αυτή είναι η πρώτη δυνατή βάση εγκατάστασης. Ο προγραμματιστής δεν χρειάζεται να εισαγάγει το πακέτο. Η έκδοση δεν χρειάζεται να εκτελέσει κώδικα εφαρμογής. Η ίδια η εγκατάσταση είναι αρκετή.

Το ωφέλιμο φορτίο είναι μικρό, περίπου 2.4 KB, και δεν έχει κανένα λειτουργικό σκοπό πέρα ​​από τη λειτουργία beaconing.

Συμπεριφορά ωφέλιμου φορτίου

The index.js Το αρχείο εκτελεί τέσσερις κύριες ενέργειες.

Πρώτον, καλεί api.ipify.org για να ανακτήσετε τη δημόσια διεύθυνση IP του κεντρικού υπολογιστή:

Δεύτερον, συλλέγει βασικά δεδομένα δακτυλικών αποτυπωμάτων κεντρικού υπολογιστή χρησιμοποιώντας τα API λειτουργικού συστήματος Node.js:

Τρίτον, μορφοποιεί τα συλλεγόμενα δεδομένα σε μια αναφορά πολλαπλών γραμμών με ένα κυριολεκτικό banner:

Η έκθεση καταλήγει με:

Τέταρτον, στέλνει την αναφορά στο Telegram μέσω ενός sendTelegram(report) λειτουργία, χρησιμοποιώντας το τελικό σημείο του Telegram Bot API:

Το ακριβές διακριτικό bot του Telegram διατηρείται μέσα στα μη δημοσιευμένα tarball και θα πρέπει να είναι ανακτήσιμο από την εσωτερική αποθήκευση του npm.

Γιατί έχει σημασία το banner «RCE VERIFIED»

Η κυριολεκτική RCE VERIFIED Ο δείκτης είναι λειτουργικά ενδεικτικός.

Το ωφέλιμο φορτίο δεν αναπτύσσει backdoor. Δεν παραμένει. Δεν κλέβει απευθείας τα διαπιστευτήρια cloud. Αντίθετα, επιβεβαιώνει ότι πραγματοποιήθηκε εκτέλεση κώδικα κατά την εγκατάσταση του πακέτου.

Αυτό είναι αρκετό για μια καμπάνια απόδειξης εκτέλεσης με σύγχυση εξαρτήσεων.

Εάν ο εισβολέας λάβει ένα μήνυμα Telegram από ένα περιβάλλον-στόχο, γνωρίζει ότι το δημόσιο πακέτο npm επιλύθηκε και εκτελέστηκε μέσα σε έναν πραγματικό κεντρικό υπολογιστή, έναν εκτελεστή CI, έναν σταθμό εργασίας προγραμματιστή ή ένα περιβάλλον κατασκευής.

Με άλλα λόγια, το κακόβουλο λογισμικό δεν συλλέγει απλώς μεταδεδομένα κεντρικού υπολογιστή. Επικυρώνει εάν η ανάλυση του πακέτου του στόχου είναι εκμεταλλεύσιμη.

Ταξινόμηση Xygeni MEW

Το Xygeni MEW ταξινόμησε τα κανονικά δείγματα ως πιθανώς κακόβουλο, με βαθμολογία πάνω από 91/100.

Οι ανιχνεύσεις περιελάμβαναν:

Δριμύτητα Ανίχνευση Νόημα
Κρίσιμος ευαίσθητη_εξαγωγή_δεδομένων Η req.write(data) μεταφέρει την αναφορά host-fingerprint σε ένα εξερχόμενο Telegram POST.
Ψηλά κακόβουλα_σενάρια_εγκατάστασης προεγκατάσταση: το node index.js ενεργοποιεί το beacon κατά την εγκατάσταση
Χαμηλός ύποπτο_αίτημα Ανακάλυψη δημόσιας IP μέσω του api.ipify.org
Χαμηλός ύποπτο_αίτημα Τελικό σημείο εξερχόμενου API Telegram Bot
Χαμηλός trivial_package Το πακέτο δεν έχει κανένα ουσιαστικό σκοπό πέρα ​​από το beaconing
Πληροφορίες απαρίθμηση_ευαίσθητων_δεδομένων Απαριθμούνται οι λεπτομέρειες του κεντρικού υπολογιστή, όπως ο χρόνος λειτουργίας, οι πληροφορίες χρήστη και το όνομα κεντρικού υπολογιστή.

Και τα δύο carbonite-internal:99.9.0 και carboniteapp:99.9.0 είχαν πανομοιότυπα ωφέλιμα φορτία, συμπεριλαμβανομένου του ίδιου αναγνωριστικού ροής κώδικα και σεναρίων εγκατάστασης ισοδύναμων με byte.

Ο δείκτης έργων εκδότη MEW χαρακτήρισε και τα οκτώ πακέτα ως μέρος του ίδιου συμπλέγματος εκδότη/ωφέλιμου φορτίου.

Γιατί έχει σημασία το μοτίβο αυτο-κατάργησης δημοσίευσης

Και τα οκτώ αδελφά πακέτα αδημοσίευσαν από τον εκδότη μέσα σε λίγα λεπτά έως ώρες από τη δημοσίευση.

Αυτή η συμπεριφορά είναι σημαντική.

Οι νόμιμοι συντηρητές μερικές φορές αφαιρούν τη δημοσίευση πακέτων, αλλά ο χρόνος εδώ μοιάζει με καθαρισμό από εισβολέα. Τα πακέτα εμφανίστηκαν, εκτέλεσαν το ωφέλιμο φορτίο εγκατάστασής τους εάν επιλυθούν από έναν στόχο και στη συνέχεια εξαφανίστηκαν από την πρόσβαση στο δημόσιο μητρώο.

Αυτό δημιουργεί δύο προβλήματα για τους αμυντικούς.

Καταρχάς, τα δημόσια μεταδεδομένα npm καθίστανται ελλιπή μετά την κατάργηση της δημοσίευσης. Ορισμένες εγγραφές έκδοσης ενδέχεται να αφαιρεθούν ή να είναι πιο δύσκολο να ανακατασκευαστούν.

Δεύτερον, οι υπερασπιστές που βασίζονται στην τρέχουσα κατάσταση του μητρώου ενδέχεται να χάσουν πακέτα που υπήρχαν κατά τη διάρκεια του παραθύρου έκθεσης, αλλά δεν είναι πλέον εγκατεστημένα.

Για αυτόν τον λόγο, το npm θα πρέπει να διατηρεί τα αδημοσίευτα tarball εσωτερικά για εγκληματολογία. Το ρομπότ του Telegram Ένα token μέσα στα tarballs μπορεί να βοηθήσει στην απαρίθμηση του καναλιού λήψης και στην ανακατασκευή πιθανών θυμάτων.

Δείκτες παραβίασης και ανίχνευσης

Εκδότης και Λογαριασμός

Πεδίο αξία
όνομα χρήστη npm alone5511
email εκδότη npm raistargaming703@gmail.com
φήμη του npm 2
email επαληθευμένο Οχι
SCM επαληθεύεται Οχι
Αναφερόμενη ταυτότητα GitHub alonebeast002/beastcrypt

Ονόματα πακέτων που επηρεάζονται

Ύποπτα μοτίβα έκδοσης

Αυτές οι εκδόσεις υψηλής ποιότητας είναι ιδιαίτερα σημαντικές σε έρευνες σύγχυσης εξαρτήσεων, επειδή ενδέχεται να υπερτερούν σε κατάταξη από τις εκδόσεις ιδιωτικών πακέτων.

Τελικά σημεία δικτύου

Χαρακτηριστικά αξία
Δημόσια IP ανίχνευση https://api.ipify.org
Νεροχύτης εξάτμισης https://api.telegram.org/bot<token>/sendMessage
Μέθοδος εξάτμισης API Bot Telegram POST

Δείκτες ωφέλιμου φορτίου

Αναζήτηση σεναρίων εγκατάστασης για αυτές τις συμβολοσειρές:

Επίσης, επισημάνετε αυτό το μοτίβο δήλωσης:

Ειδικά όταν συνδυάζεται με:

  • Μηδενικές εξαρτήσεις
  • Μικρό μέγεθος συσκευασίας
  • Όνομα πακέτου με εσωτερική εμφάνιση
  • Έκδοση υψηλής απόδοσης
  • API δακτυλικών αποτυπωμάτων κεντρικού υπολογιστή
  • Επισκεψιμότητα API Bot Telegram

API δακτυλικών αποτυπωμάτων κεντρικού υπολογιστή

Το κανονικό ωφέλιμο φορτίο χρησιμοποιεί:

Απευθύνεται επίσης σε:

για να καταγράψει τη δημόσια IP του κεντρικού υπολογιστή.

Σημειώσεις ανίχνευσης

Αρκετοί κανόνες μπορούν να εντοπίσουν αυτήν την καμπάνια και κοντινές παραλλαγές.

Αρχικά, παρακολουθήστε για σενάρια εγκατάστασης npm που επικοινωνούν με το Telegram:

Ένα σενάριο εγκατάστασης πακέτου δεν θα πρέπει σχεδόν ποτέ να κάνει POST στο Telegram. Αντιμετωπίστε αυτό ως εχθρικό, εκτός εάν υπάρχει μια πολύ σαφής και ελεγμένη εξαίρεση.

Δεύτερον, σημαία preinstall σενάρια σε μικροσκοπικά πακέτα μηδενικής εξάρτησης με εσωτερικά ονόματα.

Ο συνδυασμός ενός μικρού πακέτου, μιας έκδοσης υψηλού semver και ενός εσωτερικού ονόματος σε στυλ ονοματοθέτη είναι ένα ισχυρό σήμα σύγχυσης εξαρτήσεων.

Τρίτον, ειδοποίηση για ονόματα πακέτων που μοιάζουν με ιδιωτικές μηχανικές ενότητες που δημοσιεύονται από δημόσιους λογαριασμούς npm χαμηλής φήμης.

Παραδείγματα από αυτήν την ομάδα περιλαμβάνουν:

Τέταρτον, αναζητήστε αναφορές lockfile στα οκτώ ονόματα πακέτων σε όλα τα συστήματα CI και τους σταθμούς εργασίας προγραμματιστών.

Έρευνα:

Οποιαδήποτε αντιστοίχιση θα πρέπει να ενεργοποιεί την αναθεώρηση σύγχυσης εξαρτήσεων.

Προτεινόμενες ενέργειες μητρώου

Αυτό το σύμπλεγμα δεν είχε ήδη δημοσιευτεί κατά τη στιγμή της αναφοράς. Ωστόσο, η κατάργηση της δημοσίευσης δεν εξαλείφει τον κίνδυνο.

Συνιστώμενες ενέργειες από την πλευρά του npm:

  • Επιβεβαιώστε εάν οι διαγραφές δημοσιεύσεων ήταν καθαρισμός που ξεκίνησε από εισβολέα και όχι νόμιμη ενέργεια του συντηρητή.
  • Αναστολή ή απαγόρευση του λογαριασμού εκδότη alone5511.
  • Προσθέστε τον εκδότη, τη διεύθυνση ηλεκτρονικού ταχυδρομείου, τα ονόματα πακέτων και τους δείκτες ωφέλιμου φορτίου στις λίστες κατάχρησης και αποκλεισμού της αλυσίδας εφοδιασμού.
  • Διατηρήστε τα αδημοσίευτα tarballs στον εσωτερικό χώρο αποθήκευσης για εγκληματολογία.
  • Εξαγάγετε το διακριτικό bot του Telegram από τα διατηρημένα tarballs.
  • Συνεργαστείτε με το Telegram, όπου είναι δυνατόν, για να εντοπίσετε το κανάλι λήψης και να ανακατασκευάσετε την πιθανή τηλεμετρία του θύματος.

Λίστα ελέγχου απόκρισης σε παραβίαση

Εάν κάποιο από τα πακέτα που επηρεάζονται εμφανίστηκε στα αρχεία κλειδώματος, στα αρχεία καταγραφής δημιουργίας, στην προσωρινή μνήμη πακέτων ή στο ιστορικό εγκατάστασης CI κατά τη διάρκεια του παραθύρου έκθεσης, αντιμετωπίστε το ως συμβάν εκτέλεσης σύγχυσης εξαρτήσεων.

Προτεινόμενη απάντηση:

  • Προσδιορίστε πού εγκαταστάθηκε το πακέτο: τοπικός σταθμός εργασίας, εκτελεστής CI, παράγοντας δημιουργίας ή εικόνα κοντέινερ.
  • Διατηρήστε τα αρχεία κλειδώματος, την προσωρινή μνήμη npm, τα αρχεία καταγραφής δημιουργίας, το ιστορικό κελύφους και την έξοδο του διαχειριστή πακέτων.
  • Ελέγξτε τα αρχεία καταγραφής εξερχόμενου δικτύου για api.telegram.org και api.ipify.org κατά τη διάρκεια του παραθύρου εγκατάστασης.
  • Ελέγξτε εάν η εγκατάσταση εκτελέστηκε σε περιβάλλον με ευαίσθητες μεταβλητές, διαπιστευτήρια ή εσωτερική πρόσβαση δικτύου.
  • Εναλλαγή διακριτικών που εκτίθενται στο περιβάλλον εγκατάστασης εάν ο κεντρικός υπολογιστής ήταν ένας προνομιούχος εκτελεστής CI ή ένας σταθμός εργασίας προγραμματιστή.
  • Ρύθμιση παραμέτρων επίλυσης πακέτου ελέγχου για σύγχυση δημόσιου/ιδιωτικού μητρώου.
  • Επιβολή ιδιωτικών πακέτων με εύρος ζώνης και καρφιτσώματος μητρώου.
  • Αποκλεισμός μη εγκεκριμένων δημόσιων πακέτων που ταιριάζουν με εσωτερικά μοτίβα ονοματοδοσίας.
  • Πρόσθεση guardrails για σενάρια εγκατάστασης, ειδικά preinstall, installκαι postinstall.

Τι πρέπει να πάρουν μαζί τους οι αμυντικοί

Αυτή η καμπάνια δεν είναι τεχνικά περίπλοκη. Γι' αυτό ακριβώς είναι σημαντική.

Το ωφέλιμο φορτίο είναι μικρό, άμεσο και εύκολο στην εκτέλεση. Ο εισβολέας δεν χρειάζεται μόνιμο ή προηγμένο κακόβουλο λογισμικό. Χρειάζεται μόνο μία λανθασμένα διαμορφωμένη διαδρομή ανάλυσης πακέτου.

Ο πραγματικός κίνδυνος είναι η σύγχυση εξάρτησης.

Ένα πακέτο με ένα οικείο εσωτερικό όνομα, έναν υψηλό αριθμό έκδοσης και ένα preinstall το γάντζο μπορεί να μετατρέψει ένα κανονικό npm install σε ένα φάρο από το εσωτερικό του περιβάλλοντός σας.

Για DevSecOps ομάδες, το μάθημα είναι σαφές: τα εσωτερικά ονόματα πακέτων είναι ευαίσθητα περιουσιακά στοιχεία. Αντιμετωπίστε τα σαν επιφάνεια επίθεσης.

Αναφέρθηκε στο npm για επιβολή σε επίπεδο λογαριασμού, προσθήκη σε λίστα αποκλεισμού και διατήρηση μη δημοσιευμένου tarball.

εργαλεία-ανάλυσης-σύνθεσης-λογισμικού-sca
Ιεράρχηση, αποκατάσταση και ασφάλεια των κινδύνων λογισμικού σας
Αποκτήστε τον Δωρεάν Λογαριασμό σας.
Δεν απαιτείται πιστωτική κάρτα.

Ασφαλίστε την ανάπτυξη και την παράδοση λογισμικού σας

με το Xygeni Product Suite