Koodausavustajalle annetaan usein pääsy projektiin, mutta kuinka laajasti se saa käsitellä tiedostoja käyttäjän tietämättä? Tätä kysymystä ZCode-tapaus nosti esiin. Tutkijanimellä ferstar toimiva kehittäjä kertoi 18.9.2026, että Z.AI:n ZCode oli valmistellut hänen paikallisesta työtilastaan salatun arkiston lähetettäväksi Alibaba Cloudin pilvitallennukseen. Kyse ei ollut vain avoinna olevista lähdekooditiedostoista, vaan myös projektin historiasta. Lähettämiseen ei ollut pyydetty käyttäjältä nimenomaista suostumusta.
4
10
32
Yksi työtila, 42 411 tiedostoa
Ferstarin tutkimassa tapauksessa ZCode kokosi 42 411 tiedostoa 313 megatavun arkistoon. Lokien mukaan ohjelma yritti lähettää arkiston Alibaba Cloudin objektitallennukseen 564 kertaa, mutta kaikki yritykset epäonnistuivat hänen koneellaan. Luvut koskevat tätä yksittäistä tapausta: niistä ei voi päätellä, kuinka monen muun käyttäjän tiedostoja mahdollisesti päätyi pilveen.
10
Pakettiin sisältyi Git-versionhallinnan historiaa, kuten muutosviitteitä tallentavia reflog-tietoja ja suurten tiedostojen Git LFS -välimuistia. Koko työtilan paketointi saattoi tuoda mukaan myös arkaluonteisia asetuksia tai tunnuksia.
4
14
Salaus ei antanut käyttäjälle näkyvyyttä
Ferstarin teknisestä analyysistä kertovien raporttien mukaan ZCode salasi arkiston sisällön AES-256-CTR-menetelmällä ja salasi sisältöavaimen palvelimelta saamallaan RSA-julkisella avaimella käyttäen RSA-OAEP-SHA256-menetelmää. Ohjelma sai samalla tunnukset Alibaba Cloud -tallennukseen lähettämistä varten.
10
Arkiston avaamiseen tarvittava yksityinen avain oli Z.AI:n palvelimella, ei käyttäjällä. Siksi käyttäjä ei voinut itse purkaa jo lähetettyä arkistoa, tarkistaa sen tarkkaa sisältöä tai vahvistaa itsenäisesti Z.AI:n selvitystä oman kopionsa käsittelystä.
17
Mitä Z.AI muutti?
Z.AI:n mukaan toiminta liittyi oletusarvoisesti käytössä olleeseen Codebase Indexing -toimintoon. Yhtiö selitti, että projektin tiedostoja ladattiin palvelimelle Repo Wiki -sivun luomista varten ja että tiedot hävitettiin sivun valmistuttua. Z.AI pyysi anteeksi ja ilmoitti korjanneensa ongelman. Se julkaisi myös ZCoden lähdekoodin Apache 2.0 -lisenssillä.
17
22
2
Ferstar totesi version 3.14.0 tarkastelussa, että repoSnapshot-niminen lähetyspolku oli poistettu ja pilvitallennuksen tunnuksia antanut rajapinta vastasi 404-virheellä. Raportoiduissa, China Academy of Information and Communications Technologyn ja tietoturvayhtiö NSFOCUSin tekemissä arvioissa tarkasteltu Alibaba Cloud -tallennuskohde oli tyhjä tai poistettu, eikä päivitetystä ohjelmasta löytynyt jäljellä olevaa polkua työtilan tilannekuvan lähettämiseen.
23
7 Julkaistu lähdekoodi on tarkasteltavissa, mutta ferstar huomautti, että julkaistussa koodivarastossa oli vain kaksi muutostallennusta eikä aiempaa kehityshistoriaa.
9
Yhtiö kertoi myös aikovansa perustaa jatkuvan haavoittuvuuksien ilmoitusmenettelyn. Erikseen on raportoitu suunnitelmasta, jonka mukaan käyttäjät voisivat pyytää, ettei heidän tietojaan säilytetä Z.AI:n MaaS-alustalla eli mallipalveluna tarjotulla alustalla. Kuvatussa käytännössä on poikkeuksia: esimerkiksi tietyt rajapinnat sekä oikeudellisista, turvallisuuteen liittyvistä tai väärinkäytösten torjuntaan liittyvistä syistä säilytettävät tiedot eivät kuulu sen piiriin.
13
20
Mitä ei ole vahvistettu?
Z.AI sanoo, ettei kyseistä koodidataa säilytetä eikä sitä ole koskaan käytetty mallien kouluttamiseen. Ilmoitetut tallennuskohteen tarkistukset tukevat rajatumpaa johtopäätöstä senhetkisestä tilanteesta tarkistetussa kohteessa. Ne eivät yksin todista, mitä mahdollisille aiemmille kopioille tapahtui tai käytettiinkö tietoja historiallisesti mallien kouluttamiseen.
8
9
Tapauksen johdosta yritysasiakkaan on raportoitu lähettäneen Z.AI:lle oikeudellisen kirjeen, jossa vaadittiin selvitystä ladattujen tietojen käsittelystä. Käytettävissä olevat raportit eivät kerro vaatimuksen lopputulosta eivätkä tarjoa käyttäjäkohtaista, riippumatonta näyttöä kaikkien kopioiden poistamisesta.
18
21 Hongkongissa noteeratun Z.AI:n osake kävi 21.9. yli viiden prosentin laskussa kaupankäynnin aikana. Kyse on päivänsisäisestä liikkeestä, ei päätöskurssin muutoksesta.
30
33
Kehittäjän kannalta ero on olennainen: päivitetyn ohjelman lähetyspolun poisto ja tietyn pilvitallennuskohteen tarkistus ovat eri asia kuin varmuus jokaisen aiemmin lähetetyn tiedoston myöhemmästä käsittelystä. Ensimmäisestä on raportoitu teknistä näyttöä; jälkimmäinen riippuu yhä Z.AI:n selvityksestä ja julkistettujen tarkistusten laajuudesta.
7
8
23