Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel hilft Ihnen, zu verstehen, wie WinDbg MCP funktioniert, und zu entscheiden, ob Sie es basierend auf Clientunterstützung sowie Sicherheits- und Datenschutzaspekten verwenden sollten. WinDbg MCP verwendet das Model Context Protocol (MCP), um einen unterstützten KI-Client mit einer aktiven WinDbg-Sitzung zu verbinden, in der der Client Debuggertools und Kontext während der Analyse verwenden kann.
Sie können diese Verbindung verwenden, um ein Debuggingziel zu untersuchen, während Sie KI-initiierte Debuggeraktionen in WinDbg überprüfen. KI-generierte Erkenntnisse sind nicht maßgeblich. Überprüfen Sie Ergebnisse, Nachweise, Annahmen, Zielzustand und Befehle anhand der Ausgabe in WinDbg.
Funktionsweise von WinDbg MCP
WinDbg MCP verwendet einen lokalen Proxy zwischen einem AI-Client und dem MCP-Server in WinDbg. Die Verbindung weist die folgende Architektur auf:
Das Diagramm verwendet ein kompaktes gestuftes Layout, um die bidirektionalen Verbindungen anzuzeigen. Der KI-Modelldienst und der KI-Client tauschen KI-Anforderungen und -Antworten aus. Der KI-Client und DbgX.Mcp.Proxy.exe kommunizieren über stdio MCP.
DbgX.Mcp.Proxy.exe und der WinDbg MCP-Server kommunizieren über eine lokale prozessbezogene Named Pipe. Der WinDbg MCP-Server stellt Tools, Prompts und Ressourcen bereit.
Jede WinDbg-Sitzung verwendet eine lokale, pro Prozess benannte Pipe.
DbgX.Mcp.Proxy.exe kommuniziert mit dem AI-Client über die Standardeingabe und -ausgabe und verbindet den Client mit einer ausgewählten WinDbg-Sitzung.
Der KI-Client kann den Debugkontext als Teil von KI-Anforderungen und -Antworten an seinen konfigurierten Modelldienst senden. Sie behalten die Kontrolle über die Debugsitzung, und Sie können KI-initiierte Debuggeraktionen in WinDbg überprüfen.
Unterstützung für Clients und Sitzungslimits
WinDbg MCP unterstützt diese KI-Clients:
- Visual Studio Code mit GitHub Copilot
- GitHub Copilot-CLI
Andere MCP-kompatible KI-Clients funktionieren möglicherweise durch eine benutzerdefinierte Konfiguration auf Best-Effort-Basis, aber WinDbg unterstützt sie nicht offiziell. Verwenden Sie einen benutzerdefinierten Client nur, nachdem Sie bestätigt haben, dass die MCP-Funktionen und Sicherheitskontrollen den Anforderungen Ihrer Organisation entsprechen.
Es kann jeweils nur ein aktiver MCP-Client eine Verbindung mit einer WinDbg-Sitzung herstellen. Separate WinDbg-Sitzungen verwenden separate lokale benannte Pipes. In eingeschränkten Umgebungen kann die Organisationsrichtlinie die MCP-Steuerelemente ausblenden oder deaktivieren.
WinDbg MCP-Tools und Prompts
WinDbg MCP bietet Verbindungstools, Debuggertools und integrierte Aufforderungen. Die Aktion Install MCP in WinDbg registriert WinDbg als MCP-Server beim ausgewählten AI-Client. Nachdem der Proxy eine Verbindung mit einer WinDbg-Sitzung hergestellt hat, wählt der KI-Client automatisch die entsprechenden Tools aus.
Verwenden Sie die folgenden Verbindungstools, um eine WinDbg-Sitzung zu suchen und auszuwählen:
| Verbindungstool | Purpose |
|---|---|
list_sessions |
Listet WinDbg-Sitzungen mit aktiven MCP-Diensten auf und meldet, ob jede Sitzung verfügbar ist. |
connect_session |
Verbindet den Proxy mit einer WinDbg-Sitzung anhand der Prozess-ID. |
disconnect_session |
Trennt den Proxy von der aktuellen WinDbg-Sitzung. |
Bitten Sie den KI-Client nach der Verbindung, WinDbg MCP zu verwenden:
- Überprüfen oder steuern Sie das Debuggingziel.
- Führen Sie WinDbg-Befehle aus.
- Überprüfen Sie Diagnosen und Quellcode.
- Visualisieren Sie Debugger-Daten.
- Erstellen Sie Analyseskripte.
Verwenden Sie integrierte WinDbg MCP-Eingabeaufforderungen
Wenn der KI-Client MCP-Prompts unterstützt, wählen Sie einen integrierten Prompt aus, um einen geführten Debugworkflow zu starten.
| Integrierter Prompt | Purpose |
|---|---|
investigate_symbol_loading_issues |
Probleme beim Laden von Symbolen diagnostizieren. |
write_extension |
Erstellen Sie eine WinDbg JavaScript-Erweiterung. |
create_graph |
Visualisieren Sie Debuggerdaten als Graph. |
configure_ttd |
Konfigurieren Sie einen Time Travel Debugging-Workflow. |
Verwenden Sie WinDbg MCP zum Debuggen
Die folgenden Prompts bieten Ausgangspunkte für unterstützte Debugszenarien:
| Scenario | Beispielaufforderung |
|---|---|
| Ursache eines Crashdumps finden | Analysieren Sie dieses Dump, und geben Sie die wahrscheinliche Ursache, stützende Belege und verbleibende Annahmen an. |
| Live-Ziel untersuchen | Überprüfen Sie den Zielzustand, unterbrechen Sie die Ausführung bei Bedarf und prüfen Sie den Aufrufstapel und die Module auf Fehlersignale. |
| Symbole oder Quelle laden korrigieren | Verwenden Sie Protokolle und Befehlsverlauf, um zu ermitteln, warum Symbole oder Quellcode nicht ordnungsgemäß geladen werden, und schlagen Sie eine Lösung vor. |
| Einen Zeitreisedebugging-Trace analysieren | "Analysieren Sie diese TTD-Ablaufverfolgung, und identifizieren Sie wichtige Übergänge, Nachweise und einen wahrscheinlichen Divergenzpunkt." |
| Debugger-Abfrageergebnisse visualisieren | Fragen Sie diese Ausgabe des Debuggerdatenmodells ab, und visualisieren Sie sie als Struktur, Raster oder Diagramm. |
| Wiederholbare Analyse automatisieren | Erstellen und validieren Sie ein Skript, das diesen Analyseworkflow automatisiert. |
Vergleichen Sie die Ergebnisse des KI-Clients mit dem Zielzustand und der sichtbaren Debuggerausgabe, bevor Sie entsprechend handeln.
Überlegungen zu WinDbg MCP-Sicherheit und Datenschutz
Bevor Sie WinDbg MCP verwenden, bewerten Sie das Zielsystem, seine Daten, den ausgewählten KI-Client und den konfigurierten Modelldienst. Beachten Sie alle folgenden Hinweise:
- Autorisierte Verwendung: Verwenden Sie WinDbg MCP nur mit Zielen und Daten, die Sie überprüfen dürfen. Befolgen Sie die KI-, Sicherheits-, Datenschutz- und Datenverarbeitungsrichtlinien Ihrer Organisation.
- An KI-Dienste übermittelte Daten: Der KI-Client kann Debuggerkontext an seinen konfigurierten Modelldienst senden. Vergewissern Sie sich, dass Ihre Organisation die Zielressource und die zugehörigen Daten für die Verwendung mit dem ausgewählten Client- und Modellservice genehmigt.
- Diagnoseprotokolle: MCP-Diagnoseprotokolle können Debuggerbefehle und Zieldaten enthalten. Speichern, freigeben und aufbewahren Sie diese Protokolle gemäß den Richtlinien Ihrer Organisation als vertrauliche Daten.
- KI-Validierung: Behandeln Sie die KI-Ausgabe als Vorschlag für eine Untersuchung und nicht als endgültiges Ergebnis. Überprüfen Sie die Ausgabe anhand der in WinDbg sichtbaren Informationen, bevor Sie auf dieser Grundlage Maßnahmen ergreifen.
-
Administratorsteuerelemente: Organisationen können WinDbg MCP deaktivieren, indem sie den eingeschränkten WinDbg-Modus aktivieren. Administratoren konfigurieren den eingeschränkten Modus durch Festlegen von
EnableRestrictedModeauf1. Starten Sie WinDbg neu, nachdem Sie diese Einstellung geändert haben. Der eingeschränkte Modus wirkt sich zusätzlich zu MCP auf andere WinDbg-Features aus.
Sicherer Modus
Der sichere Modus schränkt die Debuggerfunktionalität ein, um das Risiko zu verringern, dass nicht vertrauenswürdiger Code geladen oder ausgeführt wird, Prozesse gestartet oder unsichere Dateivorgänge ausgeführt werden. Sie blockiert Hochrisikobefehle wie .shell. Standardmäßig wird der sichere Modus aktiviert, wenn der MCP-Server gestartet wird.
Um zu konfigurieren, ob der MCP-Server standardmäßig den sicheren Modus aktiviert, wählen Sie in WinDbg Datei>>MCP-Diensteinstellungen aus, und wählen Sie dann Sicheren Modus für MCP-Server aktivieren aus oder deaktivieren Sie das Kontrollkästchen.
Das Verhalten des sicheren Modus hängt davon ab, ob Sie die Einstellung auswählen und ob Sie den MCP-Dienst vor oder nach der Verbindung mit einem Ziel starten:
- Vollständig sicherer Modus: Starten Sie den MCP-Dienst, bevor Sie eine Verbindung mit einem Ziel herstellen, und lassen Sie Sicheren Modus aktivieren, wenn der MCP-Server startet ausgewählt.
- Teilweiser sicherer Modus: Wenn Sie beim Starten des MCP-Diensts bereits eine Verbindung mit einem Ziel hergestellt haben, wechselt WinDbg in den teilweisen sicheren Modus und zeigt eine Warnung an. Um den vollständigen sicheren Modus zu erhalten, starten Sie WinDbg neu, starten Sie den MCP-Dienst, und stellen Sie dann eine Verbindung mit dem Ziel her.
- Ohne sicheren Modus: Deaktivieren Sie im Bestätigungsdialogfeld Sicheren Modus aktivieren, wenn der MCP-Server gestartet wird, und wählen Sie dann Ja aus, um die Auswahl zu bestätigen.
Das Deaktivieren oder Aktivieren des Kontrollkästchens im Bestätigungsdialogfeld aktualisiert auch Datei>>MCP-Diensteinstellungen>Sicheren Modus für den MCP-Server aktivieren. Die Dialogauswahl wird daher zum Standard für zukünftige MCP-Startups.
Nachdem der sichere Modus aktiviert wurde, können Sie ihn nicht deaktivieren, und er bleibt aktiv, bis Sie WinDbg neu starten. Das Beenden des MCP-Diensts deaktiviert ihn nicht. Deaktivieren Sie nach dem Neustart von WinDbg den Sicheren Modus aktivieren, wenn der MCP-Server gestartet wird, wenn Sie MCP ohne sicheren Modus verwenden möchten.
Weitere Informationen finden Sie unter Features des sicheren Modus.
Warning
Ohne sicheren Modus sind Befehle, die der KI-Client direkt ausführt, weiterhin eingeschränkt, aber indirekte Aktionen sind nicht. Wenn der KI-Client beispielsweise einen Haltepunkt festlegt, der einen Befehl ausführt, wird dieser Befehl mit Ihren vollständigen Berechtigungen ausgeführt, wenn der Haltepunkt erreicht wird.
Das Deaktivieren des Schutzes vor promptübergreifender Injektion deaktiviert den sicheren Modus nicht.
Sicheres Verwenden von Skripts und Erweiterungen
WinDbg MCP kann Ihnen beim Erstellen oder Ändern von Debuggingskripts und WinDbg JavaScript-Erweiterungen helfen. Diese Empfehlungen gelten für alle Skripte und Erweiterungen, unabhängig davon, ob sie KI-generiert, von Ihrem Team entwickelt oder von einem Drittanbieter bereitgestellt werden. Behandeln Sie generierten oder geänderten Code wie Code aus jeder anderen nicht vertrauenswürdigen Quelle. Überprüfen und genehmigen Sie sie, bevor Sie sie laden oder ausführen, insbesondere, wenn Sie Kundenumgebungen oder vertrauliche Ziele debuggen.
Bevor Sie ein Skript oder eine Erweiterung verwenden, wenden Sie die folgenden Empfehlungen an:
- Überprüfen Sie den Code: Überprüfen Sie den Code, wenn die Quelle verfügbar ist. Überprüfen Sie andernfalls den Herausgeber, die digitale Signatur, die Downloadquelle, version, Abhängigkeiten und das dokumentierte Verhalten.
- Vertrauensgrenze verstehen: WinDbg-Erweiterungen können Code im Debuggerprozess ausführen und auf Debuggingdaten zugreifen. Der sichere Modus schränkt bestimmte Vorgänge ein, validiert jedoch keine Erweiterung, führt sie nicht in einer Sandbox aus und stellt kein Vertrauen in sie her.
- Sicher testen: Testen sie mit nicht vertraulichen Zielen in einer isolierten Umgebung. Schließen Sie fehlerhafte oder unerwartete Debuggerdaten, den Umgang mit Ausfällen und Ressourcennutzung in Ihre Tests ein.
- Prinzip der geringsten Rechte: Führen Sie WinDbg ohne Administratorrechte aus, es sei denn, das Debugszenario eine Rechteerweiterung erfordert.
- Schützen von Kundendaten: Stellen Sie sicher, dass der Code Speicher, Quellcode, Symbole, Dateipfade, Diagnoseausgabe oder andere vertrauliche Daten an nicht genehmigte Speicherorte nicht offenlegt.
- Bereitstellung steuern: Verwenden Sie nur Erweiterungen aus genehmigten Quellen. Verwenden Sie für verwaltete oder Produktionsumgebungen überprüfte, signierte, an die Version angeheftete Pakete, die über einen genehmigten Bereitstellungskanal bereitgestellt werden. Überprüfen und testen Sie alle Updates vor der Bereitstellung.
Deaktivieren Sie den sicheren Modus nicht ausschließlich, um ein Skript oder eine Erweiterung zu laden oder auszuführen. Wenn eine Erweiterung erfordert, dass Sie den sicheren Modus deaktivieren, überprüfen Sie dessen Verhalten, verstehen Sie, welche Einschränkungen die Änderung entfernt, und holen Sie die Genehmigung von den Sicherheitsprüfern Ihrer Organisation ein. Weitere Informationen finden Sie im abgesicherten Modus.
promptübergreifender Injektionsschutz
WinDbg klassifiziert bestimmte Vorgänge als geschützt. Für einen geschützten Vorgang verwendet WinDbg den konfigurierten Modelldienst des AI-Clients, um die Debuggerausgabe des Vorgangs für Cross-Prompt-Injektionsangriffe (XPIA) zu klassifizieren. WinDbg blockiert die Ausgabe, die laut Klassifizierung potenziell unsicher ist.
DER XPIA-Schutz hängt vom MCP-Sampling ab. Der KI-Client muss MCP-Sampling unterstützen und zulassen, damit WinDbg die Klassifizierung vom konfigurierten Modelldienst anfordern kann. Wenn die Klassifizierung nicht ausgeführt werden kann, schlägt der geschützte Vorgang fehl, ohne die Ausgabe zurückzugeben.
Die Einstellung "Prompt-Injection-Abwehr aktivieren" steuert den XPIA-Schutz. Deaktivieren Sie diesen Schutz nur in einer vertrauenswürdigen Umgebung, für Ziele, die Ihre Organisation genehmigt, nachdem die Sicherheitsprüfer Ihrer Organisation die Entscheidung genehmigt haben und andere Sicherheitsmaßnahmen das Prompt-Injection-Risiko beheben.
Feedback zu WinDbg MCP
Ihr Feedback hilft Microsoft WinDbg MCP zu verbessern und Korrekturen und Features zu priorisieren. Um einen Fehler zu melden oder ein Feature vorzuschlagen, erstellen Sie ein Problem im WinDbg Feedback-Repository.