Μια νέα επίθεση αλυσίδας εφοδιασμού με την ονομασία «mini Shai Hulud» έχει θέσει σε κίνδυνο τέσσερα πακέτα npm που σχετίζονται με το SAP, εισάγοντας κακόβουλα σενάρια προεγκατάστασης που εκτελούνται σιωπηλά κατά την εγκατάσταση εξάρτησης, στοχεύοντας περιβάλλοντα προγραμματιστών και αγωγούς CI/CD για να κλέψουν διαπιστευτήρια σε GitHub, npm και σε μεγάλους παρόχους cloud.
Ερευνητές ασφαλείας στο StepSecurity, Ασφάλεια Aikido, SafeDep, Υποδοχήκαι Wiz εντόπισε ότι κακόβουλες εκδόσεις των νόμιμων πακέτων οικοσυστήματος SAP Cloud Application Programming Model (CAP) — συμπεριλαμβανομένων @cap-js/sqlite, @cap-js/postgres, @cap-js/db-serviceκαι mbt — δημοσιεύτηκαν με οπλισμένο preinstall γάντζος μέσα package.json.
Σε αντίθεση με τις προκάτοχές της καμπάνιες, αυτή η επίθεση χρησιμοποιεί μια νέα τροπή αποφυγής: αντί να βασίζεται στο Node.js για την εκτέλεση του ωφέλιμου φορτίου, το σενάριο dropper (setup.mjs) πραγματοποιεί λήψη του χρόνου εκτέλεσης JavaScript Bun κατά τον χρόνο εγκατάστασης και το χρησιμοποιεί για να εκτελέσει ένα πολύ ασαφές ωφέλιμο φορτίο 11 MB δεύτερου σταδίου (execution.js).
Αυτή η αρχιτεκτονική επιλογή είναι ότι τα σκόπιμα μοτίβα εκτέλεσης Bun βρίσκονται σε μεγάλο βαθμό εκτός του πεδίου ανίχνευσης των περισσότερων στατικών αναλύσεων και εργαλείων ασφαλείας που εστιάζονται στο Node.js.
Ωφέλιμο φορτίο πολλαπλών σταδίων και κλοπή διαπιστευτηρίων
Μια φορά setup.mjs ενεργοποιείται, ανακτά και εκτοξεύεται execution.jsένα σύστημα κλοπής διαπιστευτηρίων με πλήρεις δυνατότητες και πλαίσιο αυτοδιάδοσης. Όταν αποσυμφορείται, το ωφέλιμο φορτίο δεύτερου σταδίου συγκομίζει συστηματικά:
- Tokens GitHub και διαπιστευτήρια npm από σταθμούς εργασίας προγραμματιστών
- Μυστικά παρόχου cloud — μεταβλητές περιβάλλοντος AWS, Azure και GCP
- Διαπιστευτήρια λογαριασμού Kubernetes και διαπιστευτήρια λογαριασμού υπηρεσίας
- Μυστικά GitHub Actions, συμπεριλαμβανομένων μυστικών χρόνου εκτέλεσης που εξάγονται απευθείας από τη μνήμη του δρομέα
Τα κλεμμένα δεδομένα κρυπτογραφούνται και διεκπεραιώνονται μέσω δημόσιων αποθετηρίων GitHub που ελέγχονται από τους εισβολείς, ακολουθώντας το ίδιο μοτίβο διείσδυσης που καθορίστηκε από την αρχική καμπάνια Shai-Hulud.
Το κακόβουλο λογισμικό περιέχει επίσης λογική διάδοσης: χρησιμοποιώντας τυχόν κλεμμένα διακριτικά npm, εντοπίζει άλλα πακέτα στον λογαριασμό του παραβιασμένου συντηρητή, εισάγει κακόβουλο κώδικα και τα αναδημοσιεύει, επιτρέποντας εκθετική, αυτοματοποιημένη εξάπλωση σε όλο το οικοσύστημα npm χωρίς παρέμβαση ηθοποιών.
Κατά την προετοιμασία, το κακόβουλο λογισμικό εκτελεί έναν στοχευμένο έλεγχο γεωγραφικής περίφραξης — επιθεωρώντας τις ρυθμίσεις τοπικής ρύθμισης ημερομηνίας/ώρας του συστήματος και τις μεταβλητές γλώσσας περιβάλλοντος για τιμές που ξεκινούν με 'ru'.
Εάν το σύστημα έχει ρυθμιστεί για τη ρωσική γλώσσα, το κακόβουλο λογισμικό τερματίζεται αμέσως, διασφαλίζοντας ότι δεν γίνεται εξαγωγή δεδομένων από ρωσόφωνα περιβάλλοντα. Αυτή η σκόπιμη εξαίρεση είναι ένα επαναλαμβανόμενο δακτυλικό αποτύπωμα σε όλες τις καμπάνιες TeamPCP.
Οι ερευνητές αποδίδουν αυτήν την καμπάνια στο TeamPCP με μεγάλη σιγουριά, σημειώνοντας πολλαπλές επικαλυπτόμενες τεχνικές υπογραφές με προηγουμένως τεκμηριωμένες λειτουργίες TeamPCP που στοχεύουν πακέτα όπως το Trivy, το LiteLLM και το Checkmarx KICS. Οι βασικοί δείκτες απόδοσης περιλαμβάνουν:
- Το ίδιο
__decodeScrambledκρυπτογράφηση που χρησιμοποιείται για την κωδικοποίηση μυστικών πριν από την ανάρτηση σε αποθετήρια εκχύλισης - Πανομοιότυπη ρωσόφωνη λογική πρόωρης εξόδου
- Κοινό σταγονόμετρο (
setup.mjs— SHA256:4066781fa830224c8bbcc3aa005a396657f9c8f9016f9a64ad44a9d7f5f45e34) υπάρχει και στα τέσσερα πακέτα - Συνεπή μοτίβα κατάχρησης υποδομής: εκτέλεση χρόνου εγκατάστασης, διήθηση εκτός κεντρικού υπολογιστή και αυτοδιάδοση με υποστήριξη κάνιστρου.
Πακέτα και ΔΟΕ που επηρεάζονται
| Πακέτο | Εκδοχή | Tarball SHA256 |
|---|---|---|
@cap-js/postgres |
2.2.2 | 1d9e4ece8e13c8eaf94cb858470d1bd8f81bb58f62583552303774fa1579edee |
@cap-js/db-service |
2.10.1 | 258257560fe2f1c2cc3924eae40718c829085b52ae3436b4e46d2565f6996271 |
@cap-js/sqlite |
2.2.2 | a1da198bb4e883d077a0e13351bf2c3acdea10497152292e873d79d4f7420211 |
mbt |
1.2.48 | 86282ebcd3bebf50f087f2c6b00c62caa667cdcb53558033d85acd39e3d88b41 |
Το κοινό σταγονόμετρο setup.mjs (SHA1: 307d0fa7407d40e67d14e9d5a4c61ac5b4f20431) υπάρχει και στις τέσσερις συσκευασίες.
Ο execution.js ωφέλιμο φορτίο για @cap-js/postgres και @cap-js/db-service είναι πανομοιότυπο (SHA256: eb6eb4154b03ec73218727dc643d26f4e14dfda2438112926bb5daf37ae8bcdb).
Οι οργανισμοί που χρησιμοποιούν εργαλεία SAP CAP θα πρέπει να ελέγχουν αμέσως τις εξαρτήσεις αγωγών CI/CD, να εναλλάσσουν τυχόν μυστικά που υπάρχουν σε επηρεαζόμενα περιβάλλοντα και να αποκλείουν τις συγκεκριμένες παραβιασμένες εκδόσεις που αναφέρονται παραπάνω.
Τα Defenders θα πρέπει επίσης να παρακολουθούν για μη αναμενόμενες λήψεις χρόνου εκτέλεσης Bun κατά τη διάρκεια npm install λειτουργίες, καθώς αυτή η συμπεριφορά είναι ένας νέος δείκτης ειδικά για αυτήν την καμπάνια. Έχει γίνει υπεύθυνη αποκάλυψη στους συντηρητές όλων των επηρεαζόμενων πακέτων.
VIA: cybersecuritynews.com


