Torstaina 29. lokakuuta Cursor-editoria käyttävä kehittäjä sai päivityksen Claude Code -laajennukseensa, eikä siinä näkynyt mitään outoa. Nimi, julkaisija ja toiminta olivat tutut. Koodin sekaan oli kuitenkin piilotettu noin seitsemän kilotavun lisäosa, joka avasi hyökkääjälle reitin koneelle.
Tietoturvayhtiö StepSecurityn Rohan Prabhun kirjoittaman analyysin mukaan Cursorin omassa laajennuskaupassa jaettiin muokattua Claude Code -laajennuksen versiota 2.1.313. Se oli ladattavissa Cursorin mukaan Kalifornian aikaa noin kello 2.27–13.35, Suomen aikaa noin 11.27–22.35. Aikaa kertyi runsaat 11 tuntia. StepSecurity kertoo Cursorin ilmoittaneen, että saastunut versio ehti enintään 5 000 käyttäjälle. Cursorin omassa julkisessa tiedotteessa lukua ei mainita.
Anthropicin mukaan sen järjestelmiä ei murrettu
Claude Code -laajennus on Anthropicin tekemä, mutta väärennöstä yhtiö ei rakentanut eikä julkaissut. Hyökkääjällä oli pääsy Cursorin laajennuskauppaan, ja hän julkaisi sinne peukaloidun kopion. Miten pääsy saatiin, ei kerrota kummankaan yhtiön tiedotteissa.
“Kyse ei ollut Anthropicin järjestelmien eikä työntekijöiden kannettavien tietokoneiden murrosta.”
Riesebergin mukaan Anthropicin virallisten kanavien versiot ovat kunnossa, ja ongelma koskee vain Cursorin käyttäjiä. Anthropicin David Dworken tarkensi Hacker Newsissa, ettei versiota 2.1.313 julkaistu koskaan Microsoftin VS Code -kaupassa, OpenVSX:ssä tai Anthropicin muissa virallisissa jakelupaikoissa. Sekaannuksen välttämiseksi seuraava aito julkaisu numeroitiin suoraan 2.1.314:ksi.
Vaarallinen versio ei ollut ainoa. Cursorin tiedotteen mukaan sen kaupassa jaettiin samassa aikaikkunassa myös saastunutta versiota 2.1.312 Windowsille ja macOS:lle. OpenVSX:n versio 2.1.312 on StepSecurityn mukaan eri tiedosto, ja se on puhdas.
Mitä takaovi tekee
Haittakoodi käynnistyy heti, kun editori lataa laajennuksen. Claudelle ei tarvitse kirjoittaa riviäkään. StepSecurityn mukaan koodi lisää koneen SSH-avaintiedostoon (authorized_keys) hyökkääjän julkisen avaimen, jonka tunnisteena on svc-telemetry. Sen jälkeen se yrittää avata käänteisen SSH-tunnelin hyökkääjän palvelimelle ja lähettää sinne tietoja koneesta, kuten konenimen, käyttäjänimen, käyttöjärjestelmän, Git-sähköpostiosoitteen ja julkisen IP-osoitteen.
Yksi yksityiskohta paljastaa, mitä hyökkääjä etsi. Lähetykseen kerättiin niiden ympäristömuuttujien nimet, joissa esiintyy esimerkiksi KEY, TOKEN, SECRET, AWS tai GCP. Nimistä hyökkääjä näki, millä koneilla on tallessa pilvipalvelujen ja koodivarastojen tunnuksia.
Cursorin mukaan paikallisen SSH-palvelun käynnistäminen vaatii ylläpitäjän oikeudet, joita laajennuksella ei useimmissa macOS- ja Windows-koneissa ole. Tunneli on siis monella todennäköisesti jäänyt avaamatta, ja hyökkääjän palvelin on suljettu yhteistyössä palveluntarjoajan kanssa. Avain voi silti olla tiedostossa. Tarkista se.
Kehittäjän kone on hyökkääjälle arvokas kohde, koska samalta koneelta pääsee usein yrityksen koodivarastoon, julkaisuputkeen ja pilvipalveluihin. Yksi saastunut läppäri voi avata oven koko organisaation tuotantoympäristöön, vaikka laajennus olisi asennettu vain kokeilumielessä.
“Laajennuksen poistaminen ei välttämättä riitä – haittakoodi jättää koneelle itsenäisiä pysyvyysskriptejä, jotka jatkavat toimintaansa.”
Päivitys ei poista takaovea – näin tarkistat ja siivoat koneen
Haitta asentaa itselleen erillisen pysyvyyden: macOS:ssä LaunchAgentin nimeltä com.apple.sysmond, Windowsissa ajastetun tehtävän SysMon ja sysmon.cmd-tiedoston Käynnistys-kansioon. Ne jäävät koneelle, vaikka laajennuksen poistaisi tai päivittäisi. StepSecurity ja Cursor neuvovat toimimaan näin:
Tarkista avain. macOS:ssä ja Linuxissa komento grep svc-telemetry ~/.ssh/authorized_keys tulostaa rivin, jos hyökkääjän avain on lisätty. Windowsissa tarkista tiedosto %USERPROFILE%\.ssh\authorized_keys. Cursorin tiedotteessa on valmis PowerShell-skripti, joka käy läpi myös tiedoston C:\ProgramData\ssh\administrators_authorized_keys.
Jos avain löytyy, eristä kone ja tallenna todisteet ennen siivousta.
Poista laajennus ja asenna versio 2.1.314 tai uudempi.
Vaihda puhtaalta koneelta kaikki tunnukset, joihin saastuneelta koneelta oli pääsy: koodivarastojen, CI/CD-järjestelmien, pilvipalvelujen ja pakettirekisterien avaimet sekä SSH-avaimet.
Jos tunneli ehti muodostaa yhteyden, StepSecurity suosittelee asentamaan koneen kokonaan uudelleen, koska se on varmempaa kuin siivoaminen.
n. 11 h
Saastunut laajennus jaossa Cursorin kaupassa 29.10. (klo 11.27–22.35 Suomen aikaa)
≤ 5 000
Käyttäjää, joille saastunut versio ehti (Cursor StepSecurityn mukaan)
2.1.312–313↓
Saastuneet versiot, turvallinen alkaen 2.1.314
Ei riitä↓
Päivitys ei poista hyökkääjän SSH-avainta, vaan se on poistettava käsin
Digitaalinen avainpari, jolla tietokoneelle kirjaudutaan etänä ilman salasanaa. Jos hyökkääjän julkinen avain lisätään koneen authorized_keys-tiedostoon, hän voi kirjautua koneelle omalla avaimellaan.
Käänteinen SSH-tunneli
Yhteys, jonka saastunut kone avaa itse ulospäin hyökkääjän palvelimelle. Sen kautta hyökkääjä pääsee takaisin koneelle, vaikka palomuuri estäisi ulkoa tulevat yhteydet.
Pysyvyysmekanismi
Haittaohjelman keino käynnistyä uudelleen automaattisesti, esimerkiksi koneen käynnistyessä ajastettuna tehtävänä. Siksi pelkkä laajennuksen poistaminen ei riitä.
Heikoin lenkki oli kauppa
Cursor on rakennettu VS Coden pohjalle, ja se jakaa laajennuksia omasta kaupastaan. Käyttäjä olettaa, että Anthropicin nimellä julkaistu laajennus on Anthropicin tekemä. Tällä kertaa luottamus petti välikädessä, vaikka sekä laajennuksen tekijä että alkuperäiset jakelupaikat olivat kunnossa.
Cursor kertoo poistaneensa version, sulkeneensa kaupan varotoimena, tarkastaneensa käyttöoikeudet, vaihtaneensa avaimet ja rakentaneensa kaupan uudelleen. Muita peukaloituja laajennuksia ei sen mukaan löytynyt.
Yritysten tietohallinnolle tapaus antaa konkreettisen tehtävän. Kehittäjien editorilaajennukset kuuluvat samaan ohjelmistoinventaarioon kuin muukin asennettu koodi, ja StepSecurity neuvoo käymään laitekannan läpi saman tien. Etsittävät kansiot ovat nimeltään anthropic.claude-code-2.1.312-* ja anthropic.claude-code-2.1.313-*, ja niistä haetaan merkkijonoja 134.209.82.225 ja svc-telemetry.
Viikoittainen uutiskirje
Tule firmasi fiksuimmaksi AI-osaajaksi
Yksi uutiskirje kerrallaan. Kokoamme viikon tärkeimmät tekoälyuutiset suomeksi ja kerromme, mitä ne tarkoittavat sinun työsi kannalta. Luet sen kahvitauolla.