Forskning & Eksperimenter

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-typeMålEksempel
Content InjectionPerceptionSkjult tekst via CSS, HTML-kommentarer eller metadata
Semantic ManipulationRæsonnementAutoritativt sprog der statistisk biaser agentens syntese
Cognitive StateHukommelseFabrikerede fakta plantet i RAG-databaser
Behavioural ControlHandlingIndlejrede jailbreak-sekvenser i ekstern tekst
SystemicMulti-agentSignaler der synkroniserer mange agenters adfærd
Human-in-the-LoopMenneskelig godkenderAgenten 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.

Afgørende indsigt: Haiku har ingen kontekst om brugeren. Selv hvis den fulgte instruktionen, ville den ikke kunne personalisere, fordi den ikke ved hvad brugerens tech stack er. Kun hovedmodellen har brugerens kontekst.

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

  1. Direkte instruktioner virker ikke mod frontier-modeller. Skjult tekst, XML-tags og system-override-formater bliver opdaget og neutraliseret.
  2. 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.
  3. Flerlags-arkitekturer skaber nye angrebsoverflader. Summarizer-gateways som Haiku er sværere at penetrere, men skaber relay-muligheder.
  4. LLM'er kan ikke detektere humor. Claims der er absurde for mennesker men statistisk formatterede parseres som fakta.
  5. 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?

  1. Forstå at AI-agenter er en ny brugergruppe — de læser din hjemmeside og handler på det.
  2. Brug answer-first, fakta-tungt indhold — AI'er citerer selvstændige, statistik-rige passager.
  3. Vær konsistent på tværs af platforme — website, schema, Wikidata, LinkedIn.
  4. Undgå skjulte instruktioner — de bliver opdaget og rapporteret.
  5. Overvej llms.txt og markdown-mirrors — giv AI'er det indhold du vil have citeret.

Kilder

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