Η αρχιτεκτονική της επίθεσης

Η παραβίαση της επέκτασης Claude Code (έκδοση 2.1.313) αποτελεί ένα κλασικό παράδειγμα επίθεσης στην εφοδιαστική αλυσίδα (supply chain attack). Ο εισβολέας τροποποίησε το extension.js προσθέτοντας κώδικα που εκτελείται πριν από την κανονική διαδικασία ενεργοποίησης του IDE. Χρησιμοποιώντας Node.js modules όπως το child_process και το fs, το κακόβουλο script αποκτά άμεση πρόσβαση στο σύστημα αρχείων του χρήστη.

Μηχανισμοί persistence και SSH tunneling

Το backdoor ακολουθεί μια δομημένη διαδικασία:

  1. SSH Key Injection: Προσθέτει ένα attacker-controlled public key στο ~/.ssh/authorized_keys.
  2. Reverse Tunneling: Δημιουργεί ένα outbound SSH tunnel προς έναν εξωτερικό server, χρησιμοποιώντας το flag -R για remote port forwarding. Αυτό επιτρέπει στον επιτιθέμενο να παρακάμπτει NAT και firewalls, αποκτώντας διαδραστική πρόσβαση στο shell του θύματος.
  3. 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 που ήταν προσβάσιμα στο περιβάλλον του χρήστη.