FOXreport.gr

Επίθεση στην αλυσίδα εφοδιασμού του npm: Παραβιάστηκε το δημοφιλές πακέτο Keyv με 127 εκατ. εβδομαδιαίες λήψεις

Εικόνα: cybersecuritynews.com

Μία από τις μεγαλύτερες επιθέσεις στην αλυσίδα εφοδιασμού του οικοσυστήματος npm βρίσκεται σε εξέλιξη, καθώς κυβερνοεγκληματίες παραβίασαν τον λογαριασμό GitHub του συντηρητή του δημοφιλούς πακέτου Keyv και διένειμαν κακόβουλο λογισμικό μέσω νέων εκδόσεων δεκάδων πακέτων.

Το Keyv καταγράφει περίπου 127 εκατομμύρια λήψεις κάθε εβδομάδα, ενώ η επίθεση επηρέασε και άλλα ευρέως χρησιμοποιούμενα πακέτα όπως τα cacheable, flat-cache, file-entry-cache και cache-manager.

Κακόβουλος κώδικας με έγκυρες υπογραφές

Οι επιτιθέμενοι απέκτησαν πρόσβαση στα αποθετήρια του προγραμματιστή, πρόσθεσαν τα αρχεία setup.mjs και Math_Symbol.js, καθώς και ένα κρυφό “preinstall” script στο package.json. Έτσι, ο κακόβουλος κώδικας εκτελούνταν αυτόματα κατά την εγκατάσταση του πακέτου.

Επειδή οι εκδόσεις δημοσιεύθηκαν μέσω του GitHub Actions, έφεραν έγκυρες ψηφιακές υπογραφές προέλευσης, γεγονός που δυσκόλευε τον εντοπισμό της παραβίασης από τους χρήστες και τα συστήματα ελέγχου.

Κλοπή διαπιστευτηρίων και εξάπλωση

Το αρχείο setup.mjs λειτουργούσε ως «dropper», κατεβάζοντας το JavaScript runtime Bun και εκτελώντας το πραγματικό φορτίο του κακόβουλου λογισμικού. Το Math_Symbol.js είχε σχεδιαστεί για να υποκλέπτει διαπιστευτήρια προγραμματιστών και συστημάτων συνεχούς ενσωμάτωσης.

Στόχευε tokens του npm, διαπιστευτήρια του GitHub CLI, κλειδιά πρόσβασης AWS, καθώς και tokens του HashiCorp Vault. Με αυτά τα στοιχεία οι δράστες μπορούσαν να αποκτήσουν πρόσβαση σε λογαριασμούς, να δημοσιεύσουν νέες μολυσμένες εκδόσεις και να επεκτείνουν την επίθεση σε ακόμη περισσότερα έργα.

Σύμφωνα με τους ερευνητές, μέχρι το μεσημέρι της 4ης Αυγούστου είχαν εντοπιστεί τουλάχιστον 868 επηρεαζόμενα πακέτα και 1.381 μολυσμένες εκδόσεις, ενώ η εξάπλωση συνεχιζόταν.

Οι ειδικοί συνιστούν στις ομάδες ανάπτυξης να ελέγξουν άμεσα τα lockfiles των έργων τους, να αποφύγουν νέες εγκαταστάσεις των επηρεαζόμενων εκδόσεων, να αντικαταστήσουν όλα τα npm tokens, τα διαπιστευτήρια GitHub, τα κλειδιά AWS και τα Vault tokens και να θεωρήσουν ως πιθανώς εκτεθειμένα τα πρόσφατα CI/CD pipelines που χρησιμοποίησαν τα συγκεκριμένα πακέτα.

Exit mobile version