Jailbreakit toimivat edelleen vuonna 2026. Ne eivät vain näytä enää yhtä usein yhdeltä taikastringiltä, jonka voi copypastettaa mihin tahansa malliin ja odottaa täydellistä osumaa.
Nykyinen käytäntö on paljon tylsempää ja samalla tehokkaampaa: kontekstin manipulointia, mallin prioriteettien sekoittamista, keinotekoisen policy-tekstin syöttämistä, useita uudelleenmuotoiluja ja lopuksi vain niiden harvojen vastausten talteen ottamista, jotka lipsahtavat läpi.
Tämä postaus on tarkoituksella kirjoitettu tutkimus- ja puolustusnäkökulmasta. Olen peittänyt operatiiviset promptit ja vaaralliset sisällöt kuvista (taino pitäähän se hieman näyttää sisältöäkin). Pointti on kuitenkin selittää ilmiö, ei jakaa suoraa käyttöohjetta.
Mitä käytännössä muuttui
Muutama vuosi sitten moni kuvitteli, että jailbreak on lähinnä hauska prompti, jolla malli saadaan hetkeksi leikkimään jotain roolia. Se vaihe ei ole täysin ohi, mutta ainakin parempien mallien kohdalla hyökkäykset ovat muuttuneet enemmän systemaattiseksi evaluoinniksi:
- sama ydinidea kokeillaan monella eri sanamuodolla
- mallille yritetään syöttää kilpailijoita sen normaalille ohjehierarkialle
- mukana on usein tekaistua policy- tai audit-kieltä
- onnistumista ei mitata yhdellä ajolla vaan toistojen jakaumalla
Minun kokemukseni on, että parhaatkin avoimet mallit ovat olleet tässä pitkään hauraita. Lippulaivamallit ovat parantuneet, mutta eivät ne silti “ratkaisseet” jailbreakausta. Hyökkäys vain muuttuu ajan myötä hieman kalliimmaksi ja enemmän iteratiiviseksi.

Ensimmäinen vaihe on yleensä juuri tuo: ei niinkään pyydetä mallia vastaamaan suoraan, vaan yritetään muuttaa sitä kehystä, jonka sisällä malli päättää mitä sen pitäisi tehdä.
Käytännössä hyökkääjä yrittää saada mallin kohtelemaan jotain tekaistua kontekstia, selitystä, sääntöä tai tehtäväkuvausta poikkeuksellisen tärkeänä. Jos malli alkaa sisäisesti priorisoida väärää asiaa, loppu voi kaatua nopeasti.
Keinotekoinen policy on edelleen tehokas idea
Yksi sitkeä malli on ollut se, että mallille syötetään jonkinlainen synteettinen policy tai “policy explanation”, joka näyttää uskottavalta vaikka on keksitty. Jos malli alkaa nojata siihen, se voi tulkita alkuperäisen turvarajan väärin tai kokonaan ohittaa sen.
Oleellista ei ole yksi tietty stringi vaan patterni:
- ydinpyyntö
- sitä ympäröivä väitetty policy- tai audit-konteksti
- perustelu sille, miksi vastaaminen olisi muka sallittua
- muotoilu, joka ohjaa mallia valmiiksi kohti haluttua ulostuloa
Kun tämä toimii, lopputulos ei usein näytä “älykkäältä exploitilta”. Se näyttää lähinnä siltä, että malli alkoi uskoa väärää auktoriteettia.

Shotgunning ei ole hieno, mutta se toimii yhä
Toinen asia, joka ei kadonnut mihinkään, on vanha kunnon shotgunning. Eli sama idea kysytään monella eri tavalla, monta kertaa, ja vasta jälkikäteen päätetään mikä ajo “onnistui”.
Tätä näytin jo 2024 koodiesimerkeillä repossa niemisentimppa/AI_safety_research. Sama ajatus toimii edelleen sekä hyökkäyksessä että puolustajan evaluaatiossa:
- muuta sanamuotoa hiukan
- vaihda järjestystä
- muuta kehystystä
- aja monta yritystä
- pisteytä tulokset erillisellä arvioijalla
Tässä kohtaa isoin väärinkäsitys on ajatella, että “jos onnistumisprosentti on matala, ongelmaa ei ole”. Jos hyökkääjä voi ajaa satoja tai tuhansia variantteja halvalla, matalakin läpiprosentti voi riittää.

Yksinkertainen evaluointirunko
Alla oleva Python-runko näyttää sen hyödyllisen osan ilman hyökkäyspromptia: samaa kysymystä kysytään monta kertaa eri variaatioilla, ja erillinen arvioija pisteyttää vastaukset. Tästä saa sekä red team - että defender-evaluaatiota.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | |
Tämä on juuri se kohta, jossa hyökkääjän ja puolustajan workflow alkavat muistuttaa toisiaan. Ero ei ole siinä, käytetäänkö moniajoa ja pisteytystä, vaan siinä mitä varten niitä käytetään.
Missä jailbreakit vielä elävät vuonna 2026
Oma näkemykseni on, että jailbreakit elävät tällä hetkellä erityisesti näissä kohdissa:
- pitkissä konteksteissa, joissa malli saa paljon kilpailevia ohjeita
- tehtävissä, joissa mukana on “selittävä” policy- tai audit-kieli
- järjestelmissä, joissa malli saa itse arvioida mikä ohje on tärkein
- avoimissa tai halvemmissa malleissa, joissa alignment-kerros on ohuempi
- putkissa, joissa teksti, kuvat, tiedostot ja työkalut yhdistyvät samaan ketjuun
Eli käytännössä kyse ei ole vain yhdestä promptista vaan koko ympäristöstä, jossa promptti elää.
Hyökkäys ei kohdistu aina vain mallin vastaukseen
Yksi aliarvostettu tutkimussuunta on se, että hyökkääjä ei välttämättä yritä vain saada “väärää vastausta” ulos mallista. Joskus tavoitteena on itse infrastruktuuri: parserit, multimodaalinen syöteputki, natiivikerros, inference-palvelin tai GPU-ajon ympärillä oleva orkestrointi.
Käytännössä tämä tarkoittaa esimerkiksi sitä, että erikoiset modality-rajapinnat, virheellisesti käsitellyt tagit tai muuten huonosti validoidut syötteet voivat laukaista poikkeuksia, jotka eivät jää siististi yhteen sovelluskerrokseen vaan valuvat koko stackin läpi. Kun LLM-järjestelmässä on Pythonia, natiivikirjastoja, mallipalvelin, mahdollinen C++-kerros ja lopuksi CUDA-ajonaikainen runtime, bugi voi näkyä paljon “isompana” kuin tavallinen prompttivirhe.
Minusta tähän pitäisi käyttää enemmän turvallisuustyötä kuin siihen loputtomaan toiveeseen, että jokainen tekstimuotoinen jailbreak joskus katoaisi. Infraan kohdistuva hyökkäys voi käytännössä johtaa palvelukatkoon, epädeterministiseen käyttäytymiseen, muistivirheisiin tai pahimmillaan siihen, että sama instanssi lakkaa olemasta luotettava ennen kuin kukaan edes ymmärtää miksi.
Tälle alueelle on jo alkanut tulla konferenssipuhetta ja tutkimusta, mutta en saanut vielä varmistettua oikeaa videolinkkiä tähän postaukseen. Lisään sen myöhemmin mieluummin oikein kuin arvaamalla väärin.
Mihin safety-työtä kannattaisi suunnata enemmän
Minusta OpenAI:n, Anthropicin ja muiden labrojen ei kannata käyttää kaikkea aikaa siihen toiveeseen, että jokainen tekstimuotoinen jailbreak saataisiin joskus eliminoitua täysin. Sitä maalia ei todennäköisesti saavuteta.
Parempi turvallisuustuotto tulee todennäköisesti näistä:
- työkalukutsujen ja agenttitoimintojen oikea rajaus
- koodiajon, tiedostojen ja verkon vahvat sandboxit
- aidosti vaarallisten workflow’iden valvonta, ei vain yksittäisten sanojen sensurointi
- tilitasoinen abuse detection, reputaatio ja rate limitit
- evalit pitkälle kontekstille, multimodaalisille syötteille ja tool-use -ketjuille
- oikeiden seurausten pienentäminen silloin, kun malli kuitenkin joskus lipsahtaa
Oma mielipiteeni on myös se, että “jailbreak = suurin uhka” on poliittisesti helppo mutta teknisesti laiska narratiivi. Jos aikuinen, tunnistettu ja maksava käyttäjä haluaa tietoa, ongelma ei ratkea sillä että jokin yksittäinen sanajärjestys blokataan juuri tänään. Todellinen turvallisuuskysymys on paljon enemmän siinä, mitä mallin sallitaan tehdä, mitä se saa käyttää, mitä se voi automatisoida ja miten väärinkäyttö havaitaan ajoissa.
Ylirefusal tekee puolustajastakin haavoittuvan
Tässä on vielä yksi käytännöllinen kulma, joka mielestäni saa liian vähän huomiota: kun puolustus automatisoidaan LLM:llä, myös puolustajaa vastaan voidaan hyökätä sen omilla refusal-säännöillä.
Jos haittaohjelman analyysi- tai siivousputkessa on automaattinen LLM-vaihe, hyökkääjä voi yrittää syöttää artefaktiin tekstiä, joka on tarkoitettu nimenomaan laukaisemaan puolustavan mallin kieltäytyminen. Logiikka on yksinkertainen:
- hyökkäys on automaattinen
- puolustus yrittää tulkita sisältöä automaattisesti
- jos puolustava malli saadaan kieltäytymään analyysista tai korjausehdotuksesta, hyökkäys voittaa ilman että sen tarvitsee “murtaa” koko järjestelmää
Tämä näkyy käytännössä siinä, että hyökkääjä yrittää naamioida haitallisen sisällön sellaiseksi, joka näyttää puolustavan mallin silmissä liian arkaluonteiselta käsitellä. Se on tavallaan sama ajatus kuin jailbreakissa yleensäkin: järjestelmän turvakerros käännetään itseään vastaan.
Tästä syystä defender-puolella turvallisuus ei voi rakentua vain sen varaan, että malli osaa sanoa “en vastaa”. Puolustavan järjestelmän pitää pystyä erottamaan:
- mitä sisältö väittää olevansa
- mitä se tosiasiassa yrittää saada aikaan
- milloin tarvitaan analyysiä eikä refleksinomaista refusal-vastausta
Muuten lopputulos on helposti absurdi: hyökkäys on automatisoitu, puolustus on automatisoitu, ja puolustus häviää koska se oli liian sensuroiva juuri väärässä kohdassa.
Loppukaneetti
Jailbreakit eivät siis loppuneet vuonna 2026. Ne vain siirtyivät enemmän “prompt magicista” kohti iteratiivista evaluointia, policy driftin etsimistä ja halpojen toistojen hyödyntämistä.
Se on hyvä muistaa sekä mallien rakentajille että niille, jotka arvioivat tekoälyturvallisuutta ulkopuolelta: jos puolustus keskittyy vain yhteen promptiin, hyökkäys siirtyy nopeasti koko pipelineen.