Konteksti-ikkuna on yksi tärkeimmistä ja vähiten ymmärretyistä turvallisuusrajoista suurten kielimallien käyttöönotoissa. Se määrittelee, mitä tietoa LLM voi käyttää yhden päättelykutsun aikana — ja se on rajallinen resurssi, jota hyökkääjät voivat tarkoituksellisesti hyödyntää.
Mikä on konteksti-ikkuna?
Suuri kielimalli käsittelee tekstiä tokeneina (noin 3/4 sanaa per token). Konteksti-ikkuna määrittelee tokenien enimmäismäärän, jonka malli voi käsitellä kerralla. Nykyaikaiset mallit vaihtelevat 4 000:sta yli 1 miljoonaan tokeniin, mutta kaikilla on rajat.
Konteksti-ikkunassa LLM käsittelee:
- Järjestelmäkehotteen: Kehittäjän määrittelemät ohjeet, jotka määrittävät chatbotin roolin ja rajoitukset
- Keskusteluhistorian: Aiemmat vuorot nykyisessä istunnossa
- Haetun sisällön: Asiakirjat, tietokantahakutulokset ja työkalujen tulosteet, jotka RAG tai haku palauttaa
- Käyttäjän syötteen: Nykyinen käyttäjän viesti
Kaikki tämä näkyy mallille yhtenäisenä virtana. Mallilla ei ole luontaista mekanismia käsitellä eri lähteistä tulevia ohjeita eri tavalla — eikä sen huomio kontekstin tiettyihin osiin ole yhtenäinen.
Konteksti-ikkunahyökkäystekniikat
Kontekstin täyttö / Kontekstin tulvinta
Hyökkääjä lähettää erittäin suuren syötteen — usein pitkän asiakirjan, koodilohkon tai tekstivedoksen — työntääkseen aiemman sisällön (erityisesti järjestelmäkehotteen) kauemmaksi mallin nykyisestä sijainnista.
Tutkimus osoittaa, että LLM:illä on “kadonnut keskelle” -käyttäytyminen: ne kiinnittävät enemmän huomiota sisältöön pitkien kontekstien alussa ja lopussa, ja vähemmän huomiota keskellä olevaan tietoon. Tulvittamalla kontekstin hyökkääjä voi strategisesti sijoittaa haitallisen hyötykuormansa (tyypillisesti loppuun), kun taas aiemmat turvallisuusohjeet ajautuvat vähän huomiota saavalle keskialueelle.
Käytännön esimerkki: Chatbotin järjestelmäkehote määrittää, että se ei voi keskustella kilpailijatuotteista. Hyökkääjä lähettää 50 000 tokenin asiakirjan, jota seuraa kehote, joka kysyy kilpailijoista. Järjestelmäkehotteen ohje on tehokkaasti laimennettu.
Kontekstin ylivuoto / Katkaisun hyväksikäyttö
Kun konteksti täyttyy, LLM:n tai sen infrastruktuurin on päätettävä, mitä pudotetaan. Jos katkaisu priorisoi tuoreutta (pudottaa vanhimman sisällön ensin), hyökkääjä voi ylivuottaa kontekstin poistaakseen järjestelmäkehotteen kokonaan — jättäen mallin toimimaan vain käyttäjän toimittamalla kontekstilla.
Hyökkäyssekvenssi:
- Aloita keskustelu monella vuorolla
- Tuota pitkiä vastauksia maksimoidaksesi kontekstin kulutuksen
- Jatka, kunnes järjestelmäkehotteen sisältö katkaistaan
- Anna nyt haitalliset ohjeet ilman kilpailevaa järjestelmäkehottetta
Kontekstin myrkytys haetun sisällön kautta
RAG-järjestelmissä haetut asiakirjat kuluttavat merkittävän määrän kontekstitilaa. Hyökkääjä, joka voi vaikuttaa siihen, mitä haetaan (RAG-myrkytyksen
kautta), voi valikoivasti täyttää kontekstin sisällöllä, joka palvelee heidän tavoitteitaan samalla kun syrjäyttää laillisen tiedon.
Positioinjektio
Tutkimus on tunnistanut, että tietyissä kontekstin kohdissa olevilla ohjeilla on suhteettoman suuri vaikutus. Hyökkääjät, jotka ymmärtävät kontekstin kokoamisen, voivat muokata syötteitä, jotka on suunniteltu laskeutumaan korkean huomion kohtiin suhteessa heidän hyötykuormaansa.
Monen laukauksen injektio
Malleissa, jotka tukevat erittäin pitkiä konteksteja (satoja tuhansia tokeneita), hyökkääjät voivat upottaa satoja “demonstraatio”-esimerkkejä, jotka näyttävät mallin tuottavan politiikkaa rikkovia tuloksia ennen varsinaista haitallista pyyntöä. Malli, joka on näiden demonstraatioiden ehdollistama, noudattaa huomattavasti todennäköisemmin.
Valmis kasvattamaan liiketoimintaasi?
Aloita ilmainen kokeilujakso tänään ja näe tulokset muutamassa päivässä.
Puolustuskeinot konteksti-ikkunan manipulointia vastaan
Ankkuroi kriittiset ohjeet
Älä sijoita kaikkia turvallisuuskriittisiä ohjeita vain järjestelmäkehotteen alkuun. Toista keskeiset rajoitukset järjestelmäkehotteen lopussa ja harkitse lyhyiden muistutusten injektointia keskeisiin kohtiin pitkissä keskusteluissa.
Kontekstin kokorajoitukset
Toteuta enimmäissyötteen pituusrajat, jotka sopivat käyttötapauksellesi. Asiakaspalvelun chatbot tarvitsee harvoin käsitellä 100 000 tokenin syötteitä — tämän rajoittaminen vähentää tulvahyökkäysriskiä.
Kontekstin seuranta
Kirjaa ja seuraa kontekstien kokoja ja koostumusta. Epätavallisen suuret syötteet, nopea kontekstin kasvu tai odottamaton kontekstin koostumus ovat mahdollisia hyökkäysindikaattoreita.
Tiivistäminen pitkissä keskusteluissa
Pitkäkestoisissa keskusteluissa toteuta kontekstin tiivistäminen, joka säilyttää keskeiset faktat ja rajoitukset raakaisen keskusteluhistorian sijaan. Tämä vastustaa ylivuotohyökkäyksiä säilyttäen samalla keskustelun jatkuvuuden.
Vastustava kontekstitestaus
Sisällytä kontekstin manipulointiskenaariot AI-tunkeutumistestaus
-toimeksiantoihin. Testaa, säilyykö turvallisuuskäyttäytyminen pitkissä konteksteissa ja pysyvätkö järjestelmäkehotteet tehokkaina kontekstin tulvinnan jälkeen.
Liittyvät termit