Ναι, υπάρχει ένα πακέτο npm που ονομάζεται @(-.-)/env και κάποια άλλα παρόμοια

Τα πακέτα npm με περίεργα ονόματα όπως -, @!-!/-, @(-.-)/env και –hepl συνεχίζουν να υπάρχουν στο μεγαλύτερο μητρώο λογισμικού του Διαδικτύου.

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

Ο συνάδελφός μου και ανώτερος μηχανικός λογισμικού της Sonatype

Λεξ Βορόνα

συναντήσαμε όχι ένα αλλά πολλά πακέτα npm που δεν ακολουθούν αυστηρά

ς συμβάσεις ονομασίας ή έχουν μάλλον εντυπωσιακά ονόματα.

«Αν ψάξεις

@!-!/-

στο npmjs.com θα σας πει ότι δεν υπάρχουν πακέτα όπως αυτό. Αλλά αν το βάλετε απλώς στη διεύθυνση URL, θα δείτε ότι είναι στην πραγματικότητα ένα πακέτο:

https://www.npmjs.com/package/@!-!/-

», μοιράστηκε ο Vorona με το BleepingComputer.

, Ναι, υπάρχει ένα πακέτο npm που ονομάζεται @(-.-)/env και κάποια άλλα παρόμοια, TechWar.gr

Πακέτο npm με περίεργη ονομασία ‘@!-!/-‘

(BleepingComputer)

Τα ονόματα πακέτων που ξεκινούν με “@” υποδεικνύουν ότι το πακέτο έχει εμβέλεια όπως το σύμβολο χρησιμοποιείται για να υποδηλώσει

πεδία

ή χώρους ονομάτων στο μητρώο npm.

Για παράδειγμα, μια εταιρεία με το όνομα “Example Inc.” μπορεί να επιλέξει να δημοσιεύσει τα πακέτα npm “foo” και “bar” κάτω από αυτό

@παράδειγμα

εύρος, κάνοντας αυτά τα πακέτα να εμφανίζονται ως

@example/foo

και

@example/bar

στο npmjs.com

.

Η μπροστινή κάθετο (/) μετά το σύμβολο @ χρησιμοποιείται ως οριοθέτης ή διαχωριστής μεταξύ του πεδίου και του ονόματος του πακέτου.

Αυτό σημαίνει ότι το ίδιο το πακέτο ονομάζεται “-” αλλά δημοσιεύεται με ένα περίεργο όνομα “!-!” δίνοντάς του ένα funky παρατσούκλι συνολικά.

«Υπάρχουν επίσης


@----/-


και


@-)/utils


τα οποία επίσης δεν μπορούν να αναζητηθούν», μας είπε περαιτέρω ο Vorona.

Σύμφωνα με την πλατφόρμα ασφαλείας npm, Socket,

@—-/-

είναι ένα κενό πακέτο—δεν περιέχει κανένα λειτουργικό κώδικα εκτός από το μανιφέστο, ενώ

@-)/χρήση

καταργείται.

@!-!/-

περιέχει ελάχιστο κωδικό.

Ο μηχανικός συνέταξε μια λίστα με πολλά πακέτα με περίεργα ονόματα, μερικά με ονόματα εμβέλειας που περιλάμβαναν ένα emoji κειμένου:

@!!!!!/στοιχειώδης

@!!!!!/javascript

@!!!!!/mounted-to-dom

@!!!!!/πολική αρκούδα

@!!!!!/απαιτώ

@!!!!!/κτίριο χωρίς ανυψωτήρα

@!!!!!/κτίριο χωρίς ανυψωτήρα

@!-!/-

@!tach!/sgejs

@!βανίλια/δοχείο

@(-.-)/λάθος εφαρμογής

@(-.-)/automaintainer

@(-.-)/env

@(-.-)/html

@(-.-)/αποτέλεσμα

@(-.-)/swagger-ui

@(._.)/εκτέλεση

@(._.)/oooooo

@(~_~)/


@))/μοναδικό χαρτί

@-)/χρήση

@—-/-

@-./db

@-0/ενίσχυση

@-0/πρόγραμμα περιήγησης

@-0/hdom

@-0/πλήκτρα

@-0/καρούλι

@-0/χρησιμοποιήσεις

Ονόματα πακέτων ή εντολές;

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

Σε αποκλειστική αναφορά, το BleepingComputer είχε προηγουμένως ρίξει φως σε ένα άδειο πακέτο npm “-” με περισσότερες από 700.000 λήψεις.

, Ναι, υπάρχει ένα πακέτο npm που ονομάζεται @(-.-)/env και κάποια άλλα παρόμοια, TechWar.gr

Κενό πακέτο “-” με περισσότερες από 700.000 λήψεις

Ο λόγος για αυτό υποτέθηκε ότι οι προγραμματιστές πληκτρολογούν κατά λάθος μια επιπλέον παύλα (“-“) στις οδηγίες της γραμμής εντολών, όπως π.χ.

npm i,

Αυτό θα έκανε τον πελάτη npm να κατεβάσει αυτό το κενό πακέτο επιπλέον του πακέτου που είχαν σκοπό να κατεβάσουν.


με διακριτική ονομασία όπως “

–hepl

” (σε αντίθεση με το “–help”) μπορεί να επιτύχει ένα παρόμοιο αποτέλεσμα, δεδομένης της δυνατότητας τυπο-κατάληψης.

Παρατηρήθηκε BleepingComputer,

μόλις εγκατασταθεί το “–hepl”.

το

εμφανίζει το μήνυμα

, “You is pwnd” στην κονσόλα του προγραμματιστή, καθιστώντας το μια

απόδειξης της ιδέας (PoC). Μπορεί να μην είναι όλα τα πακέτα τόσο επιεικής.

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

Άλλα παραδείγματα πακέτων με ένα γράμμα ή εκείνων που μοιάζουν με εντολές npm περιλαμβάνουν, αλλά δεν περιορίζονται σε:

Εγώ

,

σολ

,

εγκαθιστώ

,

ρε

και

μικρό

.

Ξεκινώντας το 2017, η npm έκανε αναθεωρήσεις στους κανόνες ονομασίας της

για να αποτρέψουν τα τυπογραφικά κατασκήνια

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



bleepingcomputer.com


Leave A Reply



Cancel Reply

Your email address will not be published.