Overzicht van WinDbg MCP

In dit artikel leert u hoe WinDbg MCP werkt en kunt u bepalen of u deze wilt gebruiken op basis van clientondersteuning en beveiligings- en privacyoverwegingen. WinDbg MCP maakt gebruik van het Model Context Protocol (MCP) om een ondersteunde AI-client te verbinden met een actieve WinDbg-sessie, waar de client hulpprogramma's en context voor foutopsporing kan gebruiken tijdens de analyse.

U kunt deze verbinding gebruiken om een debugdoel te onderzoeken tijdens het controleren van door AI geïnitieerde debuggeracties in WinDbg. Door AI gegenereerde bevindingen zijn niet gezaghebbend. Valideer bevindingen, bewijsmateriaal, veronderstellingen, doeltoestand en opdrachten op basis van de uitvoer in WinDbg.

Hoe WinDbg MCP werkt

WinDbg MCP maakt gebruik van een lokale proxy tussen een AI-client en de MCP-server in WinDbg. De verbinding heeft de volgende architectuur:

Diagram met bidirectionele verbindingen van een AI-modelservice via een AI-client en proxy naar de WinDbg MCP-server.

In het diagram wordt een compacte getrapte indeling gebruikt om de bidirectionele verbindingen weer te geven. De AI-modelservice en AI-client wisselen AI-aanvragen en -antwoorden uit. De AI-client en DbgX.Mcp.Proxy.exe communiceren via stdio MCP. DbgX.Mcp.Proxy.exe en de WinDbg MCP-server communiceren via een lokale named pipe per proces. De WinDbg MCP-server biedt hulpprogramma's, prompts en resources.

Elke WinDbg-sessie maakt gebruik van een lokale, per proces benoemde pipe. DbgX.Mcp.Proxy.exe communiceert met de AI-client via standaardinvoer en uitvoer en verbindt de client met één geselecteerde WinDbg-sessie.

De AI-client kan foutopsporingscontext verzenden naar de geconfigureerde modelservice als onderdeel van AI-aanvragen en -antwoorden. U blijft de controle over de foutopsporingssessie en u kunt door AI geïnitieerde debuggeracties bekijken in WinDbg.

Clientondersteuning en sessielimieten

WinDbg MCP ondersteunt deze AI-clients:

  • Visual Studio Code met GitHub Copilot
  • GITHUB COPILOT CLI

Andere MCP-compatibele AI-clients kunnen op basis van best effort via aangepaste configuratie werken, maar WinDbg ondersteunt ze niet officieel. Gebruik een aangepaste client pas nadat u hebt bevestigd dat de MCP-mogelijkheden en beveiligingscontroles aan de vereisten van uw organisatie voldoen.

Slechts één actieve MCP-client kan tegelijkertijd verbinding maken met een WinDbg-sessie. Afzonderlijke WinDbg-sessies gebruiken afzonderlijke lokale named pipes. In beperkte omgevingen kan organisatiebeleid de MCP-besturingselementen verbergen of uitschakelen.

WinDbg MCP-hulpprogramma's en prompts

WinDbg MCP biedt verbindingshulpprogramma's, foutopsporingsprogramma's en ingebouwde prompts. De actie MCP installeren in WinDbg registreert WinDbg als een MCP-server met de geselecteerde AI-client. Nadat de proxy verbinding heeft gemaakt met een WinDbg-sessie, selecteert de AI-client automatisch de juiste hulpprogramma's.

Gebruik de volgende verbindingshulpprogramma's om een WinDbg-sessie te zoeken en te selecteren:

Hulpprogramma voor verbinding Purpose
list_sessions Toont WinDbg-sessies met actieve MCP-services en rapporteert of elke sessie beschikbaar is.
connect_session Hiermee verbindt u de proxy met een WinDbg-sessie op basis van proces-id.
disconnect_session Hiermee wordt de proxy losgekoppeld van de huidige WinDbg-sessie.

Nadat u verbinding hebt gemaakt, vraagt u de AI-client om WinDbg MCP te gebruiken voor het volgende:

  • Inspecteer of beheer het debugdoel.
  • Voer WinDbg-opdrachten uit.
  • Controleer diagnostische gegevens en broncode.
  • Visualiseer foutopsporingsgegevens.
  • Maak analysescripts.

Ingebouwde WinDbg MCP-prompts gebruiken

Als de AI-client MCP-prompts ondersteunt, selecteert u een ingebouwde prompt om een begeleide foutopsporingswerkstroom te starten.

Ingebouwde prompt Purpose
investigate_symbol_loading_issues Problemen met het laden van symbolen vaststellen.
write_extension Maak een WinDbg JavaScript-extensie.
create_graph Visualiseer foutopsporingsgegevens als een grafiek.
configure_ttd Een Time Travel Debugging-workflow configureren.

WinDbg MCP gebruiken voor foutopsporing

De volgende prompts bieden uitgangspunten voor ondersteunde foutopsporingsscenario's:

Scenario Voorbeeldprompt
Zoek de hoofdoorzaak van een crashdump "Analyseer deze dump en geef de waarschijnlijke hoofdoorzaak, ondersteunende bewijzen en resterende veronderstellingen."
Een live-doelwit onderzoeken "Controleer de doelstatus, breek indien nodig en inspecteer de aanroepstack en modules op foutsignalen."
Laden van symbool of bron herstellen Gebruik logboeken en opdrachtgeschiedenis om te bepalen waarom symbolen of broncode niet correct worden geladen en stel een oplossing voor.
Een Time Travel Debugging-trace analyseren Analyseer deze TTD-tracering en identificeer belangrijke overgangen, aanwijzingen en een waarschijnlijk divergentiepunt.
Queryresultaten van debugger visualiseren Voer een query uit en visualiseer de uitvoer van dit debuggegevensmodel als een structuur, raster of grafiek.
Herhaalbare analyse automatiseren Maak en valideer een script waarmee de workflow voor deze analyse wordt geautomatiseerd.

Vergelijk de resultaten van de AI-client met de doelstatus en de uitvoer van het zichtbare foutopsporingsprogramma voordat u erop reageert.

Beveiligings- en privacyoverwegingen voor WinDbg MCP

Voordat u WinDbg MCP gebruikt, evalueert u het doelsysteem, de bijbehorende gegevens, de geselecteerde AI-client en de geconfigureerde modelservice. Pas alle onderstaande richtlijnen toe:

  • Geautoriseerd gebruik: Gebruik WinDbg MCP alleen met doelen en gegevens die u mag inspecteren. Volg het ai-, beveiligings-, privacy- en gegevensverwerkingsbeleid van uw organisatie.
  • Gegevens die worden verzonden naar AI-services: De AI-client kan de context van het foutopsporingsprogramma verzenden naar de geconfigureerde modelservice. Controleer of uw organisatie de doelresource en de bijbehorende gegevens goedkeurt voor gebruik met zowel de geselecteerde client- als modelservice.
  • Diagnostische logboeken: Diagnostische LOGBOEKen van MCP kunnen foutopsporingsprogrammaopdrachten en doelgegevens bevatten. Sla deze logboeken op, deel en bewaar deze logboeken als gevoelige gegevens volgens het beleid van uw organisatie.
  • AI-validatie: Behandel AI-uitvoer als een voorstel voor onderzoek in plaats van een definitief resultaat. Valideer de uitvoer op basis van informatie die zichtbaar is in WinDbg voordat u er actie op uitvoert.
  • Besturingselementen voor beheerders: Organisaties kunnen WinDbg MCP uitschakelen door de beperkte WinDbg-modus in te schakelen. Beheerders configureren de beperkte modus door EnableRestrictedMode in te stellen op 1. Start WinDbg opnieuw nadat u deze instelling hebt gewijzigd. De beperkte modus is van invloed op andere WinDbg-functies naast MCP.

Beveiligde modus

De beveiligde modus beperkt de functionaliteit van het foutopsporingsprogramma om het risico te beperken dat niet-vertrouwde code wordt geladen of uitgevoerd, processen worden gestart of onveilige bestandsbewerkingen worden uitgevoerd. Het blokkeert opdrachten met een hoog risico, zoals .shell. Standaard wordt de beveiligde modus geactiveerd wanneer de MCP-server wordt gestart.

Als u wilt configureren of de MCP-server de beveiligde modus standaard inschakelt, selecteert u in WinDbg BestandInstellingen>> en schakelt u vervolgens Beveiligde modus inschakelen voor MCP-server in of uit.

Het gedrag van de beveiligde modus is afhankelijk van of u de instelling selecteert en of u de MCP-service start voor of nadat u verbinding hebt gemaakt met een doel:

  • Volledige beveiligde modus: Start de MCP-service voordat u verbinding maakt met een doel en laat Beveiligde modus inschakelen wanneer de MCP-server start geselecteerd.
  • Gedeeltelijk beveiligde modus: Als u al verbinding hebt gemaakt met een doel wanneer u de MCP-service start, gaat WinDbg in de gedeeltelijk beveiligde modus en wordt een waarschuwing weergegeven. Om de volledige beveiligde modus in te schakelen, start u WinDbg opnieuw, start u de MCP-service en maakt u vervolgens verbinding met het doel.
  • Zonder beveiligde modus: Schakel in het bevestigingsvenster de optie Beveiligde modus inschakelen wanneer de MCP-server wordt gestart uit en selecteer vervolgens Ja om de selectie te bevestigen.

Als u het selectievakje in het bevestigingsvenster uitschakelt of inschakelt, wordt ook Bestand>Instellingen>MCP-service-instellingen>Beveiligde modus inschakelen voor MCP-server bijgewerkt. De selectie in het dialoogvenster wordt daarom de standaardinstelling voor toekomstige keren dat MCP wordt gestart.

Nadat de beveiligde modus is geactiveerd, kunt u deze niet uitschakelen en blijft deze actief totdat u WinDbg opnieuw start. Als u de MCP-service stopt, wordt deze niet uitgeschakeld. Nadat u WinDbg opnieuw hebt opgestart, schakelt u Beveiligde modus inschakelen wanneer de MCP-server start uit als u MCP wilt gebruiken zonder beveiligde modus.

Zie Functies van de beveiligde modus voor meer informatie.

Warning

Zonder beveiligde modus zijn opdrachten die rechtstreeks via de AI-client worden uitgevoerd nog steeds beperkt, maar indirecte acties niet. Als de AI-client bijvoorbeeld een breekpunt instelt waarmee een opdracht wordt uitgevoerd, wordt die opdracht uitgevoerd met uw volledige rechten wanneer het breekpunt wordt bereikt.

Als u beveiliging tegen kruispromptinjectie uitschakelt, wordt de beveiligde modus niet uitgeschakeld.

Scripts en extensies veilig gebruiken

WinDbg MCP kan u helpen bij het maken of wijzigen van foutopsporingsscripts en WinDbg JavaScript-extensies. Deze aanbevelingen zijn van toepassing op alle scripts en extensies, ongeacht of ze door AI worden gegenereerd, ontwikkeld door uw team of door een externe leverancier worden geleverd. Behandel gegenereerde of gewijzigde code zoals code van een andere niet-vertrouwde bron. Controleer en keur deze goed voordat u deze laadt of uitvoert, met name wanneer u klantomgevingen of gevoelige doelsystemen debugt.

Voordat u een script of extensie gebruikt, moet u deze aanbevelingen toepassen:

  1. Controleer de code: Controleer de code wanneer de bron beschikbaar is. Controleer anders de uitgever, digitale handtekening, downloadbron, versie, afhankelijkheden en gedocumenteerd gedrag.
  2. Inzicht in de vertrouwensgrens: WinDbg-extensies kunnen code uitvoeren in het foutopsporingsproces en toegang krijgen tot foutopsporingsgegevens. Met de beveiligde modus worden bepaalde bewerkingen beperkt, maar wordt er geen validatie uitgevoerd, sandbox toegepast of vertrouwen ten opzichte van een extensie tot stand gebracht.
  3. Test veilig: Test met niet-gevoelige doelsystemen in een geïsoleerde omgeving. Neem ongeldige of onverwachte foutopsporingsprogrammagegevens, foutafhandeling en gebruik van resources op in uw test.
  4. Gebruik minimale bevoegdheden: Voer WinDbg uit zonder beheerdersbevoegdheden, tenzij voor het foutopsporingsscenario verhoogde bevoegdheden vereist zijn.
  5. Klantgegevens beveiligen: Controleer of de code geen geheugen, broncode, symbolen, bestandspaden, diagnostische uitvoer of andere gevoelige gegevens openbaar maakt op niet-goedgekeurde locaties.
  6. Implementatiebeheer: Gebruik alleen extensies van goedgekeurde bronnen. Gebruik voor beheerde of productieomgevingen gecontroleerde, ondertekende, pakketten met vastgezette versie die via een goedgekeurd uitrolkanaal worden geleverd. Controleer en test elke update vóór de implementatie.

Schakel de beveiligde modus niet alleen uit om een script of extensie te laden of uit te voeren. Als een extensie vereist dat u de beveiligde modus uitschakelt, controleer dan het gedrag ervan, begrijp welke beperkingen de wijziging opheft en vraag goedkeuring van de beveiligingsrevisoren van uw organisatie. Zie Secure mode voor meer informatie.

Bescherming tegen cross-prompt-injectie

WinDbg classificeert bepaalde bewerkingen als beveiligd. Voor een beveiligde bewerking gebruikt WinDbg de geconfigureerde modelservice van de AI-client om de uitvoer van het foutopsporingsprogramma van de bewerking te classificeren voor cross-prompt-injectieaanvallen (XPIA). WinDbg blokkeert uitvoer die door de classificatie als mogelijk onveilig wordt aangemerkt.

XPIA-beveiliging is afhankelijk van MCP-sampling. De AI-client moet MCP sampling ondersteunen en toestaan, zodat WinDbg classificatie kan aanvragen bij de geconfigureerde modelservice. Als classificatie niet kan worden uitgevoerd, mislukt de beveiligde bewerking zonder uitvoer te retourneren.

De instelling Cross-prompt-injectiebeperking inschakelen bepaalt de XPIA-beveiliging. Schakel deze beveiliging alleen uit in een vertrouwde omgeving, voor doelsystemen die uw organisatie goedkeurt, nadat de beveiligingsrevisoren van uw organisatie de beslissing goedkeuren en andere maatregelen het risico van promptinjectie aanpakken.

Feedback geven over WinDbg MCP

Uw feedback helpt Microsoft WinDbg MCP te verbeteren en prioriteit te geven aan oplossingen en functies. Als u een fout wilt melden of een functie wilt voorstellen, maakt u een issue in de WinDbg Feedback-repository.

Volgende stappen