Avoimen lähdekoodin koodausagentti OpenCodea kehittävä Anomaly vahvisti lauantaina 17. lokakuuta tietomurron. Hyökkääjä pääsi käsiksi järjestelmään, johon osa käyttäjistä oli tallentanut OpenAI-, Anthropic- ja Google-avaimiaan.

Yhtiön mukaan murto koski 1,4 prosenttia maksullisen OpenCode Console -palvelun käyttäjistä. Ennen virallista tiedotetta useat kehittäjät olivat jo huomanneet avaimillaan tehtävän käytön, jota he eivät itse olleet tehneet. Hacker Newsissa uutinen nousi päivän eniten pisteitä keränneeksi.

Tapaus herätti laajaa huomiota, sillä OpenCode on yksi suosituimmista avoimista koodausagenteista. Yhtiön mukaan sillä on 16 miljoonaa kuukausittaista kehittäjäkäyttäjää, mutta Consolen käyttäjämäärää se ei ole kertonut.

Murto alkoi käytöstä poistettavasta järjestelmästä

Anomalyn käyttäjille lähettämän sähköpostin mukaan ulkopuolinen pääsi käsiksi vanhaan järjestelmään, jota yhtiö oli parhaillaan poistamassa käytöstä. Työtilaan tallennetut kolmansien osapuolten avaimet ovat saattaneet paljastua.

OpenCoden X-tilin mukaan murto tapahtui perjantain ja lauantain välisenä yönä, ja se liittyi laajaan tislaushyökkäykseen. Tislauksessa toisen mallin vastauksia kerätään uuden mallin koulutusaineistoksi. Yhtiö ei ole kertonut, miten nämä kaksi asiaa liittyvät toisiinsa.

Anomaly kertoo työskentelevänsä Anthropicin, OpenAI:n ja Googlen kanssa. Tapaus on yhtiön mukaan yhä käynnissä, joten lisätietoja ei vielä julkaista.

Vanhat, käytöstä poistettavat järjestelmät ovat tuttu murtautumisreitti. Niiden päivitykset ja valvonta jäävät usein vähemmälle, vaikka niissä on yhä tuotantodataa. Tässä tapauksessa data oli juuri sitä, mitä hyökkääjä tarvitsi.

Vanha palvelinkaappi puolityhjässä konesalissa, ovi raollaan ja punainen merkkivalo palaa

Console ei ole sama asia kuin OpenCode-agentti

Moni OpenCoden käyttäjä säikähti turhaan, koska tiedote ei aluksi erottanut tuotteita toisistaan. OpenCode-agentti toimii käyttäjän omalla koneella päätteessä, editorissa tai työpöytäsovelluksessa, ja se säilyttää palveluntarjoajien avaimet paikallisesti.

OpenCode Console on erillinen, isännöity palvelu. Sen kautta voi ostaa käyttöpohjaista pääsyä malleihin, ja työtilan ylläpitäjät voivat liittää siihen myös omat palveluntarjoaja-avaimensa, jotka tallentuvat OpenCoden palvelimille.

OpenCoden Dax Raad tarkensi myöhemmin, että murto koskee Consolea eikä itse OpenCodea. Hänen mukaansa sovelluksessa käytetyt avaimet eivät koskaan päädy yhtiölle. Ne, jotka eivät saaneet sähköposti-ilmoitusta, eivät yhtiön mukaan kuulu murron uhreihin.

Ero on olennainen, koska riski riippuu siitä, missä avain sijaitsee. Paikallisesti säilytetty avain vuotaa vain, jos oma kone vaarantuu. Palvelimelle tallennettu avain on yhtä turvassa kuin palvelun heikoin järjestelmä, ja jokainen palvelu, johon avaimen liittää, kasvattaa hyökkäyspintaa.

Kannettava koodieditori pöydällä ja sen vieressä erillinen hehkuva pilvihologrammi

Laskut kasvoivat ennen ensimmäistä tiedotetta

Ensimmäiset merkit näkyivät käyttäjien laskuissa. The Latent -sivuston kokoamien raporttien mukaan yksi kehittäjä havaitsi OpenAI-avaimellaan 281 dollarin ja Anthropic-avaimellaan 168 dollarin käytön, joka alkoi keskellä yötä. Muut kertoivat 700 ja jopa 1 700 dollarin tappioista.

Osa käyttäjistä kertoi myös palveluntarjoajan jäädyttäneen tilinsä epäillyn väärinkäytön vuoksi. Yhdellä Google-projektilla automaattinen keskeytys pysäytti kulut noin 200 euroon. Lukuja ei ole vahvistettu riippumattomasti.

Anthropicin Claude Code -tiimistä kerrottiin myöhemmin, että yhtiö on mitätöinyt Claude-avaimet, joiden se uskoo vuotaneen. Anomaly ei ole kertonut, korvaako se käyttäjien kuluja.

Vuotaneen API-avaimen väärinkäyttö on houkuttelevaa, koska hyökkääjä saa kalliiden mallien laskentaa ilmaiseksi. Jos murto liittyy tislaukseen, avaimilla on voitu kerätä suuria määriä malleista tuotettuja vastauksia toisen mallin koulutukseen. Ensimmäiset epäilyttävät kutsut alkoivat käyttäjien mukaan jo muutama tunti murron jälkeen.

Puhelin pimeällä pöydällä punaisen hälytyksen kanssa, vieressä maksukortti ja kahvikuppi

Mitä kehittäjän kannattaa tehdä nyt

Jos olet tallentanut palveluntarjoajan avaimen OpenCode Consoleen, mitätöi se suoraan OpenAI:n, Anthropicin tai Googlen hallintapaneelissa ja luo tilalle uusi. Consoleen ei tarvitse kirjautua avaimen mitätöimiseksi.

Käy läpi viime päivien käyttöhistoria ja etsi malleja, alueita tai määriä, joita et tunnista. Ilmoita oudot veloitukset palveluntarjoajan tukeen päivämäärien kanssa. Päivitä myös CI-putket ja muut työkalut, jotka käyttivät vanhaa avainta.

Pidemmällä aikavälillä tapaus muistuttaa kulurajoista. Kun jokaisella avaimella on projektikohtainen budjetti ja hälytys, seuraava vuoto pysähtyy ennen kuin lasku ehtii kasvaa.

Organisaatioissa kannattaa myös selvittää, kuka on liittänyt yhteisiä avaimia kolmansien osapuolten palveluihin. Yksittäisen kehittäjän tallentama tiimiavain voi altistaa koko organisaation laskutuksen ja käyttöhistorian.

Käsi pitelee uutta metalliavainta katkenneen vanhan avaimen yläpuolella työpöydällä

Yhteenveto

OpenCode Console -murto osoittaa, miksi palveluntarjoajien avainten tallentaminen kolmannen osapuolen palveluun on riski. Itse koodausagentti ei ollut murron kohteena, mutta isännöity lisäpalvelu oli.

Avoimia kysymyksiä on yhä paljon: miten hyökkääjä pääsi sisään, kuinka monta avainta vuoti ja olivatko ne salattuja. Siihen asti varmin toimenpide on mitätöidä Consoleen tallennetut avaimet ja asettaa uusille avaimille kulurajat.