Model Context Protocol mění způsob práce s AI nástroji - ale přináší i bezpečnostní výzvy, které byste měli znát.
V posledním roce se Model Context Protocol (MCP) stal jedním z nejdiskutovanějších témat v komunitě vývojářů pracujících s AI. Tento standardizovaný protokol od Anthropic slibuje revoluci v propojování LLM (Large Language Models, velké jazykové modely) s externími nástroji a daty. Ale jako u každé nové technologie platí - s velkými možnostmi přicházejí i velká rizika.
V tomto článku se podíváme na to, jak MCP funguje, proč je tak užitečný pro moderní softwarový vývoj, a především - jaké bezpečnostní hrozby přináší a jak se jim bránit.
Co je Model Context Protocol a proč na něm záleží
MCP je pouze specifikace - standard definující, jak by měly LLM komunikovat s externími nástroji a daty. Anthropic k ní poskytuje referenční implementace (servery, klienty, SDK), ale jádrem je právě tento otevřený protokol.
Před MCP vyžadovalo napojení každého nástroje na AI (např. v IDE) specifickou integraci. S MCP máme jeden univerzální protokol pro všechny nástroje.
MCP standardizuje tři hlavní entity:
Host - aplikace jako Claude Desktop, Cursor nebo VS Code, kde běží AI MCP Client - kus kódu uvnitř Hostu, který umí volat MCP servery MCP Server - lokální nebo vzdálený server poskytující:
Tools (nástroje, které AI může volat)
Resources (přístup k souborům, API, databázím)
Prompts (šablony promptů)
Tasks (komplexnější operace)
Funguje to jednoduše: Host přes svého MCP Clienta se připojí k MCP serveru, server vystaví seznam dostupných nástrojů, a LLM je volá přes standardizované JSON-RPC rozhraní.
Role MCP v AI-enhanced Software Delivery Lifecycle
Pro týmy pracující na moderním softwarovém vývoji představuje MCP zásadní posun v tom, jak AI asistenti interagují s vývojářským prostředím. Místo izolovaných AI nástrojů, které "vidí" pouze to, co jim ručně předáte, umožňuje MCP vytvořit komplexní kontext zahrnující:
Přístup k repozitářům a historii commitů
Integraci s projektovým managementem (Jira, Linear)
Komunikační nástroje (Slack, Teams)
Dokumentaci a knowledge base
CI/CD pipelines a deployment nástroje
Tento rozšířený kontext umožňuje AI agentům poskytovat mnohem relevantnější a přesnější odpovědi. Vývojář může například požádat AI o analýzu problému, a agent má přístup nejen k kódu, ale i k souvisejícím ticketům, předchozím diskusím a deployment historii.
Zároveň mohou AI agenti skrze MCP provádět create, update a delete operace v napojených systémech.
Jak MCP funguje pod kapotou
Když se podíváme hlouběji na architekturu, MCP používá JSON-RPC 2.0 pro komunikaci mezi clientem a serverem. Každý MCP server definuje sadu nástrojů pomocí strukturovaných popisů (tool descriptions), které obsahují:
Název nástroje
Popis funkcionality v přirozeném jazyce
Definici vstupních parametrů
Očekávaný výstup
Klíčový detail: tool descriptions vidí LLM, ale ne vždy uživatel. A právě zde začínají bezpečnostní problémy.
Proč MCP není inherentně bezpečný
MCP v současné podobě prioritizuje funkcionalitu nad bezpečností. Specifikace protokolu obsahuje několik zásadních nedostatků:
Žádné šifrování kontextu - data mezi clientem a serverem nejsou automaticky chráněna
Chybí verifikace integrity nástrojů - nelze ověřit, že nástroj nebyl modifikován
Skryté popisy nástrojů - uživatel nevidí plné tool descriptions, které vidí LLM
"SHOULD" místo "MUST" - specifikace říká, že by měl být člověk v rozhodovacím procesu, ale není to vynuceno
Výsledkem je, že výchozí konfigurace MCP není bezpečná a vyžaduje aktivní kroky k zabezpečení. Navíc odpovědnost za bezpečnost protokolu a jeho používání je sdílená mezi všechny účastníky ekosystému:
MCP Protocol Authors (Anthropic):
Chybí autentizace a autorizace ve specifikaci
Chybí integrity checks
"SHOULD have human in the loop" by mělo být "MUST"
MCP Client Developers:
Priorita ease of use nad bezpečností
Bezpečnostní opatření jsou přidávána později
MCP Server Developers:
Rychlost vývoje často převažuje nad security
Mnoho serverů je generováno automaticky z OpenAPI specifikací
API Providers:
Potřeba granulárních API přístupů a autorizace
End Users:
YOLO mode + MCP = recept na katastrofu
Hlavní kategorie útoků
Bezpečnostní hrozby spojené s MCP můžeme rozdělit do tří základních kategorií:
1. Zranitelný MCP nástroj
MCP server s implementačními chybami - nejčastěji problémy s validací vstupů nebo nebezpečná API volání. Vývojář MCP serveru neúmyslně vytvořil zranitelnost.
2. Záměrně škodlivý MCP nástroj
Malicious MCP server, který záměrně obsahuje skryté instrukce nebo backdoory. Cílem je oklamat LLM a uživatele.
3. LLM nerozezná zdroj vstupu
Fundamentální problém architektury LLM - model zpracovává vše jako textové tokeny a nemá koncept důvěryhodného versus nedůvěryhodného zdroje.
Konkrétní hrozby, příklady a mitigace pro vývojáře i uživatele MCP serverů
Hrozba #1: Command Injection
Problém: Podle analýzy společnosti Equixly mělo 43% analyzovaných MCP serverů zranitelnosti typu command injection. Nebezpečná shell volání bez validace vstupu umožňují útočníkovi spustit libovolný kód na hostitelském systému.
Používejte `subprocess.run()` s argumenty jako seznam, ne jako řetězec
Implementujte whitelist povolených znaků
Důkladná input validace a sanitizace
Vyhněte se "YOLO mode" v MCP clientech
Hrozba #2: Tool Poisoning
Problém: Tool descriptions jsou v přirozeném jazyce a vidí je LLM, ale ne uživatel. LLM slepě následuje instrukce v popisech, takže útočník může schovat škodlivé příkazy do popisu nástroje.
Mitigace:
Zobrazujte plné tool descriptions uživateli
Alertujte na změny v descriptions
Používejte syntax highlighting pro podezřelé tagy
Logujte všechny tool calls s plnými parametry
Minimalizujte natural language v descriptions
Hrozba #3: Rug Pull Attack
Problém: MCP servery mohou měnit své tool definitions dynamicky. Client nezobrazuje změny v descriptions. Důvěryhodný nástroj se může po čase změnit ve škodlivý - klasický supply chain attack.
Scénář:
1. Den 1: Nainstalujete legitimní, užitečný MCP server
2. Týden 2: Server běží, získává důvěru
3. Měsíc 1: Autor updatuje server a přidá malicious instrukce
4. Výsledek: Server nyní krade data, ale vypadá stejně
Mitigace:
Pin versions (žádné automatické aktualizace!)
Pravidelný audit tool descriptions
Integrity verification před každým použitím
Hrozba #4: Tool Shadowing
Problém: MCP client může být připojen k více serverům současně. Malicious server může přepsat nebo stínovat nástroje z důvěryhodného serveru. LLM nerozlišuje, který server poskytl který tool.
Příklad: Máte připojený důvěryhodný Gmail MCP Server s 'send_email()'. Malicious Calculator Server také poskytuje 'send_email()' - a může změnit příjemce, upravit obsah zprávy, nebo přidat BCC kopii útočníkovi.
Mitigace:
Namespace/scoping tools: místo `send_email()` použijte `gmail.send_email()`
Tool allowlisting s explicitním mapováním
Server trust levels - kritické operace jen z verified servers
UI indikátory zobrazující zdroj každého toolu
Limitujte počet současně připojených serverů
Hrozba #5: Prompt Injection
Problém: LLM nemůže rozlišit mezi legitimními daty a škodlivými instrukcemi. Jakýkoli untrusted input - GitHub Issues, Pull Request descriptions, commit messages - může obsahovat skryté příkazy.
Real world scénář:
Útočník vytvoří Issue v public repozitáři
Issue vypadá jako legitimní feature request
Developer s Cursor + GitHub MCP Issue otevře
AI agent přečte Issue a poslechne hidden instrukce
README.md je modifikován citlivými daty
Realita: Prompt injection je fundamentální problém, který nelze 100% vyřešit bez změny LLM architektury. Human-in-the-loop zůstává nezbytný.
Částečná mitigace:
Structured prompts s oddělenou sekcí pro context
LLM guardrails a specializované modely pro detekci
Explicitní povolení pro každý tool call
Doporučení pro vývojáře a uživatele MCP serverů
Pro vývojáře
Validujte VŠECHNY vstupní parametry
Nikdy ‘os.system()’ s user input
Používejte `subprocess/exec` s argument lists
Minimalizujte natural language v descriptions
Code review všech tool descriptions
Audit logging všech tool calls
README s popisem rizik
Pro uživatele
Instalujte pouze důvěryhodné servery
Pin versions - žádné automatické aktualizace
Review tool descriptions před schválením
Limitujte počet současně běžících serverů
Monitorujte logy pro neočekávané chování
Nepoužívejte YOLO mode
MCP Governance pro organizace
Pro organizace, které chtějí MCP využívat v enterprise prostředí, je klíčové implementovat komplexní governance framework. Ten by měl zahrnovat:
Approved list a klasifikace
Centrální registr všech MCP serverů, které chcete podporovat
Klasifikace podle citlivosti dat, ke kterým mají přístup
Mapování na business procesy a vlastníky
Access management
Whitelist povolených MCP serverů
Role-based přístup k jednotlivým nástrojům
Pravidelná revize oprávnění
Security controls
Kontejnerizace (Docker) pro izolaci MCP serverů
Network segmentace
Monitoring a alerting na anomálie
Incident response plán pro AI-specifické hrozby
Compliance a audit
Logging všech tool calls
Pravidelné bezpečnostní audity
Dokumentace pro regulatorní požadavky
Vzdělávání
Security awareness training zaměřený na MCP/AI rizika
Guidelines pro bezpečné používání
Eskalační postupy pro podezřelé chování
Naše řešení pro bezpečné MCP
V DX Heroes si uvědomujeme, že současný stav MCP bezpečnosti není udržitelný. Proto připravujeme vlastní produkt zaměřený na bezpečnou správu a governance MCP serverů.
MCP představuje významný krok vpřed v propojování AI s vývojářskými nástroji. Potenciál pro zvýšení produktivity je obrovský - ale pouze pokud dokážeme efektivně řídit související bezpečnostní rizika.
Klíčové poznatky:
MCP není bezpečný by default - vyžaduje aktivní zabezpečení
Security issues jsou reálné, ne jen teoretické
Prompt injection je fundamentální problém bez jednoduchého řešení
Mitigace existují, ale nejsou perfektní
Odpovědnost je sdílená** mezi protokol, clienty, servery i uživatele
Nenechte se odradit - MCP je mocný nástroj, který může výrazně zlepšit váš development workflow. Ale přistupujte k němu s respektem a implementujte odpovídající bezpečnostní opatření.
Chcete vědět více?
Zajímá vás, jak bezpečně implementovat MCP ve vaší organizaci? Rádi vám ukážeme naše řešení a pomůžeme s nastavením bezpečné AI infrastruktury.
Ozvěte se nám pro demo přímo přes kontaktní formulář.
Ztrácíte se v názvosloví ze světa AI? Pak je tenhle článek pro vás. Dali jsme dohromady nejvyhledávanější a nejpoužívanější pojmy, které souvisejí s umělou inteligencí.