Claude Code extension: Πειραγμένη έκδοση στο marketplace του Cursor έστηνε SSH backdoor, δες αν σε αφορά
Εγκαθιστάς το επίσημο extension μιας μεγάλης εταιρείας AI, από το marketplace του editor σου, με το σωστό όνομα και τον σωστό εκδότη. Κι όμως, κάπου στο παρασκήνιο, ένα ξένο κλειδί SSH γράφεται στον υπολογιστή σου.
Αυτό συνέβη στις 29 Οκτωβρίου σε χρήστες του Cursor. Μια πειραγμένη έκδοση του Claude Code extension της Anthropic έμεινε διαθέσιμη στο marketplace του Cursor για περίπου έντεκα ώρες, με κρυμμένο κώδικα που προσπαθούσε να ανοίξει μόνιμη «πίσω πόρτα» στο μηχάνημα.
Δεν αφορά όλους, και στους περισσότερους υπολογιστές το πιο επικίνδυνο κομμάτι απέτυχε. Όσοι όμως το κατέβασαν, έχουν δουλειά που δεν τελειώνει με μια απεγκατάσταση.
Έντεκα ώρες στο marketplace του Cursor
Οι ένοχες εκδόσεις είναι οι 2.1.312 και 2.1.313 του Anthropic.claude-code, για Windows και macOS. Σε ώρα Ελλάδας, κυκλοφορούσαν από τις 11:27 το πρωί έως τις 22:35 το βράδυ της 29ης Οκτωβρίου. Μια ολόκληρη εργάσιμη μέρα, και κάτι παραπάνω.
Πόσοι πρόλαβαν να τις κατεβάσουν; Η πρώτη εκτίμηση της Cursor, όπως την καταγράφει η StepSecurity, ήταν το πολύ 5.000 χρήστες.
Το πακέτο ήταν το γνήσιο extension της Anthropic με λίγο ξένο κώδικα από πάνω. Η ίδια η Anthropic όμως δεν το έφτιαξε, όπως επιβεβαίωσε στη Microsoft, και τα συστήματά της δεν παραβιάστηκαν.
Τα πειραγμένα πακέτα δεν πέρασαν ποτέ από το Visual Studio Marketplace ή το npm. Κατά την ανάλυση της Microsoft, όλα δείχνουν ότι το πρόβλημα μένει στο marketplace του Cursor.
Το πώς βρέθηκε κάποιος με δικαίωμα να ανεβάσει έκδοση με το όνομα της Anthropic, η Cursor δεν το έχει εξηγήσει.
Αφαίρεσε την έκδοση μόλις την εντόπισε και στη συνέχεια έκλεισε ολόκληρο το κατάστημα. Το άνοιξε ξανά αφού βεβαιώθηκε ότι κανένα άλλο extension δεν είχε αλλοιωθεί, ενώ με τη βοήθεια του παρόχου cloud έβγαλε εκτός λειτουργίας τον server του επιτιθέμενου.
Τι έκανε το κακόβουλο Claude Code extension
Το πιο ύπουλο κομμάτι είναι ότι, από την πλευρά σου, όλα έμοιαζαν κανονικά. Ο κακόβουλος κώδικας έτρεχε μόλις φορτωνόταν το extension, πριν καν από τον γνήσιο κώδικα, και το Claude Code συνέχιζε να δουλεύει σαν να μη συμβαίνει τίποτα.
Δεν χρειαζόταν καν να γράψεις κάτι στο Claude. Αρκούσε να φορτωθεί το extension.
Το πρώτο του μέλημα ήταν να σε γνωρίσει. Έστελνε στον επιτιθέμενο ποιος είσαι στο σύστημα, τι μηχάνημα και λειτουργικό έχεις, πού δουλεύεις, ποιο email έχεις δηλώσει στο Git και από ποια δημόσια IP βγαίνεις στο internet.
Κοίταζε επίσης τις μεταβλητές περιβάλλοντος, για ονόματα με λέξεις όπως TOKEN, SECRET ή AWS. Κρατούσε μόνο τα ονόματα, όχι τις τιμές. Μικρή παρηγοριά, αλλά παρηγοριά.
Ο πραγματικός στόχος όμως ήταν η πρόσβαση. Το extension έγραφε το δημόσιο κλειδί SSH του επιτιθέμενου στο authorized_keys σου, τη λίστα με τα κλειδιά που ο υπολογιστής δέχεται για απομακρυσμένη σύνδεση.
Σκέψου το σαν να ρυθμίζει κάποιος την κλειδαριά σου ώστε να ανοίγει και με το δικό του κλειδί. Για να το χρησιμοποιήσει, χρειάζεται όμως και πόρτα: την υπηρεσία SSH του υπολογιστή, που το extension προσπαθούσε να ενεργοποιήσει.
Παράλληλα έσκαβε και τούνελ. Ο υπολογιστής σου άνοιγε μόνος του σύνδεση προς τον server του επιτιθέμενου, ένα reverse SSH tunnel, ώστε εκείνος να μπαίνει από μέσα χωρίς να χτυπήσει ποτέ απ’ έξω.
Όλο αυτό ήταν φτιαγμένο να αντέχει. Στο Mac καταχωριζόταν ως LaunchAgent με το όνομα com.apple.sysmond, στα Windows προσπαθούσε να γίνει scheduled task με το όνομα SysMon ή, αν δεν τα κατάφερνε, έβαζε ένα αρχείο sysmon.cmd στον φάκελο εκκίνησης. Το τούνελ ξαναστηνόταν περίπου κάθε λεπτό αν έπεφτε.
Το κλειδί, πάλι, είχε την ετικέτα svc-telemetry. Ονόματα που μοιάζουν με βαρετά εργαλεία συστήματος, από αυτά που κανείς δεν κοιτάζει δεύτερη φορά.
Και κανένα από αυτά δεν φεύγει αν σβήσεις το extension. Τα scripts του επιτιθέμενου ζουν έξω από τον φάκελό του και συνεχίζουν να τρέχουν.
Γιατί στους περισσότερους υπολογιστές το κλειδί έμεινε άχρηστο
Για να ανοίξει η πόρτα, δηλαδή η υπηρεσία SSH, χρειάζονται δικαιώματα admin, και το extension δεν τα έχει όταν το Cursor ανοίγει κανονικά. Από πάνω, ο κώδικας του επιτιθέμενου είχε λάθη που, κατά την Cursor, χάλαγαν αυτό το βήμα.
Άρα, στους περισσότερους υπολογιστές, ο επιτιθέμενος είχε κλειδί αλλά δεν βρήκε πόρτα.
Υπάρχουν όμως εξαιρέσεις. Η πρώτη, που αναφέρει η ίδια η εταιρεία, είναι αν είχες ανοίξει το Cursor ως διαχειριστής.
Η δεύτερη αφορά Mac με ρυθμισμένο sudo χωρίς κωδικό. Εκεί, κατά την ανάλυση της StepSecurity, η εντολή που ανοίγει το SSH περνάει κανονικά.
Η Microsoft σημειώνει επίσης ότι η επιτυχία της επίθεσης εξαρτάται από τα δικαιώματα και τη ρύθμιση SSH του κάθε υπολογιστή. Αν λοιπόν είχες ήδη ανοιχτό το SSH για δική σου χρήση, εγώ δεν θα θεωρούσα δεδομένο ότι γλίτωσες.
Ούτε τα «τυχερά» μηχανήματα έμειναν ανέγγιχτα. Τα στοιχεία τους έφυγαν ήδη, ενώ το κλειδί και τα scripts μένουν στον δίσκο μέχρι να τα σβήσεις. Ο server του επιτιθέμενου έπεσε, αλλά τα αρχεία δεν εξαφανίστηκαν μαζί του.
Ποιους αφορά και ποιους όχι
Εκτεθειμένος είσαι αν δουλεύεις Cursor σε macOS ή Windows και πήρες την 2.1.312 ή την 2.1.313 από το marketplace του Cursor μέσα σε εκείνο το διάστημα, είτε με εγκατάσταση είτε με αυτόματο update.
Εκτεθειμένος δεν σημαίνει απαραίτητα παραβιασμένος. Αυτό θα σου το πει ο έλεγχος για το κλειδί, πιο κάτω.
Ήσυχος μπορείς να είσαι αν χρησιμοποιείς Claude Code στο VS Code από το marketplace της Microsoft ή από το terminal μέσω npm. Το ίδιο ισχύει για όλα τα υπόλοιπα extensions του marketplace του Cursor.
Όσοι δουλεύουν με Open VSX, όπως στο VSCodium, μπορούν επίσης να ηρεμήσουν. Η StepSecurity κατέβασε την 2.1.312 που υπάρχει εκεί και τη βρήκε καθαρή. Όσο για τον αριθμό 2.1.313, η Anthropic δήλωσε ότι δεν τον έβγαλε ποτέ επίσημα και πέρασε κατευθείαν στην 2.1.314, για να μην μπερδεύεται κανείς.
Πώς ελέγχεις αν το Claude Code extension σε επηρέασε
Σε Mac, άνοιξε το Terminal και γράψε:
grep svc-telemetry ~/.ssh/authorized_keys
Αν δεν τυπώσει τίποτα ή σου πει ότι το αρχείο δεν υπάρχει, το κλειδί δεν είναι εκεί. Αν εμφανιστεί γραμμή που τελειώνει σε svc-telemetry, ο υπολογιστής σου επηρεάστηκε.
Στα Windows ο έλεγχος γίνεται από το PowerShell και κοιτάζει δύο αρχεία: το authorized_keys του χρήστη και το administrators_authorized_keys στο C:\ProgramData\ssh. Την έτοιμη εντολή θα τη βρεις στην ειδοποίηση ασφαλείας της Cursor, και σου προτείνω να την αντιγράψεις από εκεί αυτούσια.
Σε εταιρικό υπολογιστή, ενημέρωσε και το IT. Η Microsoft συστήνει στις εταιρείες να μη βασιστούν μόνο στο κλειδί, αλλά να ελέγξουν και τα υπόλοιπα ίχνη της επίθεσης.
Βρήκες το κλειδί; Τα βήματα
- Κατέβασε από την ίδια σελίδα το script καθαρισμού για το σύστημά σου. Στο Mac τρέχεις το remediate-macos.sh ως κανονικός χρήστης, όχι ως root. Στα Windows τρέχεις το remediate-windows.ps1 από PowerShell με «Run as Administrator».
- Από άλλον, καθαρό υπολογιστή, άλλαξε όσους κωδικούς, tokens και sessions ήταν προσβάσιμα από το μηχάνημα.
- Εξέτασε αν χρειάζεται καθαρή εγκατάσταση του συστήματος. Η Cursor το αφήνει στην κρίση σου, αλλά εγώ σε υπολογιστή με κλειδιά και κώδικα εταιρείας θα την έκανα.
Ναι, μετά από επίθεση μέσω κώδικα που κατέβασες, σου ζητούν να τρέξεις κι άλλον κώδικα. Η Microsoft προτείνει να διαβάσεις τα scripts πριν τα τρέξεις, και συμφωνώ απόλυτα.
Η γνώμη μου: Το σωστό όνομα δεν είναι πια εγγύηση
Αυτό που με ενοχλεί περισσότερο είναι ότι ο χρήστης δεν έκανε κανένα λάθος. Δεν πάτησε ύποπτο link, δεν κατέβασε κάτι με ορθογραφικό λάθος στο όνομα. Πήρε αυτό που θα έπαιρνα κι εγώ.
Η μίμηση του γνήσιου είναι παλιό κόλπο, το είδαμε πρόσφατα και με τον ιό στο Android που αντικαθιστά την εφαρμογή της τράπεζας. Εδώ όμως δεν χρειάστηκε μίμηση. Ο επιτιθέμενος φόρεσε το πραγματικό όνομα.
Και ο στόχος δεν διαλέχτηκε τυχαία. Τα εργαλεία AI για προγραμματισμό, από το Copilot της Microsoft μέχρι το Claude Code, τρέχουν στον ίδιο υπολογιστή με τα API keys, τα tokens και τον κώδικα μιας εταιρείας. Ένα τέτοιο extension δεν είναι απλό πρόσθετο. Είναι το πέρασμα προς μοντέλα σαν αυτά της σύγκρισης GPT-6 Sol και Claude Opus 5.5, και τρέχει με τα ίδια δικαιώματα που έχεις κι εσύ.
Στη Cursor πιστώνω ότι δεν κρύφτηκε. Δεν αρκέστηκε σε ένα αθόρυβο σβήσιμο, έκλεισε όλο το κατάστημα για έλεγχο και δημοσίευσε εντολές διάγνωσης και scripts καθαρισμού.
Πολλές εταιρείες θα έγραφαν ένα αόριστο post και θα περίμεναν να ξεχαστεί.
Χρωστάει όμως δύο απαντήσεις. Πώς βρέθηκε ένας άγνωστος να δημοσιεύει ως Anthropic στο κατάστημα του Cursor; Και πώς ένα πακέτο με ξένο κώδικα έμεινε έντεκα ώρες στο ράφι; Μέχρι να τις δώσει, η εμπιστοσύνη στο marketplace θα αργήσει να γυρίσει.
Η Microsoft, στην ανάλυσή της, παραπέμπει στις οδηγίες ασφαλείας του Cursor για επιχειρήσεις, με δύο ρυθμίσεις: extensions μόνο από εγκεκριμένους εκδότες και καθυστέρηση στην εγκατάσταση κάθε νέας έκδοσης. Η δεύτερη υπάρχει για επιθέσεις που κρατούν λίγες ώρες, σαν αυτή. Προσωπικά, θα ήθελα κάτι αντίστοιχο ενεργό από προεπιλογή για όλους.
Μέχρι τότε, δεν θα σου πω να κλείσεις τα αυτόματα updates. Θα σου πω όμως να τρέξεις εκείνη τη μία εντολή. Αν στον προσωπικό σου υπολογιστή δεν τυπώσει τίποτα, μπορείς να γυρίσεις στον κώδικά σου ήσυχος.
Συχνές ερωτήσεις
Ποιες εκδόσεις του Claude Code extension ήταν κακόβουλες;
Οι εκδόσεις 2.1.312 και 2.1.313 του Anthropic.claude-code για Windows και macOS, όπως διανεμήθηκαν από το marketplace του Cursor στις 29 Οκτωβρίου 2026, από τις 11:27 έως τις 22:35 ώρα Ελλάδας.
Επηρεάζονται οι χρήστες του VS Code;
Όχι, αν πήραν το extension από το Visual Studio Marketplace της Microsoft. Τα κακόβουλα πακέτα δεν εμφανίστηκαν ποτέ εκεί, ούτε στο npm.
Πώς ελέγχω αν ο υπολογιστής μου επηρεάστηκε;
Ψάχνεις το κλειδί SSH με την ετικέτα svc-telemetry στο αρχείο authorized_keys. Σε Mac αρκεί η εντολή grep svc-telemetry ~/.ssh/authorized_keys, ενώ για Windows η Cursor δίνει έτοιμη εντολή PowerShell.
Αρκεί να απεγκαταστήσω το extension;
Όχι. Ο κακόβουλος κώδικας αφήνει scripts και καταχωρίσεις εκκίνησης έξω από τον φάκελο του extension. Χρειάζεται το script καθαρισμού της Cursor και αλλαγή κωδικών και tokens από άλλον υπολογιστή.
Παραβιάστηκε η Anthropic;
Όχι. Η Anthropic έχει επιβεβαιώσει ότι τα συστήματά της δεν παραβιάστηκαν και ότι δεν δημιούργησε αυτές τις εκδόσεις. Όλα δείχνουν ότι το περιστατικό περιορίζεται στο marketplace του Cursor.




