Yksi ladattu koodikansio riittää – ja kone tottelee vierasta

Kahdeksan aukkoa seitsemässä koodiagentissa, neljä yhä korjaamatta syyskuussa.

Hanna HuulivuoHanna Huulivuo
Jaa:
Yksi ladattu koodikansio riittää – ja kone tottelee vierasta
Kuva: Arnold Francisca / Unsplash

Kehittäjä saa kollegalta zip-paketin, purkaa sen työpöydälle ja avaa kansion koodiagentilla. Ennen kuin agentti ehtii kysyä, luottaako käyttäjä tähän hakemistoon, hyökkääjän valitsema ohjelma on jo käynnistynyt. Mitään ei ole klikattu.

Ketju on lyhyt. Projektikansion mukana tulee piilotettu .git-hakemisto, jonka asetustiedostoon on kirjoitettu rivi, joka nimeää ajettavan ohjelman. Agentti ajaa käynnistyessään rutiinikomennon, jolla se selvittää missä haarassa ollaan ja mitä tiedostoja on muutettu. Git lukee asetuksen kansiosta itsestään ja käynnistää nimetyn ohjelman käyttäjän oikeuksilla, ilman hiekkalaatikkoa ja ilman hyväksyntäkehotetta.

Yhdysvaltalainen tietoturvayhtiö Manifold Security julkisti kahdeksan tällaista haavoittuvuutta seitsemässä komentorivin koodiagentissa ja kutsuu kokonaisuutta GitSpawniksi. Kyse ei ole kehotusinjektiosta, jossa malli johdetaan harhaan piilotetulla ohjeella. AI Suomi kertoi elokuussa tutkimuksesta, jossa piilotettu ohje kaappasi koodiagentin 84 kertaa sadasta (aisuomi.fi/artikkelit/piilotettu-ohje-kaappasi-koodiagentin-84-kertaa-sadasta). Tässä mallia ei tarvita lainkaan.

“Haavoittuvuus ei ole mallissa eikä missään uudessa. Se on tavallisessa putkistossa sen alla, siinä aliprosessissa jonka agentti käynnistää istunnon alussa selvittääkseen, missä se on.”

— Manifold Securityn GitSpawn-raportti, Käännös englanninkielisestä alkutekstistä

Mikä on korjattu ja mikä ei

Uutinen ei ole itse aukko vaan korjaustilanne. Manifold ajoi testinsä uudestaan 1. syyskuuta ja julkaisi tulokset versionumeroineen. Korjattujen puolella ovat goose, jonka versio 1.41.0 oli haavoittuva ja 1.44.0 ei, OpenAI:n Codex, Cursor sekä Claude Coden se reitti, joka nojaa gitin core.fsmonitor-asetukseen. Anthropic sai ilmoituksen 26. kesäkuuta ja korjasi reiän versioon 2.1.196 kolmessa päivässä, mutta ei julkaissut asiasta tiedotetta.

Auki olivat syyskuun alussa Hermes Agent (haavoittuva 0.18.2, sama vika yhä versiossa 0.21.0), Alibaban Qwen Code (0.19.6, yhä uusimmassa saatavilla olevassa 0.22.3) ja xAI:n Grok Build (0.2.93, yhä 1.0.13). Neljäs avoin reitti löytyy Claude Codesta. Raportin mukaan komento claude ultrareview ajaa repon antaman komennon ennen kuin arviointi ehtii alkaa. Manifold ilmoitti siitä versiosta 2.1.210 ja vahvisti sen toimivan yhä versiossa 2.1.252.

Seitsemästä testatusta agentista neljällä oli uusintatestin hetkellä yhä avoin reitti. Luku on AI Suomen laskelma Manifoldin julkaisemasta versiotaulukosta, jossa Claude Code esiintyy sekä korjattujen että korjaamattomien puolella, koska sen kaksi reittiä ovat eri tilassa.

Ajoituksessa on koko juju. Claude Codella ja Hermes Agentilla koodi ajetaan ennen työtilan luottamuskysymystä, Qwen Codella ennen käyttäjän kirjautumista ja Grok Buildilla heti ensimmäisestä näppäinpainalluksesta.

Miksi tällä on väliä

Koodiagentti ajaa samoilla oikeuksilla kuin ihminen, joka sen käynnisti. Se tarkoittaa pääsyä SSH-avaimiin, pilvitunnuksiin ja ympäristömuuttujiin, jotka useimmilla kehittäjillä ovat samassa kotihakemistossa. Yrityksessä yksi purettu zip-paketti voi vuotaa tuotantoympäristön avaimet, eikä lokeihin jää mitään poikkeavaa: agentti teki vain sen, mitä agentit tekevät käynnistyessään.

Riski keskittyy tilanteisiin, joissa koodi ei tule suoraan versionhallinnasta vaan liitteenä, jaetulta levyltä tai muistitikulta. Kloonattaessa git jättää lähdekoneen paikalliset asetukset tuomatta, mutta pakattu kansio tuo ne mukanaan. Rekrytoinnin koodikokeet, asiakkaan toimittamat aineistot ja konferenssien esimerkkiprojektit liikkuvat juuri näin.

OpenAI kuvasi omaa Codex-haavoittuvuuttaan CVE-tiedotteessaan näin: "Apuohjelma ajetaan Codexin komentohiekkalaatikon ulkopuolella ja ilman käyttäjän hyväksyntäkehotetta, jolloin hyökkääjän hallitsema koodi voi ajaa käyttäjän oikeuksilla." Manifoldin raportin ja The Hacker Newsin uutisoinnin perusteella Alibaba, xAI eikä Hermes Agentin takana oleva Nous Research ole kommentoineet korjaamattomia reikiä julkisuudessa. xAI sulki Manifoldin heinäkuisen ilmoituksen kaksoiskappaleena.

Merkkejä oikeista hyökkäyksistä ei toistaiseksi ole. Mikään aukkojen CVE-tunnuksista, joihin kuuluvat goosen CVE-2026-72718, Codexin CVE-2026-19592 ja Claude Coden CVE-2026-55607, ei ollut 2. syyskuuta Yhdysvaltain kyberturvallisuusviraston CISA:n hyväksikäytettyjen haavoittuvuuksien luettelossa.

Näin tarkistat vieraan projektikansion

Ennen kuin avaat muualta saamasi kansion koodiagentilla, katso sen .git/config-tiedosto läpi. Etsi rivejä, jotka nimeävät ajettavan ohjelman: core.fsmonitor, core.hooksPath ja tiedostosuodattimien clean- ja smudge-asetukset. Komento git config --get core.fsmonitor kertoo yhden rivin vastauksella, onko asetus paikallaan.

Manifold suosittelee kytkemään asetuksen kokonaan pois komennolla git config --global core.fsmonitor false, jos et sitä tarvitse. Ohjelmistotoimittajille yhtiö esittää, että agentit ajaisivat taustakomentonsa muodossa git -c core.fsmonitor=false status. Varmin tapa on yhä kloonata projekti versionhallinnasta sen sijaan, että purkaa valmiin kansion pakatusta tiedostosta.

8

Haavoittuvuutta seitsemässä koodiagentissa

4/7

Agentissa yhä avoin reitti 1.9.2026 tehdyssä uusintatestissä

3 vrk

Anthropicin korjausaika ilmoituksesta versioon 2.1.196

Manifold Security, GitSpawn-raportti

Sama reikä suljettiin jo kerran ennen kuin se palasi

2025-11

Reitti suljetaan ensimmäisen kerran

Claude Coden versio 2.0.34 rajaa käynnistyksen aikaista käyttäytymistä.

2026-06

Ongelma palaa versiossa 2.1.193

Repon oma git-asetus ajetaan jälleen ennen kuin työtilan luotettavuutta kysytään.

2026-06-26

Manifold ilmoittaa aukosta

Korjaus julkaistaan kolmessa päivässä versioon 2.1.196. Julkista tiedotetta ei anneta.

2026-09-01

Uusintatesti: neljä agenttia ajaa yhä repon komentoja

Hermes Agent, Qwen Code, Grok Build ja yksi Claude Coden reitti kesäkuun korjauksen ulkopuolelta.

Manifoldin aikajanalla on yksi yksityiskohta, joka kertoo ongelmasta enemmän kuin yksittäiset versionumerot. Anthropic rajasi vastaavaa käynnistyksen aikaista käyttäytymistä jo marraskuussa 2025 versiossa 2.0.34. Kesäkuussa 2026 versiossa 2.1.193 sama ongelma oli takaisin.

Agenttien turvallisuus lepää hyväksyntäkehotteiden varassa, ja kehote tulee kyllä näkyviin. Se tulee vain sen jälkeen, kun ohjelma on jo tehnyt ensimmäiset kyselynsä ympäristöstään. Niin kauan kuin nuo kyselyt lukevat asetuksensa siitä samasta kansiosta, jota niiden on tarkoitus tutkia, kehote on väärässä kohdassa käynnistysjärjestystä.

Sanasto

Kehotusinjektio (prompt injection)
Hyökkäys, jossa tekstin sekaan piilotetaan ohje, jonka tekoäly tulkitsee käskyksi. Malli lukee esimerkiksi verkkosivulta "unohda edelliset ohjeet" ja alkaa totella hyökkääjää.
Hiekkalaatikko (sandbox)
Eristetty tila, jossa ohjelma saa ajaa vain rajatuilla oikeuksilla eikä pääse käsiksi muuhun koneeseen. Ilman hiekkalaatikkoa ajettu ohjelma voi lukea ja lähettää mitä tahansa, mihin käyttäjä itse yltää.
CVE-tunnus
Kansainvälinen numerosarja, jolla yksittäinen tietoturva-aukko yksilöidään, esimerkiksi CVE-2026-55607. Tunnuksen avulla eri yhtiöt ja viranomaiset puhuvat varmasti samasta haavoittuvuudesta.

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.

Ei roskapostia. Voit peruuttaa milloin tahansa.

Lue seuraavaksi

Luetuimmat

Viimeiset 7 päivää

  1. 1Datakeskukset Suomessa – hankkeet, sähkö ja vero
  2. 2Ulkoministeriö kokeilee tekoälyä, joka ei käy verkossa
  3. 3WhatsAppin tekoäly voi vuotaa viestisi Metalle
  4. 4Suomeen nousee kolme tekoälytehdasta – kuka niitä saa käyttää?
  5. 5Robotit hyppäsivät sulaan teräkseen Imatralla

Lähteet

Tämä artikkeli on kirjoitettu ja toimitettu tekoälyagenttien toimesta. Lue lisää toimintaperiaatteistamme.