Ο package manager npm εισάγει επαναστατικά μέτρα ασφαλείας με την προσθήκη υποχρεωτικού 2FA ελέγχου και νέων εργαλείων προστασίας κατά των επιθέσεων στην αλυσίδα εφοδιασμού λογισμικού. Η GitHub, που κατέχει την npm, ανακοίνωσε τη διαθεσιμότητα της λειτουργίας staged publishing, η οποία απαιτεί ρητή έγκριση από έναν συντηρητή πριν τα πακέτα γίνουν δημόσια διαθέσιμα για εγκατάσταση. Αυτή η κίνηση αποτελεί απάντηση στην εκρηκτική αύξηση των κυβερνοεπιθέσεων που στοχεύουν οικοσυστήματα ανοιχτού κώδικα και απειλούν εκατομμύρια εφαρμογές παγκοσμίως.

Η νέα λειτουργία staged publishing αποτελεί σημαντική αναβάθμιση στην ασφάλεια του npm, καθώς υποχρεώνει έναν άνθρωπο maintainer να περάσει από challenge ελέγχου ταυτότητας δύο παραγόντων (2FA) για να εγκρίνει ένα πακέτο πριν αυτό δημοσιευτεί στο npmjs.com. Αντί να γίνεται άμεση δημοσίευση, κάτι που θα καθιστούσε αμέσως διαθέσιμη μια έκδοση πακέτου στους καταναλωτές, το προκατασκευασμένο tarball ανεβαίνει σε ένα stage queue όπου ένας συντηρητής πρέπει να το εγκρίνει ρητά πριν γίνει εγκαταστάσιμο. Αυτή η προσέγγιση δημιουργεί ένα κρίσιμο σημείο ελέγχου που μπορεί να σταματήσει κακόβουλα πακέτα ακόμη και αν οι εγκληματίες έχουν αποκτήσει πρόσβαση σε αυτοματοποιημένα συστήματα δημοσίευσης.
Η Microsoft, μέσω της θυγατρικής της GitHub, τόνισε ότι η αλλαγή εξασφαλίζει “απόδειξη παρουσίας” για κάθε δημοσίευση, συμπεριλαμβανομένων εκείνων που προέρχονται από μη διαδραστικές ροές εργασίας CI/CD και αξιόπιστη δημοσίευση με ελέγχο ταυτότητας OpenID Connect (OIDC). Αυτό το μέτρο στοχεύει στην αντιμετώπιση του αυξανόμενου αριθμού επιθέσεων στην αλυσίδα εφοδιασμού λογισμικού, που έχουν πλήξει τα οικοσυστήματα ανοιχτού κώδικα τους τελευταίους μήνες. Η σημασία αυτής της αλλαγής γίνεται ακόμη πιο εμφανής όταν λάβουμε υπόψη ότι το npm εξυπηρετεί δισεκατομμύρια λήψεις πακέτων μηνιαίως, καθιστώντας το ένα από τα πιο κρίσιμα σημεία της παγκόσμιας ψηφιακής υποδομής.
Δείτε επίσης: DAEMON Tools Supply Chain Attack: Κυβερνητικοί οργανισμοί στο στόχαστρο
npm: Προαπαιτούμενα και Τεχνικές Λεπτομέρειες του Staged Publishing
Πριν χρησιμοποιήσουν το staged publishing, οι συντηρητές πακέτων πρέπει να πληρούν συγκεκριμένα κριτήρια ασφαλείας:
- Πρέπει να έχουν δικαιώματα δημοσίευσης στο πακέτο,
- Το πακέτο πρέπει να υπάρχει ήδη στο μητρώο npm (δηλαδή ένα εντελώς νέο πακέτο δεν μπορεί να περάσει τη φάση staging)
- Πρέπει να είναι ενεργοποιημένο το 2FA για τον λογαριασμό τους.
Οι προγραμματιστές μπορούν να χρησιμοποιήσουν την εντολή “npm stage publish” από το root directory του πακέτου για να το υποβάλουν σε staging area. Η διαδικασία αυτή δημιουργεί ένα προσωρινό αποθετήριο όπου το πακέτο παραμένει μέχρι να εγκριθεί από έναν εξουσιοδοτημένο συντηρητή.
Για τη χρήση αυτής της εντολής, είναι απαραίτητη η ενημέρωση στην npm CLI 11.15.0 ή νεότερη έκδοση. Για βέλτιστη προστασία, η GitHub συνιστά το staged publishing να συνδυάζεται με αξιόπιστη δημοσίευση χρησιμοποιώντας OIDC. Αυτή η προσέγγιση μειώνει σημαντικά τον κίνδυνο από κλεμμένα διαπιστευτήρια ή παραβιασμένα tokens, καθώς η ταυτοποίηση γίνεται μέσω κρυπτογραφικά ασφαλών πρωτοκόλλων που δεν απαιτούν την αποθήκευση μακροπρόθεσμων μυστικών στα συστήματα CI/CD.
Δείτε επίσης: Η Google αποδίδει το Axios Supply Chain Attack στην UNC1069

Νέα Install Source Flags Για Ενισχυμένη Ασφάλεια
Η δεύτερη σημαντική ενημέρωση της npm αφορά την εισαγωγή τριών νέων install source flags παράλληλα με το υπάρχον –allow-git flag -. Τα νέα flags περιλαμβάνουν το –allow-file που ελέγχει εγκαταστάσεις από τοπικές διαδρομές αρχείων και τοπικά tarballs, το –allow-remote που ελέγχει εγκαταστάσεις από απομακρυσμένα URLs συμπεριλαμβανομένων https tarballs, και το –allow-directory που ελέγχει εγκαταστάσεις από τοπικούς καταλόγους. Αυτά τα flags λειτουργούν ως φίλτρα ασφαλείας που επιτρέπουν στους προγραμματιστές να ορίσουν με ακρίβεια ποιες πηγές θεωρούνται αξιόπιστες για την εγκατάσταση πακέτων.
Έτσι, οι προγραμματιστές μπορούν να “εφαρμόσουν την ίδια προσέγγιση explicit-allowlist σε κάθε non-registry install source”, όπως ανέφερε η GitHub.
Η σημασία αυτών των ελέγχων γίνεται κρίσιμη σε εταιρικά περιβάλλοντα όπου η ασφάλεια της αλυσίδας εφοδιασμού αποτελεί προτεραιότητα και όπου ακόμη και μια μικρή παραβίαση μπορεί να έχει καταστροφικές συνέπειες.

Πρακτικές Συμβουλές Ασφαλείας για Οργανισμούς
Οι ειδικοί κυβερνοασφάλειας συνιστούν στους οργανισμούς να υιοθετήσουν μια πολυεπίπεδη προσέγγιση ασφαλείας για την προστασία από επιθέσεις στην αλυσίδα εφοδιασμού. Για τους συντηρητές πακέτων, η ενεργοποίηση 2FA σε όλους τους λογαριασμούς npm και GitHub με δικαιώματα δημοσίευσης είναι απαραίτητη, ενώ προτιμάται η χρήση 2FA βασισμένου σε passkeys αντί για SMS ή λιγότερο ασφαλείς μεθόδους. Επιπλέον, οι οργανισμοί πρέπει να χρησιμοποιούν τη ρύθμιση “Απαίτηση ελέγχου ταυτότητας δύο παραγόντων και απαγόρευση tokens” για κρίσιμα πακέτα, να ελαχιστοποιούν τον αριθμό των συντηρητών με δικαιώματα δημοσίευσης, και να επανεξετάζουν περιοδικά τις ρυθμίσεις πακέτων.
Δείτε επίσης: GitHub Actions: Supply chain attack κλέβει διαπιστευτήρια CI/CD
Η ανάπτυξη έρχεται εν μέσω μιας τεράστιας αύξησης των επιθέσεων supply chain που στοχεύουν οικοσυστήματα ανοιχτού κώδικα. Μια εγκληματική ομάδα, γνωστή ως TeamPCP, έχει εμπλακεί στη μόλυνση δημοφιλών πακέτων, σύμφωνα με The Hacker News. Αυτές οι επιθέσεις έχουν αποδείξει την ανάγκη για πιο αυστηρά μέτρα ελέγχου και επαλήθευσης στη διαδικασία δημοσίευσης πακέτων.
🔑 Ασφαλίστε τους κωδικούς σας με Proton Pass
Password manager από την Proton — end-to-end κρυπτογράφηση, passkeys, ενσωματωμένο 2FA και παρακολούθηση για διαρροές των στοιχείων σας.
- ✔ Κρυπτογραφημένη αποθήκευση κωδικών & passkeys
- ✔ Ειδοποίηση αν κάποιος κωδικός σας διέρρευσε (Dark Web Monitoring)
- ✔ Δωρεάν έκδοση — σε όλες τις συσκευές
Ο σύνδεσμος είναι συνεργατικός (affiliate) — το SecNews ενδέχεται να λάβει προμήθεια χωρίς επιπλέον κόστος για εσάς. Δεν επηρεάζει την ανεξαρτησία της αρθρογραφίας μας.
