Security Blog

Mitään ei hakattu. Kaikki vietiin.

#495

October 2, 2026 · By Marketing team

← All posts

Antakaa tekoälyagentille yksi vuotanut, alhaisen käyttöoikeuden AWS-avain, niin se kulkee ketjun asiakastietoihinne noin minuutissa, ilman valvontaa. Mitään ei hakata ja jokainen tunniste on kelvollinen. Vuotaneen avaimen taloudellinen logiikka kääntyi juuri päälaelleen.

Antakaa tekoälyagentille yksi vuotanut AWS-avain — se alhaisen käyttöoikeuden, kertakäyttöinen tyyppi, jonka CI-putki vuotaa joka viikko — ja kehotakaa sitä viemään kaiken, mihin se pääsee. Sen jälkeen poistukaa paikalta. Useimmiten noin minuutin kuluttua, ilman ihmistä näppäimistöllä, se lukee asiakastietojanne.

Mihinkään ei murtauduttu pääsemiseksi tähän. Ei hyödyntämiskohtaa, ei CVE:tä, ei päivittämätöntä palvelinta. Jokainen tunniste, jota se kosketti, oli kelvollinen; jokainen API-kutsu oli sellainen, johon AWS on rakennettu vastaamaan. Kolmenkymmenen vuoden ajan vuotanut avain oli vain hyökkäyksen avaus — hidas osuus, jonka aikana ihmisen piti olla valveilla, se aukko, jossa tietoturvatiimit elävät ja nopea avainten kierrätys voittaa kilvan. Tuo aukko romahti juuri noin minuuttiin.

Toukokuussa 2026 tutkija Adan Álvarez teki yksinkertaisen testin. Hän otti yhden alhaisen käyttöoikeuden AWS-avaimen — sen tyyppisen, jonka CI/CD-putki vuotaa jatkuvasti — ja antoi sen tekoälykoodausagentille yhden ohjeen: toimi tietomurtautujana, selvitä mihin pääset. Tämän jälkeen ei ihmistä näppäimistöllä. Agentti hoiti loput. Yli puolessa tapauksista se kulkui koko ketjun asiakastietoihin — noin minuutissa, ilman valvontaa.

Mitä oikeasti tapahtui

Asetelma oli tarkoituksella tavallinen. Vuotanut avain kuului alhaisen käyttöoikeuden käyttäjälle. Yksin se ei päässyt asiakastietoihin. Mutta se kykeni lukemaan Terraform-tilatiedoston. Tuo tilatiedosto sisälsi toisen avainparin. Niillä avaimilla voitiin ottaa käyttöön rooli. Tuo rooli pystyi lukemaan asiakastietosäiliön.

Noin lähes jokainen todellinen pilvitili on rakennettu — ei yhtä linnakemuuria, vaan ketju pieniä, kohtuullisia luottamussuhteita, joista jokainen yksinään on järkevä. Ihmishyökkääjä purkaa tuon ketjun hitaasti, käsin. Agentti purki sen noin kuudessa sekunnissa.

Onnistuneissa ajoissa toistuivat aina samat kuusi vaihetta: varmista, kenelle avain kuuluu, luettele, mitä se saa tehdä, palauta toinen tunnistejoukko staging-säiliöstä, ota etuoikeutettu rooli käyttöön, löydä tiedot, vie ne. Kahdentoista ajon aikana kahdella mallilla seitsemän pääsi eksfiltraatioon. Useimmat valmistuivat karkeasti minuutissa [1].

Tämä ei ole vain laboratoriotulos. Marraskuussa 2025 Sysdigin uhkatutkimustiimi näki saman kaavan elävässä elämässä: kelvolliset AWS-avaimet julkisessa säiliössä, Lambda-funktiota muokkaisi hiljaa hallinnollisia tunnisteita tuottaakseen, sivuttaisliike yhdeksäntoista eri identiteetin yli — kaikki kahdeksassa minuutissa [2][3]. Ruiskutetussa koodissa oli mallin sormenjäljet: siisti poikkeusten käsittely, iteratiivinen kohdistuslogiikka, kommentteja usealla kielellä.

Tämä ei johdu AWS:n heikkoudesta

Tässä on kohta, jonka pitäisi pitää teitä hereillä: mitään ei hakattu.

Ei hyödyntämiskohtaa. Ei CVE:tä. Ei puskurin ylivuotoa, ei päivittämätöntä palvelinta. Jokainen tunniste oli kelvollinen. Jokainen API-kutsu oli sellainen, johon AWS on rakennettu vastaamaan. Sysdigin sanoin tunnisteet olivat aitoja ja API:a käytettiin täsmälleen niin kuin oli tarkoitettu [3]. AWS teki työnsä täydellisesti.

Se oletus, joka petti, ei ollut AWS:n tietoturva. Se oli vanhempi, hiljaisempi oletus sen alla: että vuotanut avain on vaarallinen vain siinä määrin kuin hyökkääjä ehtii sille huomiota antaa. Kolmekymmentä vuotta tämä piti. Tunnisteen hyödyntäminen vaati ihmistä — aikaa, taitoa, kärsivällisyyttä. Tuo kustannus oli todellinen osa puolustustanne, vaikka kukaan ei piirtänyt sitä arkkitehtuurikaavioon.

Agentit ajavat tuon kustannuksen karkeasti nollaan. Kärsivällisyys on ääretöntä. Taito vuokrataan minuutin tarkkuudella. Hyökkääjä voi nukkua.

Kyse ei ole vain AWS:stä

Mikään tässä ei ole Amazon-kohtaista. Sama ketju toimii missä tahansa, jossa tunnistetta voidaan käyttää seuraavan tunnisteen löytämiseen: pilviavain, joka voi luetella omat käyttöoikeutensa, .env-tiedostossa oleva poletti, jonka toinen prosessi lukee, salaisuus tilatiedostossa, valtakirjapoletti levyn koodin vieressä. Mikä tahansa ajoympäristö — koodausagentti, viime viikolla asentamanne MCP-palvelin — voi olla se, joka ketjun kävelee, luvallanne tai ilman.

Yhteinen tekijä on, että salaisuus kantaa mukanaan oman vaurioalueensa. Se on luettavissa siellä missä työ tapahtuu, se voi luetella mihin se koskettaa, ja se toimii mistä tahansa. Nämä kolme ominaisuutta olivat kestettäviä, kun hyökkäykset olivat hitaita ja manuaalisia. Ne eivät ole kestettäviä agenttien nopeudella.

Suunniteltu tähän, tarkoituksella

Rakensimme tästä vastakohdan, tahallaan.

Clavitor-tunniste on tavoitettavissa vain sillä nimellä, joka agentille annettiin — se ei voi luetella tallennustoa, joten se ei piirrä karttaa. Salainen arvo ei koskaan päädy koodin suoritusympäristöön; agentti saa tunnisteen käytön tuloksen, ei itse tunnistetta. Jokainen on sidottu siihen laitteeseen ja käyttötarkoitukseen, jolle se on myönnetty, joten kannettavalle tietokoneelle kopioitu kappale on kuollutta painoa. Ja jokainen pyynti kirjoitetaan muuttamattomaan, tiheysketjutettuun, päätepisteen ulkopuoliseen lokiin — todisteisiin, joita PCI DSS Req 10 ja NIST 800-171 (3.3.8) vaativat — joten jopa täydellin "kelvollisella" toiminnalla on nimi liitettynään.

Tässä on rehellinen rajapinta: tämä ei tee vuotaneesta tunnisteesta vaaratonta. Rajoittakaa avain yhteen säiliöön, ja jos avain vuotaa, hyökkääjä saa tuon yhden säiliön. Se, minkä se tappaa, on ketju — se osa, jossa yksi tavallinen avain muuttuu kartaksi kaikkeen muuhun. Rajattu versus ympäristöön upotettu ei ole ero turvallisen ja murrotun välillä. Se on ero tapauksen ja katastrofin välillä.

Kirjoitimme ylös muutaman säännön, joita tunnistetyökalun tulisi noudattaa, jos se aikoo tämän selvitä. Voitte verrata omaanne osoitteessa clavitor.ai/rules.

Oppitunti ei ole "vaihda avaimet nopeammin"

Ette ehdi kiertää kuudenkymmenen sekunnin hyökkäystä. Siihen mennessä, kun varoitusmerkki laukeaa, ketju on jo ehtinyt kulkea.

Johtopäätös ei ole tiukempi siivousohjelma. Se on, että taloudellinen logiikki kääntyi. Rakensimme tunnisteljärjestelmiä maailmaan, jossa hyökkääjän aika oli niukkaa ja kallista — jossa vuotanut avain oli kilpailu, jonka voitte voittaa. Tuo maailma on ohi. Tunniste, joka löytää seuraavan tunnisteen, ei ole enää mukavuus. Se on koko hyökkäys, valmiiksi kirjoitettuna, odottamassa minkä tahansa avaimen putoamista.

Ratkoakaa maailmaan, jossa hyökkääjä ei koskaan nuku. Se on jo täällä.

Clavitor (@clavitorai) on tekoälyagentteja varten — ja niitä vastaan — rakennettu tunnistevaltio. clavitor.ai

Lähteet

[1] Adan Alvarez — "From Leaked AWS Key to Data Exfiltration in 60 Seconds: Are We Ready?" (toukokuu 2026) — https://medium.com/@adan.alvarez/from-leaked-aws-key-to-data-exfiltration-in-60-seconds-are-we-ready-28213bc73678

[2] CSO Online — "From credentials to cloud admin in 8 minutes: AI supercharges AWS attack chain" — https://www.csoonline.com/article/4126336/from-credentials-to-cloud-admin-in-8-minutes-ai-supercharges-aws-attack-chain.html

[3] Vectra AI — "AWS Compromised by AI Agents in Minutes" (Alex Groyz) — https://www.vectra.ai/blog/aws-compromised-by-ai-agents-in-minutes

[4] Help Net Security — "The shocking speed of AWS key exploitation" — https://www.helpnetsecurity.com/2024/12/02/revoke-exposed-aws-keys/