Η ομάδα απειλών TeamPCP πραγματοποίησε μια ακόμη μεγάλη επίθεση στην αλυσίδα εφοδιασμού λογισμικού, καταφέρνοντας μέσα σε λίγες ώρες αυτή την εβδομάδα να παραβιάσει επιτυχώς 170 πακέτα του Node Package Manager (npm) και του PyPI. Η επίθεση επηρέασε ολόκληρο το οικοσύστημα του TanStack Router (@tanstack), μια βιβλιοθήκη δρομολόγησης που είναι εξαιρετικά δημοφιλής μεταξύ των προγραμματιστών εφαρμογών ιστού React.
Δείτε επίσης: Mini Shai-Hulud Worm: Μολύνει TanStack, Mistral AI και άλλα Packages

Πολλαπλά άλλα πακέτα επηρεάστηκαν επίσης, συμπεριλαμβανομένων των @squawk (87 πακέτα), @uipath (66 πακέτα), @tallyui (30 πακέτα), @beproduct (18 πακέτα), καθώς και της σουίτας SDK του Mistral AI τόσο στο npm όσο και στο PyPI, και το πακέτο Guardrails AI PyPI. Οι επιθέσεις, που παρατηρήθηκαν από πολλούς προμηθευτές που χρησιμοποιούν αυτοματοποιημένα εργαλεία ασφαλείας, συνέβησαν στις 11 Μαΐου και εξαπλώθηκαν γρήγορα μέσω των οικοσυστημάτων πακέτων χάρη στις δυνατότητες του worm της αυτοματοποιημένης πλατφόρμας κακόβουλου λογισμικού Mini Shai-Hulud, όπως έδειξε η ανάλυση.
Ο ακριβής αριθμός των εκδόσεων πακέτων που επηρεάστηκαν από την επίθεση ποικίλλει ανάλογα με την πηγή. Σύμφωνα με την Aikido Security, ήταν 373 σε 169 ονόματα χώρων πακέτων, ενώ η SafeDep ανέφερε ότι ο αριθμός ήταν 404 εκδόσεις πακέτων σε 170 πακέτα npm, με δύο να επηρεάζουν το PyPI. Ένα εντυπωσιακό χαρακτηριστικό των επιθέσεων είναι η ευκολία με την οποία η ομάδα απειλών TeamPCP, που κατηγορείται για την επίθεση, κατάφερε να καταλάβει τις νόμιμες γραμμές παραγωγής των έργων εκμεταλλευόμενη έναν συνδυασμό κακών ρυθμίσεων των συντηρητών και αδυναμιών του GitHub Actions.
Αντί να κλέψουν άμεσα τα διαπιστευτήρια των συντηρητών, οι επιτιθέμενοι εκμεταλλεύτηκαν μια επικίνδυνη ενεργοποίηση, το pull_request_target. Αυτό επιτρέπει την αυτόματη εκτέλεση των ροών εργασίας τρίτων – ένας τρόπος για να αποφευχθεί η κόπωση έγκρισης των συντηρητών – αλλά σημαίνει ότι τα βραχύβια OIDC tokens των συντηρητών γίνονται ευάλωτα σε scraping. Εξοπλισμένοι με αυτά τα tokens, οι επιτιθέμενοι κατάφεραν να παραβιάσουν τα πακέτα εισάγοντας το κακόβουλο λογισμικό Mini Shai-Hulud, το οποίο εξαπλώθηκε σε άλλα έργα.
Ο σκοπός είναι να κλέψουν διαπιστευτήρια προγραμματιστών όπως tokens GitHub και npm, διαπιστευτήρια cloud, κλειδιά API, λογαριασμούς υπηρεσιών Kubernetes και κλειδιά SSH.
Δείτε ακόμα: ZiChatBot Malware: Κακόβουλα PyPI Packages στοχεύουν Windows και Linux

Το κακόβουλο λογισμικό εγκαθιστά επίσης έναν καταστροφικό ‘διακόπτη θανάτου‘ που προσπαθεί να διαγράψει ολόκληρο τον αρχικό κατάλογο του χρήστη εάν ένας προγραμματιστής ανακαλέσει ένα κλεμμένο token GitHub. Οι επιθέσεις από την TeamPCP που στοχεύουν αλυσίδες εφοδιασμού λογισμικού έχουν γίνει ένα επαναλαμβανόμενο θέμα τους τελευταίους μήνες. Αυτό περιλαμβάνει μια παρόμοια παραβίαση τον Απρίλιο της γραμμής εντολών της έκδοσης του διαχειριστή κωδικών πρόσβασης Bitwarden.
Ένα μήνα νωρίτερα ήταν ο σαρωτής ευπαθειών ανοιχτού κώδικα Trivy της Aqua Security, που αργότερα αποκαλύφθηκε ότι προκάλεσε παραβίαση δεδομένων στον ιστότοπο Europa.eu της ΕΕ. Σύμφωνα με τον Abhisek Datta, ιδρυτή της SafeDep, ένας από τους πρώτους προμηθευτές που ανίχνευσαν την παραβίαση, η TeamPCP φαίνεται να σχεδίασε την καμπάνια για να στοχεύσει προγραμματιστές στις ΗΠΑ. “Γνωρίζουν ότι οι επιθέσεις υψηλού προφίλ θα εντοπιστούν γρήγορα από τη βιομηχανία. Στοχεύοντας συγκεκριμένες ώρες εργασίας στις ΗΠΑ, πιθανότατα θέλουν να μεγιστοποιήσουν την απόδοσή τους κατά τη διάρκεια ενός σύντομου παραθύρου ευκαιρίας“, είπε μέσω email.
“Ο τρόπος με τον οποίο έχει εξελιχθεί η χρήση λογισμικού και το δίκτυο εμπιστοσύνης, κυρίως κλίνει προς την έμμεση εμπιστοσύνη, είναι πιθανώς η ρίζα του προβλήματος που εκμεταλλεύονται αυτές οι επιθέσεις. Δυστυχώς, είναι δύσκολο να διορθωθεί, ειδικά σήμερα όπου οι προγραμματιστές και οι εταιρείες λογισμικού αναμένουν ταχύτητα πάνω από όλα.” Οι προγραμματιστές θα μπορούσαν να προσθέσουν περισσότερη ασφάλεια γύρω από τα πακέτα, αλλά αυτό θα δημιουργούσε πρόσθετη τριβή, είπε ο Datta.
“Ειλικρινά, θα έλεγα ότι αυτό είναι κάτι που ο κόσμος εξακολουθεί να προσπαθεί να καταλάβει.” Η SafeDep έχει δημοσιεύσει μια πλήρη λίστα των επηρεαζόμενων πακέτων, με δείκτες παραβίασης. Εάν χρησιμοποιούνται κάποια από τα παραβιασμένα πακέτα, οι προτεινόμενες ενέργειες είναι να ελέγξετε το αρχείο κλειδώματος για γνωστές παραβιασμένες εκδόσεις, να καρφιτσώσετε τις εξαρτήσεις σε γνωστές καλές εκδόσεις και να ελέγξετε για αποδείξεις κακόβουλων αρχείων.
Δείτε επίσης: Contagious Interview – Βόρεια Κορέα: 1.700 κακόβουλα πακέτα npm, PyPI, Go, Rust

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