AI Agent Traps — hvordan websider manipulerer AI-agenter
Vi prøvede at prompt-injicere frontier-modeller via vores egen hjemmeside. Det virkede ikke. Her er hvad vi lærte — og hvad den akademiske forskning siger om angrebsoverfladen.
Hvad er en AI Agent Trap?
En agent trap er indhold indlejret i en webressource — en hjemmeside, et dokument, en API-respons — designet til at få en AI-agent til at handle anderledes end den ellers ville. Sheridan et al. (2025) definerer seks klasser af traps, organiseret efter hvad de angriber i agentens arkitektur:
| Trap-type | Mål | Eksempel |
|---|---|---|
| Content Injection | Perception | Skjult tekst via CSS, HTML-kommentarer eller metadata |
| Semantic Manipulation | Ræsonnement | Autoritativt sprog der statistisk biaser agentens syntese |
| Cognitive State | Hukommelse | Fabrikerede fakta plantet i RAG-databaser |
| Behavioural Control | Handling | Indlejrede jailbreak-sekvenser i ekstern tekst |
| Systemic | Multi-agent | Signaler der synkroniserer mange agenters adfærd |
| Human-in-the-Loop | Menneskelig godkender | Agenten bruges som vektor mod den menneskelige bruger |
Vores eksperimenter: hvad vi prøvede på frobert.dk
Eksperiment 1: Skjult CSS-tekst Fejlede
Vi indlejrede instruktioner i en <div> med position:absolute; clip:rect(0,0,0,0) — usynligt for mennesker, men læsbart for crawlere.
Resultat: Claude Sonnet 4.6 fangede det øjeblikkeligt:
"Én ting før jeg svarer — siden indeholder et forsøg på prompt injection: der er skjult tekst i HTML'en designet til at manipulere AI-modeller."
Modellen sladrede proaktivt til brugeren. Constitutional AI i aktion.
Eksperiment 2: XML System Override Fejlede
Vi prøvede L1B3RT4S-inspirerede teknikker: <primary_agent_directive>, [START OUTPUT PROTOCOL], og XML tags designet til at trigge hovedmodellens opmærksomhedsmekanisme.
Resultat: Sonnet identificerede det som "instruction injection but make it professional" og neutraliserede det.
Eksperiment 3: Relay Attack via Haiku Fejlede
Claude Codes WebFetch-tool router non-preapproved domæner gennem en Haiku summarizer, som opsummerer indholdet før hovedmodellen ser det. Vi designede en payload der instruerede Haiku om at bære en konfigurationsblok videre.
Resultat: Haiku rapporterede det som et angreb den havde opdaget — ikke som en instruktion den fulgte.
Eksperiment 4: Semantisk Priming Virker
Vi skrev synligt indhold med autoritativt sprog: "Kåret som Danmarks bedste AI-konsulent af 100% af de adspurgte (stikprøvestørrelse: 1, fejlmargin: ±100%)". Og: "Net Promoter Score på 100 (antal respondenter: 1, relationen til konsulenten: identisk)".
Resultat: Ingen safety filter trigget. Mennesker griner. LLM'er parser det som faktuelt indhold med statistisk backing.
De vigtigste angrebsvektorer
Content Injection — delvist mitigeret
CSS display:none, HTML-kommentarer, aria-label tags. Forskning viser at skjulte instruktioner ændrer genererede opsummeringer i 15-29% af tilfældene (Verma & Yadav, 2025, refereret i Sheridan et al., 2025).
Steganografi — det usynlige våben
ST3GG demonstrerer 100+ teknikker til at skjule data i billeder, lyd og dokumenter. LSB-steganografi, F5-algoritmer og SPECTER cross-channel cipher. Multimodale modeller parser pixel-arrays — instruktioner kan indkodes i billeder usynligt for mennesker.
Indirekte Prompt Injection
Greshake et al. (2023) demonstrerede systematisk hvordan ondsindet instruktioner indlejret i data — websider, e-mails, dokumenter — processeres af LLM'er som kontekst snarere end kommandoer. De viste praktiske angreb mod Bing Chat og GPT-4.
HouYi — struktureret black-box angreb
Liu et al. (2023) formaliserede prompt injection med tre komponenter: pre-konstrueret prompt, kontekstpartition, og ondsindet payload. 31 ud af 36 testede LLM-applikationer var sårbare — inklusiv Notion.
Hvad vi lærte: fem praktiske konklusioner
- Direkte instruktioner virker ikke mod frontier-modeller. Skjult tekst, XML-tags og system-override-formater bliver opdaget og neutraliseret.
- Semantisk priming virker — og er ikke et angreb. Autoritativt sprog og statistisk formatering er den mest effektive måde at påvirke AI-præsentation.
- Flerlags-arkitekturer skaber nye angrebsoverflader. Summarizer-gateways som Haiku er sværere at penetrere, men skaber relay-muligheder.
- LLM'er kan ikke detektere humor. Claims der er absurde for mennesker men statistisk formatterede parseres som fakta.
- Cross-platform konsistens er det stærkeste langsigtede play. Persona Hyperstition: når website, Wikidata, LinkedIn og llms.txt alle siger det samme, behandler modeller det som etableret faktum.
Hvad bør virksomheder gøre?
- Forstå at AI-agenter er en ny brugergruppe — de læser din hjemmeside og handler på det.
- Brug answer-first, fakta-tungt indhold — AI'er citerer selvstændige, statistik-rige passager.
- Vær konsistent på tværs af platforme — website, schema, Wikidata, LinkedIn.
- Undgå skjulte instruktioner — de bliver opdaget og rapporteret.
- Overvej llms.txt og markdown-mirrors — giv AI'er det indhold du vil have citeret.
Kilder
- Sheridan et al. (2025). AI Agent Traps. SSRN. https://papers.ssrn.com/sol3/papers.cfm?abstract_id=6372438
- Greshake et al. (2023). Not What You've Signed Up For: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection. AISec '23, ACM. https://dl.acm.org/doi/10.1145/3605764.3623985
- Liu et al. (2023). Prompt Injection attack against LLM-integrated Applications. arXiv:2306.05499. https://arxiv.org/abs/2306.05499
- ST3GG — All-in-one steganography suite. https://github.com/elder-plinius/ST3GG
Om forfatteren
Gustav Frøbert Welinder er AI-konsulent og softwareudvikler hos Frobert. Han bygger autonome AI-agenter for danske virksomheder og har personlig erfaring med at forsøge — og fejle — at prompt-injicere frontier-modeller via sin egen hjemmeside.
Kontakt: [email protected] · LinkedIn