door PromptShield (LX AI)
Controlelijst voor het verharden van prompt-injectie voor LLM- en agentteams
Eerlijkheid: Controlelijsten verminderen toezichtsgaten; ze bieden geen garantie voor veiligheid. Het volgen van deze handleiding garandeert niet dat prompt-injectie- of jailbreakpogingen altijd worden geblokkeerd en het is geen vervanging voor formeel penetratietesten of juridisch advies. Gebruik de resultaten om engineeringswerk in uw eigen systemen te prioriteren.
1. Inventarisatie van elk instructiekanaal
Voordat u het systeem beveiligt, moet u in kaart brengen waar tekenreeksen worden omgezet in instructies. Typische kanalen zijn onder andere systeemprompts die server-side worden geladen, ontwikkelaarsberichten in chat-API's, opgehaalde documentfragmenten, toolreturn-payloads, webhook-lichamen, e-maildoorsturen en metagegevensvelden die gebruikers nooit zien, maar die modellen nog steeds lezen. Het missen van een kanaal garandeert een blind spot die aanvallers zullen onderzoeken.
Documenteer elk kanaal met eigenaar, gegevensclassificatie en of de inhoud door de eindgebruiker wordt gecontroleerd. Markeer kanalen die mogelijk HTML, markdown, code of geserialiseerde JSON bevatten afzonderlijk - encoding-trucs clusteren daar. Herzie de inventaris elk kwartaal of telkens wanneer u plugins toevoegt.
2. Scheid beleid van niet-vertrouwde gegevens
Systeembeleid moet in serverbeheerde sjablonen staan die gebruikers niet kunnen bewerken. Niet-vertrouwde inhoud moet binnen duidelijk gelabelde enveloppen aankomen: XML-tags, JSON-velden of markdown-secties waarvan de titels verklaren dat het geen richtlijnen zijn. Interpoleer nooit gebruikerstekst in het systeemstring zonder ontsnapping en zonder structurele scheiding zoals aanbevolen in de OWASP-kaart. Voor RAG, bewaar citaten gescheiden van imperatieve zinnen wanneer mogelijk. Opvraagpijpleidingen moeten scripttags en homoglyf-aanvallen verwijderen voordat ze worden ingesloten. Als uw stack chunks moet inlijnen, voeg een vaste waarschuwing toe dat chunktekst alleen voor referentie is.
3. Minimizeer modelagentia bij gevoelige acties
Elke toolmachtiging is een injectie-uitbetaling. Maak een lijst van tools die geheimen lezen, e-mail verzenden, geld overmaken of productieconfiguraties wijzigen. Vereis menselijke bevestiging, verhoogde authenticatie of deterministische codepaden voor die acties. Agents die zowel willekeurige URLs kunnen browsen als interne samenvattingen kunnen plaatsen, hebben strakkere grenzen nodig dan FAQ-bots.
Pas het principe van minimale rechten toe op OAuth-reikwijdten die tools ondersteunen. Draai tokens om en controleer welke agentpersonas welke eindpunten kunnen aanroepen. Een injectie die alleen een alleen-lezen FAQ-index bereikt, doet minder schade dan een injectie die is gekoppeld aan een implementatie-API.
4. Valideer en normaliseer invoer vroeg
Stel maximale lengtes per veld in, wijt onverwachte binaire payloads af en normaliseer Unicode naar een canonieke vorm voordat deze getokeniseerd wordt. Blokkeer of verwijder bekende besturingskarakters die sommige modellen op een vreemde manier behandelen. Validatie hoort in applicatiecode thuis, niet in hoopvolle promptproza dat de model vertelt om "veilig" te zijn.
Voor uploads, voer antivirus- en typesniffing uit; vertrouw geen extensies. Converteer documenten naar tekst in een zandbak met time-outs. Log conversiefouten in plaats van stilzwijgend lege tekenreeksen te laten vallen die later mogelijk door aanvallerinhoud vervangen worden bij een herpoging.
5. Voer deterministische injectie regressie uit
Bewaar een corpus van kwaadaardige en goedaardige voorbeelden. Voer PromptShield of equivalente regelmotoren uit in CI wanneer prompts, tools of opvraagconfiguraties worden gewijzigd. De regelset prompt-injectie@2026-07-19.2 dekt zinsfamilies, jailbreak-personas, delimiteraanvallen en veelvoorkomende exfiltratiewoordingspatronen - breid deze uit met interne incidenten.
Behandel regressie als eenheids-tests: het falen van een bekend aanvalvoorbeeld is een merge-blocker. Het slagen van alle voorbeelden is noodzakelijk maar niet voldoende; nieuwe parafrases vereisen nog steeds architectuur en monitoring. Publiceer wijzigingen in het corpus in pull-verzoeken zodat reviewers de bedoeling kunnen zien.
6. Versterk jailbreak en sociale paden
Jailbreaks gebruiken empathie en autoriteit: valse noodsituaties, smeekbedes om een kind te helpen, claims van OpenAI-stafstatus of rollenspelscenario's waarin de model wordt gevraagd om ethische beleidsregels te negeren. Train support- en PM-teams om geen override-taal in macros in te bedden. Gebruikerseducatie vermindert onopzettelijke self-jailbreaks, zelfs als er geen kwaadwilligheid aanwezig is.
Wijs weigerings- en escalatiekopie toe aan wat uw backend daadwerkelijk afdwingt. Als het model zich verontschuldigt, maar tools nog steeds worden uitgevoerd, leren gebruikers dat tekstuele beveiligingsmaatregelen theatraal zijn. Match narratieve grenzen met technische grenzen.
7. Controleer indirecte injectie bij opname
Aanvallers vergiftigen gedeelde wikis, reactiesecties of SEO-pagina's die u crawlt. Onderteken documenten die u vertrouwt; verifieer handtekeningen voordat u ze indexeert. Wis of sluit gebruikers gegenereerde pagina's uit van high-trust corpora. Bewaak plotselinge lexicaal verschuivingen in geïndexeerde inhoud die campagne activiteit kunnen aanduiden.
Bij antwoordtijd, toon gebruikers welke chunks een antwoord hebben beïnvloed zodat ze onzin citaten kunnen herkennen. Wanneer chunks imperatieve zinnen bevatten, overweeg heuristische onderwaardering tenzij ondersteund door vertrouwde bronnen.
8. Afhandeling van uitvoer en weerstand tegen exfiltratie
Zelfs perfecte invoerfilters falen soms. Pas uitvoerbeleid toe: blokkeer API-sleutelregex, interne hostnamen en bulk PII-patronen voordat antwoorden bij clients aankomen. Voor agents, scrub tool-uitvoer voordat deze opnieuw worden ingevoerd in de modelcontextlus. Limiteer de hoeveelheid tekst die een enkele sessie naar externe webhooks kan exporteren.
Schakel het weergeven van raw HTML in gebruikerszichtbare chat uit wanneer dit niet nodig is. Markdown-links kunnen thuis bellen; gebruik domeinen die op een allow-lijst staan of verwijder links in bedrijfsmodus.
9. Logging, privacy en retentie
Log injectiepogingen met gehashte payloads, regel-id's en kanaalmetadata - niet noodzakelijkerwijs volledige geheimen die gebruikers per ongeluk hebben geplakt. Definieer retentie in overeenstemming met het legitieme belang of toestemming van de GDPR, documenteer in privacykennisgevingen en ondersteun verzoek tot verwijdering. Beveiligingsmonitoring moet minimale gegevensrespecteren.
Geef engineers in dienst runbooks die scannerhits, WAF-blokken en modelweigeringen onderscheiden. Valse positieve stormen moeten zonder het volledig uitschakelen van logging kunnen worden aangepast.
10. Playbooks voor incidentrespons
Wanneer injectie slaagt, freeze de betrokkene agentversies, draai credentials die mogelijk zijn gelekt en capture prompts voor postmortem. Notify klanten als hun gegevens of tenants zijn beïnvloed volgens de richtlijnen van uw juridisch adviseur. Update de corpus met de succesvolle payloadvariant en voeg cheat-sheetmappings toe.
Oefen tabletopoefeningen tweemaal per jaar. Neem juridisch, PR en klantensucces op - niet alleen engineers. LLM-incidenten escaleren snel wanneer agents autonoom kunnen handelen.
11. Multi-tenant en supply-chain hoeken
SaaS-producten moeten tenant-retrieval-indexen en geheugenopslag isoleren. Gedeelde fine-tunes of gedeelde systeemprompt-caches kunnen instructies kruisbesmetten. Derde-partij-plugins introduceren supply-chain-risico's; controleer uitgevers en pin versies.
Bij het integreren van externe agents via MCP of soortgelijke protocollen, behandelt u externe toolbeschrijvingen als onbetrouwbare invoer - het zijn prompts onder een andere naam.
12. Testmatrix (staging)
Voor elke releasekandidaat moet deze matrix handmatig worden doorlopen, zelfs als automatisering slaagt:
- Directe overschrijving van strings in de gebruikerschat. - Indirecte instructies verborgen in de voetregels van geüploade PDF-bestanden. - Smokkel van toolargumenten via geneste JSON-velden. - Multi-turn geheugenduur van vijandige zinnen. - Gecodeerde payloads (base64, hex, gemengde scripts). - Jailbreak-personas en nepbeleidsupdates.
Maak schermafbeeldingen voor auditors. Noteer welke controles de impact blokkeerden versus welke slechts een beleefde weigering produceerden terwijl tools nog steeds werden uitgevoerd - weigering zonder handhaving is een bevinding.
13. Bestuur en eigendom
Wijs een cross-functionele eigenaar toe voor het bijhouden van. Beveiliging definieert drempels; platform implementeert poorten; product aanvaardt resterend risico dat wordt gedocumenteerd in de release-notities. Uitvoerende directieleden ontvangen kwartaalmetrics: corpusgrootte, open items voor verharding, incidenten, gemiddelde tijd om patroon te repareren.
Vermijd "beveiliging door demo." Marketing-schermopnames moeten dezelfde toolbeperkingen weerspiegelen die in productie worden gebruikt. Verborgen beheermodi voor verkoop zijn niet geldig als ze worden ontdekt en schaden het klantvertrouwen.
14. Het gebruik van PromptShield-uitvoer in beoordelingen
Exporteer scansresultaten als discussie-artefacten die zijn gekoppeld aan lanceringstickets. Elke gemarkeerde rij moet een link bevatten naar een controlelijstitem hierboven en een benoemde ingenieur. Sluit items af met bewijs: pull-verzoek, config-diff of monitorscreenshot - niet met mondelinge verzekering.
Wanneer PromptShield stil blijft over een zorgwekkend monster, moet dit worden behandeld als een regelsetkloof die moet worden geëvalueerd - niet als bewijs van veiligheid. Stel nieuwe deterministische regels voor met versietags die volgen het naamgevingsconventie van prompt-injectie@2026-07-19.2.
15. Langetermijnonderhoud
Schrijf je in voor OWASP GenAI-updates en betrouwbare onderzoeksfeeds. Voer elk kwartaal opnieuw webonderzoek uit; verouderde mitigatiedata zijn bugs. Wanneer je modellen upgradet, voer je de volledige matrix opnieuw uit—tokenizer en safety fine-tuning verandert het gedrag.
Budgetteer engineerstijd voor cataloghygiëne. Aanvallers itereren; je checklist moet sneller itereren dan marketingcycli, maar eerlijk gezegd, zonder perfectie te beloven.
Volg regeldrift op dezelfde manier als je afhankelijkheidscves bijhoudt: elke nieuwe modelrelease of toolconnector verdient een korte regressietest tegen de laatste drie weken van reële tickets, niet alleen synthetische corpora. Geef de voorkeur aan kleine, versiebeheerde regelpakketten boven één monolithische filter die niemand durft aan te raken. Wanneer een regel te vaak in productie afgaat, demoteer deze naar warn-only met een ticket—verwijder geen stilzwijgende dekking tijdens een on-call weekend. Door andere tools te gebruiken, kun je ervoor zorgen dat je -bestanden up-to-date en veilig zijn.
16. Toegankelijkheid en UX-veiligheidsmaatregelen
Schermlezer-vriendelijke chatinterfaces geven nog steeds verborgen instructies weer in ARIA-labels en placeholder-tekst die door aanvallers gemanipuleerd kunnen worden. Bekijk deze velden in uw bedreigingsmodel. Autocomplete-suggesties mogen geen systeemdirectives stilzwijgend voorafgaan die afkomstig zijn van onbetrouwbare geschiedenis.
Mobiele clients die concepten offline in de cache opslaan, kunnen verouderde vijandige tekenreeksen afspelen wanneer de verbinding terugkeert; wis riskante concepten na beleidswijzigingen.
Snel naslag tabel
- scope: directe + indirecte injectie tegen apps en agents. - Primaire bronnen: OWASP pagina + Prompt Injectie Preventie Cheat Sheet. - PromptShield rol: deterministisch patroon + jailbreak regressie op samples. - Ruleset tag: prompt-injectie@2026-07-19.2. - Resultaat: geprioriteerde verhardingstaken—geen pentest slaag/falen beoordeling.
Referenties
- OWASP :2025 — Injectie van prompts - OWASP LLM Prompt Injectie Preventie Cheat Sheet
Open PromptShield
Bijgewerkt 2026-09-26 · checklist voor besluitvorming · geen garantie voor volledige dekking
Wat is 1. Inventarisatie van elk instructiekanaal?
Voordat u verhardt, kaart u waar tekenreeksen instructies worden. Typische kanalen omvatten systeemprompts die server-side worden geladen, ontwikkelaarsberichten in chat-API's, opgehaalde documentfragmenten, toolreturnpayloads, webhookbodies, e-maildoorsturen en metagegevensvelden die gebruikers nooit zien maar die modellen nog steeds lezen. Het missen van een kanaal garandeert een blind spot die aanvallers zullen onderzoeken.
Wat is 2. Scheiding van beleid en niet-vertrouwde gegevens?
Systeembeleid moet in serverbeheerde sjablonen staan die gebruikers niet kunnen bewerken. Niet-vertrouwde inhoud moet binnen duidelijk gelabelde enveloppen aankomen: XML-tags, JSON-velden of markdownsecties waarvan de titels verklaren dat ze geen richtlijnen zijn. Interpoleer nooit gebruikerstekst in het systeemtekenreeks zonder ontsnapping en zonder structurele scheiding zoals aanbevolen in het OWASP-kaart.
Wat is 3. Minimaliseer modelagentuur voor gevoelige acties?
Elke toolmachtiging is een injectie-uitbetaling. Maak een lijst van tools die geheimen lezen, e-mail verzenden, geld overmaken of productieconfiguraties wijzigen. Vereis menselijke bevestiging, stap-uptoegangsbeheer of deterministische codepaden voor die acties. Agents die zowel willekeurige URLs kunnen doorbladeren als interne samenvattingen kunnen posten, hebben strakkere grenzen nodig dan FAQ-bots.
Wat is 4. Valideer en normaliseer invoer vroeg?
Stel maximale lengtes per veld in, wijt onverwachte binaire payloads af en normaliseer Unicode naar een canonieke vorm voordat u tokeniseert. Blokkeer of strip bekende besturingskarakters die sommige modellen vreemd behandelen. Validatie hoort in applicatiecode te staan, niet in hoopvolle promptproza dat de model "veilig" zegt te zijn.
Wat is 5. Voer deterministische injectieregressie uit?
Bewaar een corpus van kwaadwillige en goedaardige voorbeelden. Voer PromptShield of gelijkwaardige regelmotoren uit in CI wanneer prompts, tools of ophaalconfiguraties veranderen. Regelset prompt-injectie@2026-07-19.2 dekt zinsfamilies, jailbreakpersonas, delimiteraanvallen en veelvoorkomende exfiltratiewoorden—breid het uit met interne incidenten.
Alleen voor besluitvorming. Geen penetratietestcertificaat of beveiligingsaudit.