Azure DevOps MCP propust: skriveni PR komentari preuzimaju AI agente
Dana 21. srpnja 2026. tvrtka Manifold Security objavila je ranjivost tipa confused deputy u Microsoftovom službenom Azure DevOps Model Context Protocol (MCP) poslužitelju. Propust napadaču s pisanim pristupom samo jednom Azure DevOps projektu omogućuje da preuzme recenzentova AI kodnog agenta — koristeći nevidljivi tekst u opisu pull requesta — i ukrade podatke iz projekata kojima inače nema pristup.
Microsoft je potvrdio nalaz i provodi istragu, ali do 22. srpnja nije objavljen nikakav popravak niti CVE. Najnovije izdanje (v2.8.0, 24. lipnja) ne adresira ovaj problem.
Kako napad funkcionira
Ranjivost kombinira tri elementa kako bi okrenula AI asistenta protiv vlastitog korisnika:
1. Dostava putem HTML komentara. Opisi pull requesta u Azure DevOpsu podržavaju Markdown, uključujući HTML komentare (<!-- ... -->). Napadač otvori naizgled uobičajen PR, ali zlonamjerne upute sakrije unutar bloka komentara. U web sučelju Azure DevOpsa taj se komentar ne prikazuje uopće — recenzent vidi čist, bezazlen opis. No REST API vraća komentar u izvornom obliku, a alat MCP poslužitelja repo_get_pull_request_by_id prosljeđuje ga izravno u agentov kontekst.
2. Preuzimanje cilja. Kad recenzent zatraži od svog AI kodnog agenta da pregleda PR, skrivene upute mijenjaju agentov zadatak usred izvršavanja. Injektirani tekst agentu, primjerice, može naložiti da pokrene pipeline u drugom projektu, pročita povjerljivu wiki stranicu i njezin sadržaj objavi kao komentar na napadačev PR.
3. Eskalacija vjerodajnica. Agent djeluje s recenzentovim vjerodajnicama, pa napadač posuđuje povlašteni pristup, a da pritom uopće ne dira ciljani projekt. Manifold Security potvrdio je napad i na GitHub Copilot CLI-u i na Claude Codeu, čime je potvrđeno da propust leži u kodu MCP poslužitelja, a ne u pojedinom agentu.
Spotlighting propust
Microsoft je za ovu klasu napada već izgradio obranu. U PR-u #1062 (spojenom 30. ožujka 2026.), tim je uveo takozvani “spotlighting” — kriptografski sigurne graničnike temeljene na jednokratnim vrijednostima (nonce), koji omotavaju nepouzdani vanjski sadržaj kako bi LLM mogao razlikovati podatke od uputa. Implementacija koristi 128-bitne kriptografski slučajne nonce vrijednosti, a primijenjena je na wiki_get_page_content i pipelines_get_build_log_by_id.
Problem je u tome što repo_get_pull_request_by_id nikada nije dobio spotlighting tretman. Riječ je upravo o alatu koji vraća opise PR-ova — jedinoj površini koju napadač izravno kontrolira. Alat i dalje vraća neobrađen, nepročišćen tekst u LLM kontekst, čime cijela zaštita postaje zaobilazna na najkritičnijoj ulaznoj točki.
Zašto je ovo važno: smrtonosni trio
Okvir “lethal trifecta” sigurnosnog istraživača Simona Willisona objašnjava zašto je ovaj napad tako teško obraniti samo detekcijom:
- Pristup privatnim podacima — agent posjeduje žrtvine vjerodajnice
- Izloženost nepouzdanom sadržaju — agent čita napadačeve PR opise
- Način slanja podataka van — agent može objavljivati PR komentare koje napadač čita
Svaki AI agent koji ima sve tri sposobnosti može jednim jedinim tekstom biti okrenut protiv vlastitog vlasnika. Većina istinski korisnih kodnih agenata posjeduje sve tri.
Širi utjecaj
Napadna površina nadilazi ručne recenzije. Kako timovi usvajaju automatizirane tijekove rada za pregled PR-ova — trijažne botove, generatore sažetaka, automatiziranu analizu — postavljeni opis aktivira se sam od sebe. Što je tijek rada automatiziraniji, veći je opseg moguće štete, a krađa podataka duže ostaje neopažena.
Jedinica Unit 42 tvrtke Palo Alto Networks u izvješću iz ožujka 2026. HTML komentare je uvrstila među utvrđene tehnike dostave neizravne injekcije uputa (Indirect Prompt Injection, IDPI), pri čemu je identificirano 22 različite metode injekcije uočene u praksi. Ovaj napad slijedi dobro dokumentiran obrazac.
Ranjivost također ima povijesni presedan. Invariant Labs je demonstrirao identičan problem protiv GitHub MCP poslužitelja u svibnju 2025. — obrazac koji se sada ponavlja s Azure DevOpsom.
Microsoftov odgovor
Glasnogovornik Microsofta:
- zahvalio je tvrtki Manifold Security na koordiniranom obavještavanju o ranjivosti
- opisao je problem kao “poznatu klasu AI rizika” koja usmjerava daljnji rad na zaštitnim mjerama
- nije se obvezao na konkretne izmjene koda niti na dodjelu CVE oznake
- preporučio je ograničavanje pristupa projektima i “pregled predloženih promjena prije nego što od AI alata zatražite da po njima postupi” — iako zlonamjerni sadržaj u sučelju ostaje nevidljiv
Praktične mjere ublažavanja
Dok ne bude objavljen popravak, organizacije koje koriste Azure DevOps MCP mogu smanjiti izloženost:
-
Tokeni s najmanjim potrebnim ovlastima — ograničite agentov token na projekt koji se recenzira, a ne na cijelu organizaciju. Token ograničen na jedan projekt ne može poslužiti za pristup podacima iz drugih projekata.
-
Suženi opseg MCP alata — učitajte samo alate potrebne za zadatak. Iz skupa alata za pregled koda isključite
pipelines_run_pipelineiwiki_get_wiki_page_content, koristeći zastavicu-du lokalnom MCP poslužitelju. -
Potvrda za svaki alat posebno — zahtijevajte ljudsku potvrdu prije pokretanja pipelinea u drugom projektu ili čitanja wikija, čime dodajete odobravajuću provjeru koju automatizirane injekcije ne mogu zaobići.
-
Pregledajte otvorene PR-ove — provjerite postoje li u opisima postojećih PR-ova skriveni HTML komentari koji možda već sadrže zlonamjeran sadržaj.
-
Revidirajte zapise o radu agenta — pratite neočekivano pokretanje pipelinea u drugim projektima, čitanje wiki stranica ili objavljivanje PR komentara tijekom recenzentskih sesija.
Prakse praćenja i nadzora obrađene u članku Observability for AI Agents: What to Log, Trace, and Alert On pružaju praktično polazište za otkrivanje anomalnog ponašanja agenta.
Što ovo znači za implementacije AI agenata
Ovo otkriće potvrđuje obrazac koji se u 2026. iznova ponavlja: MCP poslužitelji, konektori i dodaci — sloj koji povezuje AI agente s alatima u tvrtkama — postaju kritična i nedovoljno zaštićena napadna površina.
Stvarnost je da se ubrizgavanje uputa (prompt injection) ne može u potpunosti spriječiti samim ponašanjem agenta kada poslužitelj vraća nepouzdan sadržaj u istom kanalu kao i pouzdane upute. Microsoftov pristup spotlightinga solidna je tehnička obrana — ali djeluje samo ako se dosljedno primijeni na svaki alat koji vraća sadržaj. Jedan jedini propust, kao što ova ranjivost pokazuje, dovoljan je da bude iskorišten.
Za dublji uvid u strategije obrane od prompt injectiona, članak Securing AI Agents Against Prompt Injection — IBM Technology pokriva produkcijski testirane pristupe obrane u dubini koji se odnose na ovu klasu napada.
Trenutni status
| Detalj | Vrijednost |
|---|---|
| Otkrivač | Manifold Security |
| Datum otkrivanja | 21. srpnja 2026. |
| CVE | Nije dodijeljen (stanje: 22. srpnja) |
| Objavljen popravak | Ne (v2.8.0 najnoviji, 24. lipnja) |
| Vektor napada | HTML komentar u PR opisu |
| Korijenski uzrok | repo_get_pull_request_by_id bez spotlightinga |
| Zaštitni PR | #1062 — primijenjen samo na wiki i pipeline alate |
| Testirani agenti | GitHub Copilot CLI, Claude Code |
Otkriće je koristan podsjetnik da sigurnost infrastrukture koja AI kodne agente povezuje s razvojnim alatima, dok ti agenti postaju standard u inženjerskim tijekovima rada, zaslužuje istu razinu nadzora kakvu primjenjujemo na API-je i sustave za autentifikaciju. Jedna nezaštićena krajnja točka može produktivan alat pretvoriti u kanal za krađu podataka.
Povezana područja
Savjetodavna područja vezana uz ovu temu
Ova su područja rada usklađena s temom članka i daju čišći prijelaz od edukativnog sadržaja do konkretne implementacije.
Nastavite čitati
Povezani članci
Prvo po zajedničkim kategorijama, a zatim po najjačem preklapanju u tagovima.