The attack hid in plain sight. Jenn Gile, co-founder of the research group OpenSourceMalware, says a 66-line loader was stuck on the front of the normal extension code. Calum Hall, chief executive of the macOS security firm Phorion, says it fired the moment the editor loaded the file, before the extension even started, so you didn’t need to open Claude Code for it to run.
Once running, it did four things:
- Planted a key. It added the attacker’s SSH key to your authorized keys file, giving it the innocent-sounding label svc-telemetry. SSH is the standard tool for logging in to a computer remotely, and that file is the list of keys allowed in without a password.
- Opened a back door. It tried to switch on the computer’s SSH service and dug an outbound tunnel to the attacker’s server, retrying about every 60 seconds even after the editor was closed.
- Made itself stick. On a Mac it installed a startup file named to look like an Apple service, on Linux a cron job that runs at boot, and on Windows a scheduled task called SysMon with a Startup-folder backup.
- Phoned home. It sent your username, computer name, operating system, chip type, folders, public IP address and the email in your Git settings to the attacker over plain, unencrypted web traffic.
It also sent the names, but not the contents, of up to 40 environment variables that looked like secrets, such as anything containing KEY, TOKEN, PASS, AWS or GCP. Paul McCarty, a security researcher, points out that even the names act like a map: they tell an attacker which machines hold cloud logins worth coming back for.