Usvajanje Model Context Protocol (MCP) donosi moćne nove mogućnosti AI-pokretanih aplikacija, ali također uvodi jedinstvene sigurnosne izazove koji nadilaze tradicionalne softverske rizike. Osim uobičajenih briga poput sigurnog kodiranja, principa najmanjih privilegija i sigurnosti lanca opskrbe, MCP i AI radni opterećenja suočavaju se s novim prijetnjama poput prompt injectiona, trovanja alata i dinamičke izmjene alata. Ovi rizici mogu dovesti do krađe podataka, povrede privatnosti i nepredviđenog ponašanja sustava ako se ne upravlja pravilno.
Ova lekcija istražuje najvažnije sigurnosne rizike povezane s MCP-om — uključujući autentikaciju, autorizaciju, pretjerane dozvole, indirektni prompt injection i ranjivosti u lancu opskrbe — te pruža konkretne kontrole i najbolje prakse za njihovo ublažavanje. Također ćete naučiti kako iskoristiti Microsoftova rješenja poput Prompt Shields, Azure Content Safety i GitHub Advanced Security za jačanje vaše MCP implementacije. Razumijevanjem i primjenom ovih kontrola možete znatno smanjiti vjerojatnost sigurnosnog incidenta i osigurati da vaši AI sustavi ostanu robusni i pouzdani.
Do kraja ove lekcije moći ćete:
- Prepoznati i objasniti jedinstvene sigurnosne rizike koje donosi Model Context Protocol (MCP), uključujući prompt injection, trovanje alata, pretjerane dozvole i ranjivosti u lancu opskrbe.
- Opisati i primijeniti učinkovite mjere za ublažavanje MCP sigurnosnih rizika, kao što su snažna autentikacija, princip najmanjih privilegija, sigurno upravljanje tokenima i provjera lanca opskrbe.
- Razumjeti i koristiti Microsoftova rješenja poput Prompt Shields, Azure Content Safety i GitHub Advanced Security za zaštitu MCP i AI radnih opterećenja.
- Prepoznati važnost validacije metapodataka alata, praćenja dinamičkih promjena i obrane od indirektnih prompt injection napada.
- Integrirati uspostavljene sigurnosne najbolje prakse — poput sigurnog kodiranja, učvršćivanja servera i arhitekture nulte povjerenja — u vašu MCP implementaciju kako biste smanjili vjerojatnost i utjecaj sigurnosnih incidenata.
Svaki sustav koji ima pristup važnim resursima ima i implicitne sigurnosne izazove. Sigurnosni izazovi se općenito mogu riješiti pravilnom primjenom temeljnih sigurnosnih kontrola i koncepata. Kako je MCP tek nedavno definiran, specifikacija se brzo mijenja i razvija. S vremenom će sigurnosne kontrole unutar njega sazrijeti, omogućujući bolju integraciju s enterprise i etabliranim sigurnosnim arhitekturama i najboljim praksama.
Istraživanje objavljeno u Microsoft Digital Defense Report navodi da bi 98% prijavljenih sigurnosnih incidenata bilo spriječeno pravilnom sigurnosnom higijenom, a najbolja zaštita od bilo kakvog proboja je da uspostavite osnovnu sigurnosnu higijenu, najbolje prakse sigurnog kodiranja i sigurnost lanca opskrbe — te provjerene prakse koje već poznajemo i koje i dalje imaju najveći utjecaj na smanjenje sigurnosnog rizika.
Pogledajmo neke od načina na koje možete početi adresirati sigurnosne rizike prilikom usvajanja MCP-a.
Note: Sljedeće informacije točne su na dan 29. svibnja 2025. MCP protokol se stalno razvija, a buduće implementacije mogu uvesti nove obrasce autentikacije i kontrole. Za najnovije informacije i smjernice uvijek se obratite MCP Specification te službenom MCP GitHub repozitoriju i stranici s najboljim sigurnosnim praksama.
Izvorna MCP specifikacija pretpostavljala je da će developeri sami pisati svoj autentikacijski server. To je zahtijevalo poznavanje OAuth-a i povezanih sigurnosnih ograničenja. MCP serveri su djelovali kao OAuth 2.0 Authorization Serveri, upravljajući potrebnom autentikacijom korisnika direktno, umjesto da je delegiraju vanjskoj usluzi poput Microsoft Entra ID. Od 26. travnja 2025., ažuriranje MCP specifikacije dopušta MCP serverima da delegiraju autentikaciju korisnika vanjskoj usluzi.
- Pogrešno konfigurirana autorizacijska logika na MCP serveru može dovesti do izlaganja osjetljivih podataka i nepravilno primijenjenih kontrola pristupa.
- Krađa OAuth tokena na lokalnom MCP serveru. Ako je token ukraden, može se koristiti za lažno predstavljanje MCP servera i pristup resursima i podacima za koje je token izdan.
Token passthrough je izričito zabranjen u autorizacijskoj specifikaciji jer uvodi niz sigurnosnih rizika, uključujući:
MCP Server ili downstream API-ji mogu implementirati važne sigurnosne kontrole poput ograničavanja brzine zahtjeva, validacije zahtjeva ili praćenja prometa, koje ovise o publici tokena ili drugim ograničenjima vjerodajnica. Ako klijenti mogu direktno dobiti i koristiti tokene s downstream API-ja bez da ih MCP server pravilno validira ili osigurava da su tokeni izdani za odgovarajuću uslugu, zaobilaze te kontrole.
MCP Server neće moći identificirati ili razlikovati MCP klijente kada klijenti koriste pristupni token izdan od strane upstream-a koji može biti nečitljiv MCP Serveru. Logovi downstream Resource Servera mogu prikazivati zahtjeve kao da dolaze iz drugog izvora s drugačijim identitetom, umjesto iz MCP servera koji zapravo prosljeđuje tokene. Oba faktora otežavaju istragu incidenata, kontrole i reviziju. Ako MCP Server prosljeđuje tokene bez provjere njihovih tvrdnji (npr. uloga, privilegija ili publike) ili drugih metapodataka, zlonamjerni korisnik u posjedu ukradenog tokena može koristiti server kao proxy za iznošenje podataka.
Downstream Resource Server daje povjerenje određenim entitetima. Ovo povjerenje može uključivati pretpostavke o podrijetlu ili obrascima ponašanja klijenata. Kršenje ove granice povjerenja može dovesti do neočekivanih problema. Ako se token prihvaća od strane više usluga bez odgovarajuće validacije, napadač koji kompromitira jednu uslugu može koristiti token za pristup drugim povezanim uslugama.
Čak i ako MCP Server danas započne kao "čisti proxy", možda će kasnije trebati dodati sigurnosne kontrole. Početak s pravilnim razdvajanjem publike tokena olakšava razvoj sigurnosnog modela.
MCP serveri NE SMEJU prihvaćati tokene koji nisu izričito izdani za MCP server
- Pregledajte i učvrstite autorizacijsku logiku: Pažljivo revidirajte implementaciju autorizacije na vašem MCP serveru kako biste osigurali da samo namijenjeni korisnici i klijenti imaju pristup osjetljivim resursima. Za praktične smjernice, pogledajte Azure API Management Your Auth Gateway For MCP Servers | Microsoft Community Hub i Using Microsoft Entra ID To Authenticate With MCP Servers Via Sessions - Den Delimarsky.
- Primijenite sigurne prakse za tokene: Slijedite Microsoftove najbolje prakse za validaciju tokena i njihov životni vijek kako biste spriječili zloupotrebu pristupnih tokena i smanjili rizik od ponovne upotrebe ili krađe tokena.
- Zaštitite pohranu tokena: Uvijek pohranjujte tokene sigurno i koristite enkripciju za njihovu zaštitu u mirovanju i prijenosu. Za savjete o implementaciji, pogledajte Use secure token storage and encrypt tokens.
MCP serverima su možda dodijeljene pretjerane dozvole za uslugu ili resurs kojem pristupaju. Na primjer, MCP server koji je dio AI aplikacije za prodaju i povezan je s enterprise spremištem podataka trebao bi imati pristup ograničen na prodajne podatke, a ne na sve datoteke u spremištu. Vraćajući se na princip najmanjih privilegija (jedan od najstarijih sigurnosnih principa), nijedan resurs ne bi trebao imati dozvole veće od onih potrebnih za izvršavanje zadanih zadataka. AI dodatno komplicira ovu situaciju jer je za njegovu fleksibilnost teško precizno definirati potrebne dozvole.
- Dodjela pretjeranih dozvola može omogućiti iznošenje ili izmjenu podataka kojima MCP server nije trebao pristupiti. To također može predstavljati problem privatnosti ako se radi o osobnim podacima (PII).
- Primijenite princip najmanjih privilegija: Dodijelite MCP serveru samo minimalne dozvole potrebne za izvršenje njegovih zadataka. Redovito pregledavajte i ažurirajte te dozvole kako ne bi prelazile potrebnu razinu. Za detaljne smjernice, pogledajte Secure least-privileged access.
- Koristite Role-Based Access Control (RBAC): Dodjeljujte uloge MCP serveru koje su strogo ograničene na određene resurse i radnje, izbjegavajući široke ili nepotrebne dozvole.
- Nadzor i revizija dozvola: Kontinuirano pratite korištenje dozvola i pregledavajte zapise pristupa kako biste brzo otkrili i uklonili pretjerane ili neiskorištene privilegije.
Zlonamjerni ili kompromitirani MCP serveri mogu uzrokovati značajne rizike izlaganjem podataka korisnika ili omogućavanjem neželjenih radnji. Ovi rizici su posebno relevantni u AI i MCP radnim opterećenjima, gdje:
- Prompt Injection napadi: Napadači ugrađuju zlonamjerne upute u promptove ili vanjski sadržaj, zbog čega AI sustav izvodi neželjene radnje ili otkriva osjetljive podatke. Više informacija: Prompt Injection
- Trovanje alata: Napadači manipuliraju metapodacima alata (poput opisa ili parametara) kako bi utjecali na ponašanje AI-ja, potencijalno zaobilazeći sigurnosne kontrole ili izvlačeći podatke. Detalji: Tool Poisoning
- Cross-Domain Prompt Injection: Zlonamjerne upute su ugrađene u dokumente, web stranice ili e-poštu koje AI potom obrađuje, što može dovesti do curenja podataka ili manipulacije.
- Dinamička izmjena alata (Rug Pulls): Definicije alata mogu se mijenjati nakon korisničkog odobrenja, uvodeći nove zlonamjerne radnje bez znanja korisnika.
Ove ranjivosti naglašavaju potrebu za snažnom validacijom, praćenjem i sigurnosnim kontrolama pri integraciji MCP servera i alata u vaše okruženje. Za detaljnije informacije, pogledajte gore navedene poveznice.
Indirektni Prompt Injection (poznat i kao cross-domain prompt injection ili XPIA) je kritična ranjivost u generativnim AI sustavima, uključujući one koji koriste Model Context Protocol (MCP). U ovom napadu, zlonamjerne upute skrivene su u vanjskom sadržaju — poput dokumenata, web stranica ili e-pošte. Kada AI sustav obrađuje taj sadržaj, može interpretirati ugrađene upute kao legitimne korisničke naredbe, što rezultira neželjenim radnjama poput curenja podataka, generiranja štetnog sadržaja ili manipulacije korisničkim interakcijama. Za detaljno objašnjenje i stvarne primjere, pogledajte Prompt Injection.
Posebno opasna varijanta ovog napada je Trovanje alata. Ovdje napadači ubacuju zlonamjerne upute u metapodatke MCP alata (poput opisa ili parametara). Budući da veliki jezični modeli (LLM) koriste ove metapodatke za odlučivanje koje alate pozvati, kompromitirani opisi mogu prevariti model da izvrši neovlaštene pozive alata ili zaobiđe sigurnosne kontrole. Ove manipulacije su često nevidljive krajnjim korisnicima, ali ih AI sustav može interpretirati i izvršiti. Rizik je povećan u hostiranim MCP server okruženjima, gdje se definicije alata mogu ažurirati nakon korisničkog odobrenja — scenarij poznat kao "rug pull". U takvim slučajevima, alat koji je prije bio siguran može kasnije biti izmijenjen da izvodi zlonamjerne radnje, poput izvlačenja podataka ili promjene ponašanja sustava, bez znanja korisnika. Za više informacija o ovom napadu pogledajte Tool Poisoning.
Neželjene AI radnje predstavljaju razne sigurnosne rizike, uključujući iznošenje podataka i povrede privatnosti.
AI Prompt Shields su rješenje koje je razvio Microsoft za obranu od izravnih i neizravnih prompt injection napada. Pomažu kroz:
-
Detekciju i filtriranje: Prompt Shields koriste napredne algoritme strojnog učenja i obradu prirodnog jezika za otkrivanje i filtriranje zlonamjernih uputa ugrađenih u vanjski sadržaj poput dokumenata, web stranica ili e-pošte.
-
Spotlighting: Ova tehnika pomaže AI sustavu da razlikuje valjane sistemske upute od potencijalno nepouzdanih vanjskih unosa. Transformiranjem ulaznog teksta na način koji ga čini relevantnijim modelu, Spotlighting osigurava da AI bolje prepozna i ignorira zlonamjerne upute.
-
Ograničivači i označavanje podataka: Uključivanje ograničivača u sistemsku poruku jasno označava lokaciju ulaznog teksta, pomažući AI sustavu da prepozna i razdvoji korisničke unose od potencijalno štetnog vanjskog sadržaja. Označavanje podataka proširuje ovaj koncept korištenjem posebnih markera za isticanje granica pouzdanih i nepouzdanih podataka.
-
Kontinuirano praćenje i ažuriranja: Microsoft kontinuirano prati i ažurira Prompt Shields kako bi odgovorio na nove i razvijajuće prijetnje. Ovaj proaktivan pristup osigurava da obrana ostane učinkovita protiv najnovijih tehnika napada.
-
Integracija s Azure Content Safety: Prompt Shields su dio šire Azure AI Content Safety suite, koja pruža dodatne alate za otkrivanje pokušaja jailbreaka, štetnog sadržaja i drugih sigurnosnih rizika u AI aplikacijama.
Više o AI prompt shields pročitajte u Prompt Shields documentation.
Sigurnost lanca opskrbe ostaje temeljna u AI eri, no opseg onoga što se smatra vašim lancem opskrbe se proširio. Osim tradicional
- OWASP Top 10
- OWASP Top 10 for LLMs
- GitHub Advanced Security
- Azure DevOps
- Azure Repos
- Putovanje prema osiguranju lanca opskrbe softverom u Microsoftu
- Siguran pristup s najmanje privilegija (Microsoft)
- Najbolje prakse za provjeru valjanosti tokena i njihovo trajanje
- Koristite sigurno spremište tokena i šifrirajte tokene (YouTube)
- Azure API Management kao autentikacijski gateway za MCP
- Najbolje sigurnosne prakse za MCP
- Korištenje Microsoft Entra ID za autentikaciju s MCP serverima
Sljedeće: Poglavlje 3: Početak rada
Odricanje od odgovornosti:
Ovaj dokument je preveden pomoću AI prevoditeljskog servisa Co-op Translator. Iako težimo točnosti, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati službenim i autoritativnim izvorom. Za važne informacije preporučuje se profesionalni ljudski prijevod. Ne snosimo odgovornost za bilo kakva nesporazume ili pogrešna tumačenja koja proizlaze iz korištenja ovog prijevoda.


