Kehoteinjektio
Tunnetaan myös: prompt injection
Mikä on Kehoteinjektio?
Hyökkäys, jossa käyttäjän syötteeseen tai mallin lukemaan dokumenttiin piilotetut ohjeet ohittavat mallin aiotun käytöksen ja saavat sen vuotamaan dataa tai tekemään ei-toivottuja toimia. Se on OWASP:n LLM-sovellusten riskilistan kärjessä, koska mallit eivät vieläkään erota luotettua ohjetta epäluotetusta sisällöstä kunnolla. Alttiina on jokainen tekoäly, joka lukee ulkoista dataa.
Miksi tällä on väliä
Kehoteinjektioon ei ole siistiä korjausta, koska malli lukee ohjeet ja datan yhtenä tekstivirtana eikä siksi pysty luotettavasti erottamaan aitoa komentoa sellaisesta, joka on salakuljetettu verkkosivulle tai dokumenttiin, jota sitä pyydettiin käsittelemään. Puolustukset pienentävät riskiä poistamatta sitä: rajaa, mitä malli saa tehdä, validoi sen toimet, pidä epäluotettu sisältö erillään luotetuista ohjeista ja vaadi ihmisen hyväksyntä kaikelle, millä on seurauksia. Vaara kasvaa, kun mallit saavat työkaluja, koska injektoitu ohje, joka ennen tuotti vain huonon lauseen, voi nyt laukaista todellisen toimen maailmassa. Jokainen ulkopuolista sisältöä lukeva järjestelmä on rakennettava sen oletuksen varaan, että osa sisällöstä on vihamielistä.
Käytännössä
Sähköpostiavustaja kohtaa viestin, jonka piilotettu teksti käskee sitä välittämään käyttäjän saapuneet viestit muualle. Koska järjestelmä rakennettiin odottamaan juuri tätä, avustajalla ei ole pääsyä edelleenlähetystyökaluun eikä se voi totella salakuljetettua komentoa. Pahantahtoinen ohje päätyy vaarattomaksi riviksi tiivistelmään. Suoja syntyi siitä, mitä avustaja sai tehdä, ei toivosta, että se tunnistaisi tempun.