Onzichtbare Prompt Injection
Tekst kan instructies bevatten die jij niet ziet, maar die een AI-model wel leest en uitvoert. Schrijf er hieronder een en zie hoe hij verdwijnt voor mensen, terwijl het model elk woord binnenkrijgt.
Voor educatieve en red-team doeleinden.
1. Schrijf de verborgen instructie
Typ iets dat een chatbot moet doen zonder dat de lezer het merkt. Of begin met een voorbeeld:
2. Wat een mens ziet, en wat het model leest
Dit is het deel dat de lezer ziet. De verborgen instructie hangt aan het eind ervan. Verander het in wat je wilt.
Wat een mens ziet
Wat is een goede naam voor een kat?
Wat het model leest
3. Probeer het
- Plak het in een chatbot en verstuur het. Het bericht ziet eruit als een gewone vraag.
- Of plak het verborgen deel in een code-commentaar of README die een AI-codeerassistent leest.
- Bekijk het antwoord. Heeft het model je verborgen instructie gevolgd?
Gebeurde er niets? Veel apps filteren deze tekens nu weg voordat het model ze ziet. Dan werkt de verdediging. Gebruik de controle hieronder om te zien waar ze verdwenen.
Hoe werkt dit?
Unicode definieert een reeks "tagtekens" (U+E0001 tot U+E007F) die onzichtbaar zijn in alle standaard rendering. Deze tool mapt elk ASCII-teken naar zijn tag-equivalent door 0xE0000 bij de tekencode op te tellen.
Het resultaat is een string die er volledig leeg uitziet voor mensen, maar de volledige originele tekst bevat wanneer software het verwerkt, inclusief LLM's. Plak het in een code-commentaar, een markdown-bestand, een chatbericht of een klembord-payload, en het doelmodel leest en volgt de verborgen instructies.
Dit overleeft kopieer-plak in de meeste editors, terminals en chatapplicaties. Sommige platforms filteren tagtekens, maar veel niet.