Návrh Školení
Modul 1 – Jak selhávají aplikace s využitím AI
Laboratoř: žádná – architektonický přehled a diskuze.
Vytvoření modelu pro porozumění útočným aspektům ze strany tvůrců aplikací.
Témata:
- Architektury využívající LLM, RAG i agenty z pohledu vývojáře.
- Životní cyklus požadavku a odpovědi v AI funkcích.
- Flux promtu: systémové instrukce, pokyny vývojářů, uživatelské vstupy a zprávy nástrojů.
- Místa, kde do modelu pronikají nedůvěryhodná data (a také kam se tam mohou dostat opět).
- Hranice důvěry, které vývojář přímo ovlivňuje oproti těm děděným.
- Proč jsou útoky na AI spíše sémantické než syntaktické.
- Přiřazení položek OWASP LLM Top 10 k konkrétním částem kódu.
Klíčová myšlenka: Každý bod, kde nedůvěryhodný text vstupuje do modelu – nebo jeho výstup dál proudí do vašeho kódu – je hranicí bezpečnosti, kterou musíte zvládnout.
Modul 2 – Injekce promptů pro tvůrce aplikací
Laboratoř: Laboratoř 01 – 01-Prompt-Injection.
„Okamžik SQL injection“ v oblasti AI – avšak plně se mu nelze vyhnout.
Témata:
- Přímá versus nepřímá injekce promptů.
- Skryté instrukce v dokumentech, webových stránkách či výstupech nástrojů.
- Způsoby obcházení omezení modelu a zaměňování jeho roli.
- Proč je důležité oddělovat instrukce od dat.
- Ochranný návrh promptů: použití ohraničovačů, vhodná struktura a minimalizace pravomocí modelu.
- Proč prevence jen částečně pomáhá – důležité je omezování dopadů útoku.
Praktické cvičení:
- Útočte na vlastního chatbota.
- Obcházejte jednoduchý filtr ochrany.
- Předělávejte prompt tak, aby se minimalizoval dopad útoku.
Modul 3 – Zacházení s výstupem modelu jako s nedůvěryhodným vstupem
Laboratoř: Laboratoř 02 – 02-Output-Handling.
Třída chyb, kterou si vývojáři podceňují nejvíce.
Témata:
- Výstup modelu jako nedůvěryhodný vstup pro ostatní části aplikace.
- Nedostatečná ochrana výstupu (LLM02): rizika XSS, SSRF či SQL injection při dalším zpracování.
- Je zakázáno vyhodnocovat, spouštět nebo vykreslovat surový výstup modelu.
- Použití strukturovaných formátů a kontrola dat podle schémat.
- Kódování a použití seznamů povolených hodnot u výstupních dat.
- Správné vykreslování obsahu v webovém rozhraní či UI.
Praktické cvičení:
- Najděte a opravte chybu spojenou s nebezpečným zacházením s výstupem modelu.
- Vynucujte na odpovědích modelu využití určitého formátu JSON a kontrolujte ho podle definovaného schématu.
Modul 4 – Bezpečnost systémů RAG
Laboratoř: Laboratoř 03 – 03-RAG-Security.
Jedna z nejvýznamnějších nových útočných plošek – a je na vás, abyste ji navrhli správně.
Témata:
- Hrozby v souvislosti s databázemi vektorů a vyhledáváním informací.
- Očistka dat před jejich uložením do systému RAG.
- Určování původu dokumentů a posuzování jejich důvěryhodnosti.
- Ustavení hranic vyhledávání a izolace metadat.
- Skryté instrukce v načtených dokumentech (nepřímá injekce).
- Riziko exfiltrace dat prostřednictvím vyhledávacích operací.
Praktické cvičení: – Otrávejte systém RAG škodlivým dokumentem a potom ho zabezpečte pomocí očistky dat i omezení vyhledávání.
Modul 5 – Bezpečnost agentů a jejich nástrojů
Laboratoř: Laboratoř 04 – 04-Agent-Safety.
Místo, kde chyba vede přímo k akci systému.
Témata:
- Příliš rozsáhlé oprávnění agentů (LLM06) a jejich zneužití.
- Aplikace principu nejmenších oprávnění u agentů.
- Seznamy povolených nástrojů a kontrola předaných argumentů.
- Schvalovací mechanismy a nutnost zapojení člověka do rozhodnutí.
- Sandboxing provádění nástrojů a jejich izolace.
- Používání krátkodobých, omezených přístupových klíčů pro agenty.
- Omezování možností autonomních cyklů provádění akcí a řetězení operací.
Praktické cvičení:
- Omezte pravomoci agenta, který měl přístup k příliš velkému množství zdrojů.
- Přidejte seznam povolených operací a schvalovací kontrolu u nebezpečného nástroje.
Modul 6 – Správa tajných informací, identit a nákladů
Laboratoř: Laboratoř 05 – 05-Secrets-and-Cost.
Operační chyby, které mají okamžité negativní dopady.
Témata:
- Správa API klíčů a tajných informací – nikdy je nevkládejte do promptů, kódu či logů!
- Autentizace a autorizace uživatelů v kontextu funkcí AI.
- Předávání identity uživatele dál nástrojům i systému vyhledávání informací.
- Riziko nekontrolovaného využívání tokenů a nárůstu nákladů (denial-of-wallet).
- Nastavování limitů počtu žádostí, spotřeby tokenů i časových omezení.
- Logování bez nebezpečného odhalení tajných informací či citlivých dat.
Praktické cvičení:
- Odstraňte klíče z promtu a kódu – ukládejte je na bezpečné místo.
- Nastavte pro každého uživatele limity počtu žádostí a spotřebu tokenů.
Modul 7 – Ochranné knihovny (Guardrail libraries)
Laboratoř: Laboratoř 06 – 06-Guardrails.
Kdy je lepší koupit si hotové řešení a kdy jej vytvořit sami?
Témata:
- Co ochranné knihovny dokážou (a čeho nedokáží).
- Ochrana vstupů: detekce injekcí, citlivých dat a kontrola témat.
- Bezpečnost výstupu: validace, filtrace a kontrola konzistence s realitou.
- Kdy je lepší použít knihovnu ochrany a kdy spoléhat na vlastní deterministické kontroly?
- Vrstvení různých ochranných mechanismů s ostatními nástroji z předchozích modulů.
- Vliv na výkon systému, vyskytující se falešně pozitivní výsledky a možné selhání ochrany.
Praktické cvičení:
- Přidejte vrstvu ochrany vstupů i výstupů k vaší funkci AI.
- Otestujte, co dokáže odhalit a co přehlédne.
Modul 8 – Red-teaming vlastních aplikací s AI
Laboratoř: Laboratoř 07 – 07-Red-Teaming.
Připravte se na situaci, kdy útočníci již váš systém znají i zneužívají.
Témata:
- Vytváření sad testů zaměřených na bezpečnost AI funkcí.
- Automatizované testy na odhalování injekcí promptů a obcházení omezení modelu.
- Testování stability ochranných vrstvy a dalších pravidel po jejich aktualizaci.
- Automatické kontroly bezpečnosti AI během procesu CI.
- Bezpečnost řetězce dodávek modelů a závislostí – kontrola původu a jejich fixace na konkrétních verzích.
- Kontrolní seznam bezpečnosti pro nasazování jakékoli funkce AI.
Praktické cvičení:
- Napište automatizované testy na red-teaming vaší AI aplikace.
- Zařaďte je do procesu CI jako součást kontrol bezpečnosti.
Modul 9 – Hodnocení bezpečnosti AI: rámec SAIS-100
Laboratoř: žádná – cvičení na skórování (využívá finální ukázkovou aplikaci).
Převést vše, co jste se naučili, do formy opakovatelného hodnocení.
Témata:
- Šesticí řešených otázek namísto jednoduché otázky „Je to bezpečné?“ – tvoří tzv. Hexagon AI Security.
- Šest hodnocených kategorií: Data, Prompt, Agent, Supply Chain, Detection a Governance.
- Sto bodová škála s příslušnými váhami jednotlivých faktorů.
- Určení skupin výsledků a pravidlo pro úpravu hodnocení v případě výrazného poklesu v některé kategorii.
- Rámec SAIS-100 jako šablona určená k opakovanému využití s možností označování produktů či projektů.
- Porovnávání hodnocení před a po provedení zpřísnění bezpečnosti.
Praktické cvičení:
- Odečtěte celkové skóre finální ukázkové aplikace podle škály SAIS-100.
- Určete jedinou změnu, která by nejvýrazněji toto skóre zvýšila.
Klíčová myšlenka: Tři kategorie s největší váhou odpovídají právě těm hranicím důvěry, které může vývojář skutečně ovlivnit – takže skóre přesně vyjadřuje obsah tohoto kurzu.
Finální projekt
Studenti komplexně zabezpečují aplikaci AI, která byla vytvořena s cílem ukázat nejčastější chyby.
Tato výchozí aplikace obsahuje:
- Prompt náchylný k injekci.
- Nedostatečnou ochranu výstupu modelu.
- Systém RAG bez vhodných omezení.
- Agent s příliš rozsáhlými oprávněními.
- Tajné informace umístěné do promtu či kódu.
- Žádné limity na počet žádostí ani spotřebu tokenů.
Studenti uplatní v kurzu naučené postupy:
- Předělají strukturu promptů, aby se omezil dopad útoků.
- Validují a kódováním chrání výstup modelu.
- Očistku dat zajišťují i stanovují vhodné hranice vyhledávání v systému RAG.
- Aplikují na agenty princip nejmenších oprávnění a kontrolu pomocí schvalovacích mechanismů.
- Přesouvají tajné informace mimo prompty či kód a stanoví limity počtu žádostí i spotřebu tokenů.
- Vytvářejí vrstvy ochrany a automatizují testy pro red-teaming.
Výstupem bude zabezpečená aplikace plus krátké samohodnocení podle seznamu OWASP LLM Top 10.
Přehled laboratoří – Moduly
Laboratoře následují v pořadí, odpovídajícím jednotlivým modulům. Celkem je devět modulů a sedm laboratoří: Modul 1 se skládá z architektonického přehledu a diskuse a Modul 9 obsahuje cvičení na hodnocení bezpečnosti, proto žádný z nich nemá samostatnou složku pro laboratoř.
- Laboratoř 01 – 01-Prompt-Injection: Útočte na svého chatbota a navrhněte opatření k omezení škod (Modul 2).
- Laboratoř 02 – 02-Output-Handling: Opravte chybu spojenou s nebezpečným zpracováním výstupu modelu (Modul 3).
- Laboratoř 03 – 03-RAG-Security: Otrávejte systém RAG škodlivými daty a potom ho zabezpečte (Modul 4).
- Laboratoř 04 – 04-Agent-Safety: Omezujte pravomoci agenta, který měl příliš rozsáhlé oprávnění (Modul 5).
- Laboratoř 05 – 05-Secrets-and-Cost: Zajistěte bezpečné uložení klíčů a nastavte limity nákladů (Modul 6).
- Laboratoř 06 – 06-Guardrails: Přidejte vrstvu ochrany vstupů i výstupů do vaší funkce AI (Modul 7).
- Laboratoř 07 – 07-Red-Teaming: Vytvořte automatizované testy pro kontrolu bezpečnosti v CI (Modul 8).
Modul 1 neobsahuje žádnou laboratoř – probíhá pouze jako přehled architektury a diskuze. Modul 9 rovněž nemá samostatnou složku pro laboratoř, jelikož slouží k cvičení na hodnocení bezpečnosti koncové ukázkové aplikace.
Požadavky
- Středně pokročilá úroveň znalostí.
- Studenti by měli umět vytvářet a používat REST API, pracovat s nějakým skriptovacím jazykem (v laboratořích se používá Python), rozumět základům autentizace v aplikacích, znát Git a práci v příkazovém řádku.
- Není vyžadována žádná znalost strojového učení – jedná se o kurz bezpečnosti aplikací určený pro vývojáře, kteří vytvářejí produkty s využitím velkých jazykových modelů, nikoliv ty, kteří modely sami trénují.
Cílová skupina
- Softwaroví či backend vývojáři vytvářející funkce na bázi LLM.
- Full-stack a API vývojáři.
- Inženýři v oblasti AI/ML pracující s aplikacemi.
- Platformní inženýři, kteří nasazují asistenty a agenty.
- Vedoucí technických týmů a zkušení vývojáři odpovědní za funkce využívající AI.
Reference (2)
Měl jsem opravdu velký zájem o poznávání útoků na AI a nástroje dostupné pro zahájení praxe a aktivní používání při bezpečnostním testování. Získal jsem mnoho znalostí, které jsem na začátku neměl, a kurz splnil mé očekávání. Mou nejoblíbenější částí z tréninku byl Comet Browser a byl jsem ohromen tím, co umí. Určitě se tomu chci věnovat více. Celkově byl skvělý kurz a užil jsem si vše, co jsem se naučil o OWASP GenAI Top 10.
Patrick Collins - Optum
Kurz - OWASP GenAI Security
Přeloženo strojem
Profesionální znalosti a způsob, jakým nám je prezentoval
Miroslav Nachev - PUBLIC COURSE
Kurz - Cybersecurity in AI Systems
Přeloženo strojem