Η αρχιτεκτονική της επίθεσης
Η παραβίαση της επέκτασης Claude Code (έκδοση 2.1.313) αποτελεί ένα κλασικό παράδειγμα επίθεσης στην εφοδιαστική αλυσίδα (supply chain attack). Ο εισβολέας τροποποίησε το extension.js προσθέτοντας κώδικα που εκτελείται πριν από την κανονική διαδικασία ενεργοποίησης του IDE. Χρησιμοποιώντας Node.js modules όπως το child_process και το fs, το κακόβουλο script αποκτά άμεση πρόσβαση στο σύστημα αρχείων του χρήστη.
Μηχανισμοί persistence και SSH tunneling
Το backdoor ακολουθεί μια δομημένη διαδικασία:
- SSH Key Injection: Προσθέτει ένα attacker-controlled public key στο
~/.ssh/authorized_keys. - Reverse Tunneling: Δημιουργεί ένα outbound SSH tunnel προς έναν εξωτερικό server, χρησιμοποιώντας το flag
-Rγια remote port forwarding. Αυτό επιτρέπει στον επιτιθέμενο να παρακάμπτει NAT και firewalls, αποκτώντας διαδραστική πρόσβαση στο shell του θύματος. - Persistence: Στο macOS, χρησιμοποιεί ένα κακόβουλο LaunchAgent με την ονομασία
com.apple.sysmond.plistγια να εξασφαλίσει ότι το tunnel θα επανεκκινείται αυτόματα μετά από κάθε reboot.
Προκλήσεις στην ανίχνευση και αποκατάσταση
Η ανίχνευση μέσω παραδοσιακών εργαλείων (όπως το grep σε shell commands) είναι ανεπαρκής, καθώς η επέκταση τροποποιεί τα αρχεία απευθείας μέσω του Node.js runtime. Οι ομάδες ασφαλείας πρέπει να εστιάσουν σε:
- File Integrity Monitoring (FIM): Παρακολούθηση τροποποιήσεων στο
~/.ssh/authorized_keysαπό διεργασίες του IDE. - Process Telemetry: Εντοπισμό ύποπτων διεργασιών
sshήautosshπου δεν έχουν ως γονέα το τερματικό του χρήστη. - Network Monitoring: Εντοπισμό outbound συνδέσεων προς άγνωστους SSH servers και HTTP POST requests προς endpoints τύπου
/beacon.
Η πλήρης αποκατάσταση απαιτεί την αφαίρεση των persistence artifacts, την ανάκληση των SSH κλειδιών και την περιστροφή (rotation) όλων των API tokens και credentials που ήταν προσβάσιμα στο περιβάλλον του χρήστη.