Únik systémového promptu (OWASP LLM07) – proč do instrukcí AI nepatří tajemství a není to kontrola
Každý firemní chatbot dostává skryté instrukce: jak se jmenuje, co smí říkat, jak se chovat, co dělat při určitém dotazu. Tomuto textu se říká systémový prompt. Vývojáři jej často berou jako „tajný recept“ a někdy do něj dokonce vloží přístupové údaje. OWASP ale varuje: systémový prompt nelze považovat za tajemství ani za bezpečnostní kontrolu. Tento článek vysvětluje, proč, jaká rizika z úniku promptu plynou a jak chatbota navrhnout bezpečněji.
Informace vycházejí z popisu LLM07:2025 System Prompt Leakage na webu OWASP, z přehledu OWASP Top 10 for LLM Applications a z blogu NCSC Prompt injection is not SQL injection (stav k 14. 11. 2026). Nejde o technický návod.
Související články: OWASP Top 10 pro LLM aplikace, Jailbreak AI modelů a Prompt injection – útok.
Aktualizováno: listopad 2026.
O co jde
Podle OWASP je únik systémového promptu riziko, že instrukce, které řídí chování modelu, obsahují citlivé informace, které nikdo neměl objevit. Systémové prompty mají vést výstup podle požadavků aplikace, ale mohou neúmyslně obsahovat tajemství; uniklé informace mohou umožnit další útoky.
Klíčová zásada podle OWASP: systémový prompt by neměl být považován za tajemství ani za bezpečnostní kontrolu. Přihlašovací údaje, připojovací řetězce a podobná data v systémových promptech být nemají.
Důležité upřesnění: samotné zveřejnění textu promptu není jádrem rizika. Skutečnými riziky jsou podkladové problémy: únik citlivých informací, obejití ochran a nesprávné oddělení oprávnění. Útočníci navíc mohou mnoho omezení a formátovacích pravidel odvodit komunikací s aplikací a pozorováním odpovědí, i když neznají přesné znění.
Postup bezpečnějšího návrhu systémového promptu – vlastní infografikaČtyři typická rizika
- Odhalení citlivé funkcionality. Prompt může prozradit architekturu, API klíče, přihlašovací údaje k databázi či uživatelské tokeny. Například zmínka o typu databáze může útočníkovi pomoci cílit na SQL injection.
- Odhalení vnitřních pravidel. Prompt může odhalit logiku rozhodování, například limity transakcí či výše půjček, které útočník využije k obejití kontrol.
- Odhalení kritérií filtrování. Pokyny, co model odmítá, ukazují, co aplikace považuje za citlivé.
- Odhalení oprávnění a rolí. Prompt může popisovat role a úrovně oprávnění, což pomáhá plánovat eskalaci.
Příklady útoků
- Scénář 1: systémový prompt obsahuje přihlašovací údaje k nástroji, který LLM používá. Útočník prompt vytáhne a údaje použije jinde.
- Scénář 2: prompt zakazuje urážlivý obsah, externí odkazy a spouštění kódu. Útočník jej získá a pomocí prompt injection omezení obejde a dosáhne vzdáleného spuštění kódu.
Prevence podle OWASP
- Oddělte citlivá data od systémových promptů. Klíče API, autentizační klíče, názvy databází, role a struktury oprávnění do promptu nepatří. Uložte je v systémech, ke kterým model nemá přímý přístup.
- Nespoléhejte na prompt při přísné kontrole chování. Prompt injection může systémový prompt změnit, proto chování prosazujte externími systémy (například škodlivý obsah detekujte a blokujte mimo LLM).
- Implementujte guardraily. Nezávislý systém kontroluje výstupy z hlediska souladu s pravidly. Naučit model, aby prompt neprozrazoval, není záruka.
- Prosazujte bezpečnostní kontroly nezávisle na LLM. Oddělení oprávnění, kontroly autorizace a podobné mechanismy nesmějí být svěřeny modelu (ani pomocí promptů); mají být deterministické a auditovatelné. Pokud různé úlohy agenta vyžadují různé úrovně přístupu, použijte více agentů, každého s nejnižšími potřebnými oprávněními.
Proč na tom záleží
- Prompty se vyvíjejí. Do promptů se postupně „zalepí“ opravy a výjimky, včetně hesel a poznámek; nikdo si neověří, co tam zůstalo.
- Prompt lze získat. Útočník může model vybízet k prozrazení instrukcí; spolehlivá obrana neexistuje.
- Chování lze odvodit. I bez textu promptu lze zkoumáním odpovědí pochopit, co chatbot odmítá a proč.
- Kopie promptu uniknou i jinak: přes logy, sdílené chaty, zaměstnance či dodavatele.
NCSC k tomu dodává obecnou zásadu pro systémy s LLM: předpokládat, že model lze zmást, a spoléhat na deterministické pojistky mimo model; viz NCSC: prompt injection není SQL injection.
Co z toho plyne pro tvůrce chatbotů
- Projděte prompty a odstraňte všechna tajemství. Změňte klíče, které se v nich někdy objevily.
- Používejte správu tajemství (úložiště klíčů) a řiďte přístup nástrojů přes oprávnění, ne přes „žádost v promptu“.
- Nepište do promptu citlivá obchodní pravidla, pokud jejich únik může způsobit škodu; ukládejte je do systémů s kontrolou přístupu.
- Zaveďte nezávislé kontroly výstupu (guardraily).
- Testujte únik: zkuste jako útočník prompt vytáhnout a vyhodnoťte, co by to prozradilo.
- Omezte oprávnění modelu; viz Nadměrná pravomoc AI agentů.
- Logujte a sledujte pokusy o vytažení promptu.
- Počítejte s tím, že prompt jednou unikne: navrhněte systém tak, aby únik nezpůsobil vážnou škodu.
Co z toho plyne pro uživatele
- Neberte „pravidla chatbota“ za záruku. Chatbot, který „tvrdí“, že něco nikdy neudělá, to pořád může udělat; viz Jailbreak AI modelů.
- Nevkládejte citlivé údaje do chatbotů, protože nevíte, kde se uchovají; viz Únik dat do AI chatbotů.
- Pozor na vlastní GPTs, Gemy a podobné asistenty: instrukce v nich může vidět každý, komu je sdílíte; viz Gemini Gems (Čtenář vidí instrukce a soubory). Do instrukcí nevkládejte nic, co nemá být vidět.
Další zdroje
Podrobné popisy příbuzných rizik najdete u OWASP: Excessive Agency, Improper Output Handling a Data and Model Poisoning. Obecné zásady pro agentní systémy shrnuje Anthropic v článku Building effective agents, který doporučuje začínat jednoduše, pečlivě navrhnout rozhraní k nástrojům a testovat v izolovaném prostředí. Pro řízení rizik v organizaci poslouží rámec NIST AI RMF.
Jak poznat, že prompt uniká
Příznaky mohou být: chatbot cituje své instrukce na vyžádání; odpovídá způsobem, který prozrazuje interní pravidla („nesmím vám říct…, protože směrnice 7 zakazuje…“); v logách se objevují opakované pokusy o vytažení instrukcí; někdo na internetu zveřejní kopii promptu vašeho produktu. Doporučuje se pravidelně testovat vlastního chatbota stejnými technikami, jaké používají útočníci, a kontrolovat, co by únik prozradil. Pokud zjistíte, že se v promptu nacházel klíč či heslo, neprodleně je zneplatněte a vyměňte, protože nelze vyloučit, že už byly použity. Incident zdokumentujte, zjistěte rozsah a upravte návrh.
Prompty ve firmě: správa a revize
Prompty jsou součástí aplikace, a proto by měly mít verzování, revize a schvalování jako zdrojový kód. Zavedte pravidlo, že prompty se nesmějí obsahovat tajemství, a pravidelně je kontrolujte (ručně i automaticky) na klíče a hesla. Dokumentujte, co prompt dělá a proč, aby nikdo nepřidal citlivé poznámky. Pokud prompty vytvářejí běžní zaměstnanci (například vlastní asistenti), poučte je, že instrukce nejsou tajné a může je vidět každý, komu asistenta sdílíte. Při auditu zahrňte prompty mezi sledované artefakty; viz Firemní politika používání AI.
Praktický příklad (smyšlený)
Startup nasadí zákaznického chatbota. Systémový prompt obsahuje heslo k databázi objednávek „pro případ, že model potřebuje data“. Uživatel zadá obratně formulovaný dotaz a chatbot prompt odhalí. Po incidentu firma změní návrh: heslo odstraní, databáze se čte přes službu s právy jen pro čtení, pravidla (například limity vrácení peněz) prosazuje backend a nezávislý filtr kontroluje odpovědi. Příklad je smyšlený.
Systémový prompt nelze považovat za tajemství ani bezpečnostní kontrolu. Nevkládejte do něj klíče a hesla, pravidla a oprávnění prosazujte mimo model a počítejte s tím, že text jednou unikne.
Kontrolní seznam – vlastní infografikaÚnik promptu v kostce
Základní údaje – vlastní infografikaVýhody a nevýhody
Souhrn – vlastní infografikaSouvisející články
V kategorii Bezpečnost, etika a rizika AI najdete také AI agenti a bezpečnostní rizika a AI v kybernetických útocích.
Shrnutí
Podle OWASP je systémový prompt nutné chápat jako potenciálně veřejný text: nepatří do něj hesla, klíče ani oprávnění a není bezpečnostní kontrolou. Skutečná rizika jsou únik citlivých informací, obejití ochran a špatné oddělení oprávnění. Řešení: oddělit tajemství, prosazovat pravidla a oprávnění mimo model, použít nezávislé guardraily a počítat s tím, že prompt unikne. Nejde o technický návod.
Často kladené otázky k úniku systémového promptu
Co je systémový prompt?
Skryté instrukce, které řídí chování chatbota nebo aplikace.
Je tajemstvím?
Ne, OWASP jej nepovažuje za tajemství ani bezpečnostní kontrolu.
Co do něj nepatří?
Klíče API, hesla, připojovací řetězce, role a struktury oprávnění.
Co je skutečné riziko?
Únik citlivých informací, obejití ochran a nesprávné oddělení oprávnění.
Jak se bránit?
Oddělit tajemství, prosazovat pravidla mimo model, použít nezávislé guardraily a deterministické kontroly.
Pomůže zakázat modelu prompt prozradit?
Není to záruka; prompt injection může omezení obejít.
Platí to i pro vlastní asistenty (Gems, GPTs)?
Ano, instrukce může vidět každý, komu asistenta sdílíte.
Je to technický návod?
Ne, jde o obecné shrnutí.
