Νέες έρευνες ανέδειξαν πάνω από 800 πακέτα στο κατάστημα npm που παρουσιάζουν αντιφάσεις από τα στοιχεία του καταλόγου τους, εκ των οποίων 18 βρέθηκαν να εκμεταλλεύονται από μια τεχνική που ονομάζεται manifest confusion.
Δείτε επίσης: Παραβιασμένα S3 buckets χρησιμοποιούνται σε επιθέσεις σε npm packages

Τα ευρήματα προέρχονται από την εταιρεία κυβερνοασφάλειας JFrog, η οποία ανέφερε ότι το θέμα θα μπορούσε να εκμεταλλευτεί από εισβολείς για να εξαπατήσουν τους προγραμματιστές να εκτελέσουν κακόβουλο κώδικα.
Το manifest confusion καταγράφηκε για πρώτη φορά τον Ιούλιο του 2023, όταν ο ερευνητής ασφάλειας Darcy Clarke ανέφερε ότι οι ασυμφωνίες στην καταγραφή και τα μεταδεδομένα των πακέτων npm μπορούσαν να χρησιμοποιηθούν για επιθέσεις στην αλυσίδα εφοδιασμού λογισμικού.
Το πρόβλημα πηγάζει από το γεγονός ότι το npm registry δεν επικυρώνει εάν το αρχείο manifest που περιέχεται στο tarball (package.json) αντιστοιχεί στα δεδομένα του manifest που παρέχονται στον διακομιστή npm κατά τη διαδικασία δημοσίευσης μέσω ενός αιτήματος HTTP PUT στο τέλος του URI πακέτου.
Ως αποτέλεσμα, ένας κακόβουλος παράγοντας θα μπορούσε να εκμεταλλευτεί αυτήν την έλλειψη ελέγχου, για να παρέχει ένα διαφορετικό manifest που περιέχει κρυφές εξαρτήσεις που επεξεργάζονται κατά την εγκατάσταση του πακέτου, για να εγκαταστήσει κρυφά κακόβουλες εξαρτήσεις στο σύστημα του προγραμματιστή.
Δείτε ακόμα: Nascent Malware: Επιτίθεται σε προγραμματιστές npm, PyPI και RubyGems
Η εταιρεία ανέφερε ότι εντόπισε περισσότερα από 800 πακέτα npm όπου υπήρχε αναφορική αντίθεση μεταξύ του μητρώου και του αρχείου package.json μέσα στο tarball. Πολλές από αυτές τις αναφορές μιλάνε για διαφορές στην προδιαγραφή του πρωτοκόλλου ή παραλλαγές στην ενότητα των σεναρίων του αρχείου πακέτου npm, ενώ 18 από αυτές φέρεται να έχουν σχεδιαστεί για την εκμετάλλευση του manifest confusion στο μεταβατικό φάκελο.

Ένα σημαντικό πακέτο που αξίζει να αναφερθεί είναι το yatai-web-ui, το οποίο σχεδιάστηκε για να στέλνει ένα αίτημα HTTP σε έναν εξυπηρετητή με πληροφορίες σχετικά με τη διεύθυνση IP της μηχανής στην οποία εγκαταστάθηκε το πακέτο.
Τα ευρήματα δείχνουν ότι το διάνυσμα επίθεσης δεν έχει χρησιμοποιηθεί ποτέ από απειλητικούς παράγοντες για τη διεξαγωγή επιθέσεων. Ωστόσο, είναι ζωτικής σημασίας οι προγραμματιστές να λάβουν μέτρα για να εξασφαλίσουν ότι τα πακέτα είναι απαλλαγμένα από ύποπτες συμπεριφορές.
Δείτε επίσης: Εντοπίστηκαν κακόβουλα πακέτα npm και PyPi που κλέβουν ευαίσθητα data από devs
Ποιες είναι οι κυριότερες λειτουργίες των npm packages;
- Τα npm packages παρέχουν μια συλλογή από κώδικα που μπορεί να επαναχρησιμοποιηθεί σε διάφορα projects. Αυτό σημαίνει ότι οι προγραμματιστές δεν χρειάζεται να ξεκινήσουν από την αρχή, κάθε φορά που χρειάζονται μια συγκεκριμένη λειτουργία.
- Τα npm packages επιτρέπουν την εύκολη διαχείριση εξαρτήσεων. Αυτό σημαίνει ότι αν ένα πακέτο εξαρτάται από άλλα πακέτα, το npm μπορεί να τα εγκαταστήσει αυτόματα.
- Τα npm packages επιτρέπουν επίσης την ενημέρωση του κώδικα. Όταν οι δημιουργοί ενός πακέτου κάνουν αλλαγές, οι προγραμματιστές μπορούν να ενημερώσουν το πακέτο στην εφαρμογή τους με μια απλή εντολή.
- Τα npm packages υποστηρίζουν την εγκατάσταση πακέτων σε τοπικό επίπεδο για ένα συγκεκριμένο έργο ή σε παγκόσμιο επίπεδο για χρήση σε όλα τα έργα. Αυτό παρέχει ευελιξία στους προγραμματιστές.
- Τα npm packages επιτρέπουν την δημιουργία και την διανομή προσαρμοσμένων πακέτων. Οι προγραμματιστές μπορούν να δημιουργήσουν τα δικά τους πακέτα και να τα κοινοποιήσουν μέσω του npm registry.
Πηγή: thehackernews
🔒 Προστατέψτε την ιδιωτικότητά σας με Proton VPN
Ελβετικό VPN από τους δημιουργούς του Proton Mail — αυστηρή πολιτική no-logs, ισχυρή κρυπτογράφηση και ενσωματωμένο NetShield που μπλοκάρει διαφημίσεις, trackers & malware.
- ✔ No-logs, με έδρα την Ελβετία (εκτός 14-Eyes)
- ✔ NetShield: φραγή διαφημίσεων, trackers & κακόβουλων domains
- ✔ Καλύπτει όλες τις συσκευές — δωρεάν έκδοση διαθέσιμη
Ο σύνδεσμος είναι συνεργατικός (affiliate) — το SecNews ενδέχεται να λάβει προμήθεια χωρίς επιπλέον κόστος για εσάς. Δεν επηρεάζει την ανεξαρτησία της αρθρογραφίας μας.
