WinDbg MCP-översikt

Den här artikeln hjälper dig att förstå hur WinDbg MCP fungerar och bestämma om du vill använda det baserat på klientsupport och säkerhets- och sekretessöverväganden. WinDbg MCP använder Model Context Protocol (MCP) för att ansluta en AI-klient som stöds till en aktiv WinDbg-session, där klienten kan använda felsökningsverktyg och kontext under analysen.

Du kan använda den här anslutningen för att undersöka ett felsökningsmål när du granskar AI-initierade felsökningsåtgärder i WinDbg. AI-genererade slutsatser ska inte betraktas som auktoritativa. Validera iakttagelser, underlag, antaganden, måltillstånd och kommandon mot utdata i WinDbg.

Så här fungerar WinDbg MCP

WinDbg MCP använder en lokal proxy mellan en AI-klient och MCP-servern i WinDbg. Anslutningen har följande arkitektur:

Diagram som visar dubbelriktade anslutningar från en AI-modelltjänst via en AI-klient och proxy till WinDbg MCP-servern.

Diagrammet använder en kompakt stegvis layout för att visa dubbelriktade anslutningar. AI-modelltjänsten och AI-klienten utbyter AI-begäranden och svar. AI-klienten och DbgX.Mcp.Proxy.exe kommunicerar via stdio MCP. DbgX.Mcp.Proxy.exe och WinDbg MCP-servern kommunicerar via en lokal namngiven pipe per process. WinDbg MCP-servern innehåller verktyg, uppmaningar och resurser.

Varje WinDbg-session använder en lokal namngiven pipe per process. DbgX.Mcp.Proxy.exe kommunicerar med AI-klienten via standardindata och utdata och ansluter klienten till en vald WinDbg-session.

AI-klienten kan skicka felsökningskontext till sin konfigurerade modelltjänst som en del av AI-begäranden och svar. Du har fortfarande kontroll över felsökningssessionen och du kan granska AI-initierade felsökningsåtgärder i WinDbg.

Gränser för klientstöd och sessioner

WinDbg MCP stöder följande AI-klienter:

  • Visual Studio Code med GitHub Copilot
  • GitHub Copilot CLI

Andra MCP-kompatibla AI-klienter kan fungera med anpassad konfiguration utan garantier, men WinDbg stöder dem inte officiellt. Använd bara en anpassad klient när du har bekräftat att dess MCP-funktioner och säkerhetskontroller uppfyller organisationens krav.

Endast en aktiv MCP-klient kan ansluta till en WinDbg-session i taget. Separata WinDbg-sessioner använder separata lokala namngivna pipes. I begränsade miljöer kan organisationspolicy dölja eller inaktivera MCP-kontrollerna.

WinDbg MCP-verktyg och uppmaningar

WinDbg MCP tillhandahåller anslutningsverktyg, felsökningsverktyg och inbyggda prompter. Åtgärden Installera MCP i WinDbg registrerar WinDbg som en MCP-server med den valda AI-klienten. När proxyn har anslutit till en WinDbg-session väljer AI-klienten lämpliga verktyg automatiskt.

Använd följande anslutningsverktyg för att hitta och välja en WinDbg-session:

Anslutningsverktyg Purpose
list_sessions Visar WinDbg-sessioner med aktiva MCP-tjänster och rapporterar om varje session är tillgänglig.
connect_session Ansluter proxyn till en WinDbg-session via process-ID.
disconnect_session Kopplar bort proxyn från den aktuella WinDbg-sessionen.

Efter anslutningen ber du AI-klienten att använda WinDbg MCP för att:

  • Inspektera eller kontrollera felsökningsmål.
  • Kör WinDbg-kommandon.
  • Granska diagnostik och källkod.
  • Visualisera felsökningsdata.
  • Skapa analysskript.

Använd inbyggda WinDbg MCP-prompter

Om AI-klienten stöder MCP-promptar väljer du en inbyggd uppmaning för att starta ett guidat felsökningsarbetsflöde.

Inbyggd prompt Purpose
investigate_symbol_loading_issues Diagnosera problem med inläsning av symboler.
write_extension Skapa ett WinDbg JavaScript-tillägg.
create_graph Visualisera felsökningsdata som ett diagram.
configure_ttd Konfigurera ett arbetsflöde för Time Travel Debugging.

Använd WinDbg MCP för felsökning

Följande uppmaningar anger startpunkter för felsökningsscenarier som stöds:

Scenario Exempelprompt
Hitta rotorsaken till en kraschdump "Analysera den här dumpen och ange den troliga rotorsaken, stödjande bevis och återstående antaganden."
Undersök ett aktivt mål "Kontrollera måltillståndet, bryt vid behov och kontrollera anropsstacken och modulerna efter felsignaler."
Åtgärda symbol eller inläsning av källa Använd loggar och kommandohistorik för att identifiera varför symboler eller källkod inte läses in korrekt och föreslå en korrigering.
Analysera en spårning av Time Travel Debugging Analysera det här TTD-trace:t och identifiera viktiga övergångar, indikationer och en sannolik divergeringspunkt.
Visualisera felsökningsfrågeresultat Fråga efter och visualisera den här felsökningsdatamodellens utdata som ett träd, rutnät eller diagram.
Automatisera repeterbar analys "Skapa och verifiera ett skript som automatiserar det här analysarbetsflödet."

Jämför AI-klientens resultat med måltillståndet och synliga felsökningsutdata innan du agerar på dem.

WinDbg MCP-säkerhets- och sekretessöverväganden

Innan du använder WinDbg MCP ska du utvärdera målsystemet, dess data, den valda AI-klienten och den konfigurerade modelltjänsten. Använd alla följande riktlinjer:

  • Auktoriserad användning: Använd endast WinDbg MCP med mål och data som du har behörighet att inspektera. Följ organisationens principer för AI, säkerhet, sekretess och datahantering.
  • Data som skickas till AI-tjänster: AI-klienten kan skicka felsökningskontext till sin konfigurerade modelltjänst. Bekräfta att din organisation godkänner målobjektet och dess data för användning med både den valda klienten och modelltjänsten.
  • Diagnostikloggar: MCP-diagnostikloggar kan innehålla felsökningskommandon och måldata. Lagra, dela och behålla dessa loggar som känsliga data enligt organisationens policyer.
  • AI-validering: Behandla AI-utdata som ett förslag till undersökning i stället för ett definitivt resultat. Verifiera utdata mot information som visas i WinDbg innan du agerar på den.
  • Administratörskontroller: Organisationer kan inaktivera WinDbg MCP genom att aktivera WinDbg-begränsat läge. Administratörer konfigurerar begränsat läge genom att ställa in EnableRestrictedMode till 1. Starta om WinDbg när du har ändrat den här inställningen. Begränsat läge påverkar andra WinDbg-funktioner utöver MCP.

Säkert läge

säkert läge begränsar felsökningsfunktionerna för att minska risken för att läsa in eller köra obetrodd kod, starta processer eller utföra osäkra filåtgärder. Den blockerar högriskkommandon som .shell. Som standard aktiveras säkert läge när MCP-servern startar.

Om du vill konfigurera om MCP-servern aktiverar säkert läge som standard, går du till WinDbg och väljer Arkiv>> och väljer eller avmarkerar sedan Aktivera säkert läge för MCP Server.

Beteendet för säkert läge beror på om du väljer inställningen och om du startar MCP-tjänsten före eller efter att du ansluter till ett mål:

  • Fullständigt säkert läge: Starta MCP-tjänsten innan du ansluter till ett mål och lämna Aktivera säkert läge när MCP-servern startas .
  • Partiellt säkert läge: Om du redan är ansluten till ett mål när du startar MCP-tjänsten går WinDbg in i delvis säkert läge och visar en varning. För att få full secure mode startar du om WinDbg, startar MCP-tjänsten och ansluter sedan till målet.
  • Utan säkert läge: I bekräftelsedialogrutan avmarkerar du Aktivera säkert läge när MCP-servern startar och väljer sedan Ja för att bekräfta valet.

Om du avmarkerar eller markerar kryssrutan i bekräftelsedialogrutan uppdateras även Fil>Inställningar>Inställningar för MCP-tjänst>Aktivera säkert läge för MCP Server. Dialogrutans val blir därför standard för framtida MCP-starter.

När säkerhetsläge har aktiverats kan du inte stänga av det och det förblir aktivt förrän du startar om WinDbg. Om du stoppar MCP-tjänsten inaktiveras den inte. När du har startat om WinDbg avmarkera Aktivera säkert läge när MCP-servern startar om du vill använda MCP utan säkert läge.

Mer information finns i Funktioner för säkert läge.

Varning

Utan säkert läge är kommandon som AI-klienten kör direkt fortfarande begränsade, men indirekta åtgärder är det inte. Om AI-klienten till exempel anger en brytpunkt som kör ett kommando körs kommandot med dina fullständiga behörigheter när brytpunkten nås.

Om du inaktiverar skydd mot injektion mellan promptar inaktiveras inte säkert läge.

Använd skript och tillägg på ett säkert sätt

WinDbg MCP kan hjälpa dig att skapa eller ändra felsökningsskript och WinDbg JavaScript-tillägg. Dessa rekommendationer gäller för alla skript och tillägg, oavsett om de är AI-genererade, utvecklade av ditt team eller tillhandahålls av en tredjepartsleverantör. Behandla genererad eller modifierad kod som kod från vilken annan obetrodd källa som helst. Granska och godkänn det innan du läser in eller kör det, särskilt när du felsöker kundmiljöer eller känsliga målsystem.

Tillämpa följande rekommendationer innan du använder skript eller tillägg:

  1. Granska koden: Granska koden när källan är tillgänglig. Annars kontrollera utgivaren, den digitala signaturen, nedladdningskällan, versionen, beroenden och det dokumenterade beteendet.
  2. Förstå förtroendegränsen: WinDbg-tillägg kan köra kod i felsökningsprocessen och få åtkomst till felsökningsdata. Säkert läge begränsar vissa åtgärder, men det validerar, isolerar i en sandbox eller upprättar inte förtroende för ett tillägg.
  3. Testa på ett säkert sätt: Testa med icke-känsliga mål i en isolerad miljö. Inkludera felaktiga eller oväntade felsökningsdata, felhantering och resursanvändning i testningen.
  4. Använd lägsta möjliga behörighet: Kör WinDbg utan administratörsbehörighet om inte felsökningsscenariot kräver utökade privilegier.
  5. Skydda kunddata: Bekräfta att koden inte läcker ut minnesinnehåll, källkod, symboler, filsökvägar, diagnostikutdata eller andra känsliga data till ej godkända platser.
  6. Distributionskontroll: Använd endast tillägg från godkända källor. För hanterade miljöer eller produktionsmiljöer använder du granskade, signerade, versionsfästa paket som levereras via en godkänd distributionskanal. Granska och testa varje uppdatering före driftsättning.

Inaktivera inte säkert läge enbart för att läsa in eller köra ett skript eller tillägg. Om ett tillägg kräver att du inaktiverar säkert läge granskar du dess beteende, förstår vilka begränsningar ändringen tar bort och får godkännande från organisationens säkerhetsgranskare. Mer information finns i säkert läge.

Skydd mot promptinjektion mellan prompter

WinDbg klassificerar vissa åtgärder som skyddade. För en skyddad åtgärd använder WinDbg AI-klientens konfigurerade modelltjänst för att klassificera åtgärdens felsökningsutdata för xpia (cross-prompt injection attacks). WinDbg blockerar utdata som klassificeringen identifierar som potentiellt osäkra.

XPIA-skydd är beroende av MCP-sampling. AI-klienten måste stödja och tillåta MCP-sampling så att WinDbg kan begära klassificering från den konfigurerade modelltjänsten. Om klassificeringen inte kan köras misslyckas den skyddade åtgärden utan att returnera utdata.

Inställningen Aktivera skydd mot korspromptinjektion styr XPIA-skyddet. Inaktivera endast det här skyddet i en betrodd miljö, för mål som din organisation godkänner, efter att organisationens säkerhetsgranskare har godkänt beslutet och andra kontroller har hanterat risken för promptinjektion.

Ge feedback om WinDbg MCP

Din feedback hjälper Microsoft förbättra WinDbg MCP och prioritera korrigeringar och funktioner. Om du vill rapportera en bugg eller föreslå en funktion skapar du ett ärende i WinDbg Feedback-repositoryt.

Nästa steg