Cybersecurity

Κακόβουλα npm και Go πακέτα κλέβουν δεδομένα μέσω VS Code Tasks

Δύο hijacked npm πακέτα και μια ομάδα Go packages χρησιμοποιούν VS Code Tasks για να στήσουν Python infostealer σε Windows, macOS και Linux. Αν κατεβάζετε εργαλεία ανάπτυξης ή δουλεύετε σε μικρή επιχείρηση, αξίζει να ελέγξετε τώρα τα installs, τα secrets και τα developer accounts σας.

Αν εγκαθιστάτε πακέτα από npm ή Go για δουλειά, υπάρχει ένα νέο σενάριο που δεν μοιάζει με το κλασικό malware που «φωνάζει» από μακριά. Δύο hijacked npm packages και μια ομάδα Go packages βρέθηκαν να χρησιμοποιούν VS Code Tasks για να ρίξουν Python infostealer σε Windows, macOS και Linux. Δηλαδή μιλάμε για επίθεση που στοχεύει ακριβώς εκεί όπου πολλοί προγραμματιστές νιώθουν ασφαλείς: στο εργαλείο που ανοίγουν κάθε μέρα.

Το πρακτικό μήνυμα για όσους δουλεύουν με κώδικα, αλλά και για μικρές εταιρείες που βασίζονται σε freelancers ή εσωτερικά dev laptops, είναι απλό: δεν αρκεί να κοιτάτε μόνο αν ένα πακέτο «γράφει σωστά». Πρέπει να ελέγχετε πώς εκτελείται, τι τραβάει από το σύστημα και ποια μυστικά μπορεί να μαζέψει πριν το καταλάβει κανείς.

Πώς περνάει η επίθεση από το VS Code χωρίς να φαίνεται ύποπτη

Η ιδέα πίσω από τέτοιου τύπου κακόβουλα πακέτα είναι έξυπνη και γι’ αυτό επικίνδυνη. Αντί να στηριχτούν στους πιο γνωστούς μηχανισμούς εκτέλεσης του npm, οι επιτιθέμενοι εκμεταλλεύονται VS Code Tasks και hooks που περνούν πιο εύκολα κάτω από το ραντάρ. Στην πράξη, ο developer μπορεί να εγκαταστήσει ένα πακέτο για κάτι τελείως αθώο και να μην καταλάβει ότι μαζί του κατεβαίνει και το κομμάτι που στήνει τον infostealer.

Ο στόχος δεν είναι συνήθως «να χαλάσει» αμέσως ο υπολογιστής. Είναι να τραβηχτούν κωδικοί, tokens, cookies σύνδεσης, SSH keys, API keys και άλλα στοιχεία που κάνουν τη ζημιά πολύ πιο ακριβή από ένα απλό infection. Αν ο λογαριασμός σας σε GitHub, GitLab, cloud υπηρεσία ή password manager παραβιαστεί, το πρόβλημα δεν μένει στον έναν σταθμό εργασίας.

Ποιοι κινδυνεύουν περισσότερο στο ελληνικό περιβάλλον

Οι πιο εκτεθειμένοι δεν είναι μόνο οι «βαριοί» software engineers. Στην Ελλάδα βλέπουμε όλο και περισσότερες μικρές ομάδες ανάπτυξης, digital agencies, e-shops και freelancers που χρησιμοποιούν έτοιμα packages για να κερδίσουν χρόνο. Εκεί ακριβώς χτυπάει αυτή η κατηγορία επιθέσεων: σε περιβάλλοντα όπου κάποιος εγκαθιστά γρήγορα dependencies, δουλεύει σε προσωπικό laptop και συνδέει σε ένα μηχάνημα λογαριασμούς πελατών, staging servers και production dashboards.

Αν στην ίδια συσκευή έχετε Chrome profile με αποθηκευμένους κωδικούς, πρόσβαση σε Gmail, Slack, GitHub και εταιρικό VPN, το ρίσκο ανεβαίνει αμέσως. Το ίδιο ισχύει και για Mac ή Linux laptops που πολλοί θεωρούν «πιο ασφαλή» από Windows. Ο συγκεκριμένος τύπος infostealer στοχεύει multi-platform περιβάλλον, άρα δεν υπάρχει ασφαλές στρατόπεδο από μόνο του.

Τι να ελέγξετε τώρα σε npm, Go και VS Code

Αν διαχειρίζεστε development μηχάνημα, ξεκινήστε από τα βασικά. Δείτε ποια packages έχετε βάλει πρόσφατα, ειδικά αν προέρχονται από λιγότερο γνωστά repositories ή αν μπήκαν για να λύσουν ένα πολύ συγκεκριμένο πρόβλημα που δεν θυμάστε πια γιατί το χρειάζεστε. Σε npm και Go, το όνομα ενός πακέτου δεν αρκεί ως εγγύηση. Κοιτάξτε αν έχει ξαφνικές αλλαγές, ασυνήθιστο maintainer history ή εξαρτήσεις που δεν ταιριάζουν με τη λειτουργία του.

Στο VS Code, ελέγξτε extensions, workspace settings και tasks που εκτελούνται αυτόματα όταν ανοίγει ένα project. Αν ένα repo σάς ζητά να τρέξετε κάτι που δεν καταλαβαίνετε πλήρως, σταματήστε πριν πατήσετε αποδοχή. Ακόμα και ένα φαινομενικά αθώο task μπορεί να κατεβάσει payload, να στήσει persistence ή να συλλέξει credentials από τοπικά paths.

Για μικρές επιχειρήσεις, η πρακτική κίνηση είναι να ξεχωρίσετε τα developer accounts από τα προσωπικά και να περιορίσετε τα admin rights στα laptops που γράφουν κώδικα. Ένα infostealer γίνεται πολύ πιο χρήσιμο για τον επιτιθέμενο όταν ο χρήστης έχει πρόσβαση σε πολλά services με το ίδιο session.

Κωδικοί, passkeys και 2FA: το τριπλό φρένο που αξίζει να βάλετε

Ακόμα κι αν ένα κακόβουλο package περάσει, δεν πρέπει να βρει εύκολη λεία. Το πρώτο βήμα είναι password manager με μοναδικούς κωδικούς για κάθε υπηρεσία. Το δεύτερο είναι 2FA παντού, ιδανικά με authenticator app ή security key και όχι μόνο με SMS. Το τρίτο, εκεί που γίνεται, είναι passkeys. Δεν εξαφανίζουν το ρίσκο, αλλά κόβουν πολύ από την αξία που ψάχνει ένας infostealer.

Ιδιαίτερη προσοχή θέλει το Gmail, γιατί από εκεί μπορεί να γίνει reset σχεδόν σε κάθε άλλη υπηρεσία. Αν κάποιος αποκτήσει πρόσβαση στο email σας, μπορεί να αλλάξει κωδικούς, να πάρει εισερχόμενα security alerts και να ανοίξει δρόμο και σε άλλους λογαριασμούς. Για αυτό, οι ρυθμίσεις ανάκτησης, τα recovery emails και τα συνδεδεμένα devices θέλουν τακτικό έλεγχο.

Πώς να μειώσετε τη ζημιά πριν φτάσει στην επιχείρηση

Αν έχετε μικρή ομάδα ή δουλεύετε με εξωτερικούς συνεργάτες, ορίστε βασικούς κανόνες: κανένα project δεν ανοίγει χωρίς review των dependencies, κανένα production credential δεν μένει σε plain text, και κανένα laptop δεν χρησιμοποιεί για πάντα τα ίδια tokens. Η λογική του least privilege δεν είναι θεωρία για μεγάλα IT τμήματα. Είναι ο πιο απλός τρόπος να περιορίσετε το τι μπορεί να πάρει ένας infostealer αν μπει μέσα.

Κάντε επίσης συνήθεια το cloud backup και το monitoring λογαριασμών. Αν δείτε περίεργες συνδέσεις, νέα sessions, αλλαγές σε SSH keys ή ασυνήθιστη δραστηριότητα σε GitHub/GitLab, κινηθείτε αμέσως. Σε περιβάλλοντα ανάπτυξης, η καθυστέρηση των λίγων ωρών μπορεί να μετατραπεί σε διαρροή κώδικα, διαπιστευτηρίων και πρόσβασης σε πελατειακά συστήματα.

Για όσους δεν γράφουν κώδικα αλλά μοιράζονται τον ίδιο υπολογιστή με developer ή χειρίζονται business tools, το μήνυμα είναι παρόμοιο: μην αποθηκεύετε παντού τον ίδιο κωδικό, μην αφήνετε ενεργά sessions χωρίς λόγο και μην αγνοείτε ενημερώσεις σε browser, IDE και λειτουργικό. Πολλές από τις μεγαλύτερες ζημιές ξεκινούν από ένα μικρό, βιαστικό install.

Τεκμηρίωση