Descripción general de WinDbg MCP

Este artículo le ayuda a comprender cómo funciona WinDbg MCP y decidir si se debe usar en función del soporte técnico del cliente y las consideraciones de seguridad y privacidad. WinDbg MCP usa el Protocolo de contexto de modelo (MCP) para conectar un cliente de IA compatible a una sesión de WinDbg activa, donde el cliente puede usar herramientas de depuración y contexto durante el análisis.

Puede usar esta conexión para investigar un objetivo de depuración al revisar las acciones del depurador iniciadas por IA en WinDbg. Los hallazgos generados por IA no son fiables. Valide los resultados, la evidencia, las suposiciones, el estado de destino y los comandos con la salida de WinDbg.

Funcionamiento de MCP de WinDbg

WinDbg MCP usa un proxy local entre un cliente de IA y el servidor MCP en WinDbg. La conexión tiene la siguiente arquitectura:

Diagrama en el que se muestran las conexiones bidireccionales desde un servicio de modelo de IA a través de un cliente de IA y un proxy al servidor MCP de WinDbg.

El diagrama usa un diseño escalonado compacto para mostrar las conexiones bidireccionales. El servicio de modelo de IA y el cliente de IA intercambian solicitudes y respuestas de IA. El cliente de IA y DbgX.Mcp.Proxy.exe se comunican a través de stdio MCP. DbgX.Mcp.Proxy.exe y el servidor MCP de WinDbg se comunican a través de una canalización con nombre local para cada proceso. El servidor MCP de WinDbg proporciona herramientas, avisos y recursos.

Cada sesión de WinDbg usa una canalización con nombre local para cada proceso. DbgX.Mcp.Proxy.exe se comunica con el cliente de IA a través de la entrada y salida estándar y conecta el cliente a una sesión de WinDbg seleccionada.

El cliente de IA puede enviar contexto de depuración a su servicio de modelo configurado como parte de las solicitudes y respuestas de IA. Sigue controlando la sesión de depuración y puedes revisar las acciones del depurador iniciadas por IA en WinDbg.

Soporte al cliente y límites de sesión

WinDbg MCP admite estos clientes de IA:

  • Visual Studio Code con GitHub Copilot
  • CLI de GitHub Copilot

Otros clientes de inteligencia artificial compatibles con MCP pueden funcionar mediante una configuración personalizada de forma no garantizada, pero WinDbg no los admite oficialmente. Utilice un cliente personalizado solo después de confirmar que sus capacidades de MCP y controles de seguridad cumplen los requisitos de su organización.

Solo un cliente MCP activo puede conectarse a una sesión de WinDbg a la vez. Las sesiones de WinDbg independientes usan canalizaciones con nombre local independientes. En entornos restringidos, la directiva organizativa puede ocultar o deshabilitar los controles MCP.

Herramientas y prompts de WinDbg MCP

MCP de WinDbg proporciona herramientas de conexión, herramientas del depurador e indicaciones integradas. La acción Instalar MCP en WinDbg registra WinDbg como un servidor MCP para el cliente de IA seleccionado. Una vez que el proxy se conecta a una sesión de WinDbg, el cliente de IA selecciona automáticamente las herramientas adecuadas.

Use las siguientes herramientas de conexión para buscar y seleccionar una sesión de WinDbg:

Herramienta de conexión Purpose
list_sessions Enumera las sesiones de WinDbg con servicios MCP activos e informa de si cada sesión está disponible.
connect_session Conecta el proxy a una sesión de WinDbg por identificador de proceso.
disconnect_session Desconecta el proxy de la sesión de WinDbg actual.

Después de la conexión, pida al cliente de IA que use MCP de WinDbg para:

  • Inspeccione o controle el objetivo de depuración.
  • Ejecute comandos de WinDbg.
  • Revise los diagnósticos y el código fuente.
  • Visualice los datos del depurador.
  • Cree secuencias de comandos de análisis.

Usa mensajes de MCP de WinDbg integrados

Si el cliente de IA admite prompts de MCP, seleccione un prompt integrado para iniciar un flujo de trabajo de depuración guiado.

Prompt integrado Purpose
investigate_symbol_loading_issues Diagnostique problemas de carga de símbolos.
write_extension Cree una extensión de JavaScript de WinDbg.
create_graph Visualizar los datos del depurador como un gráfico.
configure_ttd Configure un flujo de trabajo de Time Travel Debugging.

Usar MCP de WinDbg para la depuración

Las siguientes indicaciones proporcionan puntos de partida para escenarios de depuración admitidos:

Scenario Mensaje de ejemplo
Encontrar la causa principal de un volcado de memoria "Analice este volcado de memoria y proporcione la causa principal probable, la evidencia de apoyo y las suposiciones restantes".
Investigar un objetivo activo Compruebe el estado objetivo, detenga la ejecución si es necesario e inspeccione la pila de llamadas y los módulos para detectar señales de fallo.
Corregir la carga de símbolos o del código fuente Utiliza registros y el historial de comandos para identificar por qué los símbolos o el código fuente no se cargan correctamente y sugiere una corrección.
Analizar una traza de depuración de viajes en el tiempo "Analice este seguimiento TTD e identifique transiciones clave, evidencia y un punto de divergencia probable".
Visualizar los resultados de la consulta del depurador "Consulte y visualice esta salida del modelo de datos del depurador como un árbol, una cuadrícula o un grafo".
Automatiza el análisis recurrente "Cree y valide un script que automatice este flujo de trabajo de análisis".

Compare los resultados del cliente de IA con el estado de destino y la salida visible del depurador antes de basarte en ellos.

Consideraciones de privacidad y seguridad de MCP de WinDbg

Antes de usar WinDbg MCP, evalúe el objetivo, sus datos, el cliente de IA seleccionado y el servicio de modelo configurado. Aplique todas las instrucciones siguientes:

  • Uso autorizado: Utilice MCP de WinDbg solo con destinos y datos que tenga permiso para inspeccionar. Siga las directivas de inteligencia artificial, seguridad, privacidad y control de datos de su organización.
  • Datos enviados a los servicios de inteligencia artificial: El cliente de IA puede enviar el contexto del depurador a su servicio de modelo configurado. Confirme que su organización aprueba el objetivo y sus datos para su uso con el cliente y el servicio de modelo seleccionados.
  • Registros de diagnóstico: Los registros de diagnóstico de MCP pueden contener comandos del depurador y datos de destino. Almacene, comparta y conserve estos registros como datos confidenciales según las directivas de su organización.
  • Validación de IA: Trate la salida de ia como una propuesta de investigación en lugar de un resultado definitivo. Valide la salida con respecto a la información visible en WinDbg antes de actuar sobre ella.
  • Controles de administrador: Las organizaciones pueden deshabilitar MCP de WinDbg habilitando el modo restringido de WinDbg. Los administradores configuran el modo restringido estableciendo EnableRestrictedMode en 1. Reinicie WinDbg después de cambiar esta configuración. El modo restringido afecta a otras características de WinDbg además de MCP.

Modo seguro

El modo seguro restringe la funcionalidad del depurador para reducir el riesgo de cargar o ejecutar código que no es de confianza, iniciar procesos o realizar operaciones de archivos no seguras. Bloquea comandos de alto riesgo como .shell. De forma predeterminada, el modo seguro se activa cuando se inicia el servidor MCP.

Para configurar si el servidor MCP habilita el modo seguro de forma predeterminada, en WinDbg, seleccione Archivo>Configuración>Configuración del servicio MCP y, a continuación, seleccione o desactive Habilitar modo seguro para el servidor MCP.

El comportamiento del modo seguro depende de si selecciona la configuración y si inicia el servicio MCP antes o después de conectarse a un destino:

  • Modo seguro completo: Inicie el servicio MCP antes de conectarse a un destino y deje Habilitar modo seguro cuando se inicie el servidor MCP seleccionado.
  • Modo seguro parcial: Si ya está conectado a un destino al iniciar el servicio MCP, WinDbg entra en modo seguro parcial y muestra una advertencia. Para obtener el modo seguro completo, reinicie WinDbg, inicie el servicio MCP y, a continuación, conéctese al destino.
  • Sin modo seguro: En el cuadro de diálogo de confirmación, desactive Habilitar modo seguro cuando se inicie el servidor MCP y, a continuación, seleccione Sí para confirmar la selección.

Si desactiva o activa la casilla del cuadro de diálogo de confirmación, también se actualiza Archivo>>Configuración del servicio MCP>Habilitar modo seguro para el servidor MCP. Por lo tanto, la selección del cuadro de diálogo se convierte en el valor predeterminado para futuros inicios de MCP.

Después de que se active el modo seguro, no se puede desactivar y permanece activo hasta que se reinicia WinDbg. Detener el servicio MCP no lo deshabilita. Después de reiniciar WinDbg, desmarque Habilitar modo seguro cuando se inicie el servidor MCP si desea usar MCP sin modo seguro.

Para obtener más información, consulte Características del modo seguro.

Warning

Sin el modo seguro, los comandos que el cliente de IA ejecuta directamente siguen restringidos, pero las acciones indirectas no. Por ejemplo, si el cliente de IA establece un punto de interrupción que ejecuta un comando, ese comando se ejecuta con todos tus permisos cuando se alcanza el punto de interrupción.

La deshabilitación de la protección por inyección entre mensajes no deshabilita el modo seguro.

Usa scripts y extensiones de forma segura

WinDbg MCP puede ayudarle a crear o modificar scripts de depuración y extensiones de JavaScript de WinDbg. Estas recomendaciones se aplican a todos los scripts y extensiones, tanto si son generados por la inteligencia artificial, desarrollados por el equipo como proporcionados por un proveedor de terceros. Trate el código generado o modificado como el código de cualquier otro origen que no sea de confianza. Revise y apruebelo antes de cargarlo o ejecutarlo, especialmente cuando se depuran entornos de cliente o destinos confidenciales.

Antes de usar cualquier script o extensión, aplique estas recomendaciones:

  1. Revise el código: Revise el código cuando el código fuente esté disponible. De lo contrario, compruebe el publicador, la firma digital, el origen de descarga, la versión, las dependencias y el comportamiento documentado.
  2. Comprenda el límite de confianza: Las extensiones de WinDbg pueden ejecutar código en el proceso del depurador y acceder a los datos de depuración. El modo seguro restringe determinadas operaciones, pero no valida, aísla en un entorno aislado ni establece confianza en una extensión.
  3. Prueba segura: Pruebe con destinos no confidenciales en un entorno aislado. Incluya datos de depurador incorrectos o inesperados, manejo de fallos y uso de recursos en las pruebas.
  4. Use el mínimo de privilegios: Ejecute WinDbg sin privilegios de administrador a menos que el escenario de depuración requiera elevación.
  5. Proteger los datos de los clientes: Confirme que el código no revela memoria, código fuente, símbolos, rutas de acceso de archivo, salida de diagnóstico u otros datos confidenciales a ubicaciones no aprobadas.
  6. Implementación del control: Utilice solo extensiones de orígenes aprobados. En entornos administrados o de producción, use paquetes revisados, firmados y anclados por versiones entregados a través de un canal de implementación aprobado. Revise y pruebe cada actualización antes de la implementación.

No deshabilite el modo seguro únicamente para cargar o ejecutar un script o una extensión. Si una extensión requiere deshabilitar el modo seguro, revise su comportamiento, comprenda qué restricciones quita el cambio y obtenga la aprobación de los revisores de seguridad de la organización. Para obtener más información, consulte Modo seguro.

Protección contra la inyección entre prompts

WinDbg clasifica ciertas operaciones como protegidas. Para una operación protegida, WinDbg usa el servicio de modelo configurado del cliente AI para clasificar la salida del depurador de la operación para ataques de inyección entre prompts (XPIA). WinDbg bloquea la salida que la clasificación identifica como potencialmente no segura.

La protección XPIA depende del muestreo de MCP. El cliente de IA debe admitir y permitir el sampling de MCP para que WinDbg pueda solicitar la clasificación desde el servicio de modelo configurado. Si la clasificación no se puede ejecutar, la operación protegida falla sin devolver la salida.

La opción Habilitar mitigación de inyección de prompts cruzados controla la protección XPIA. Deshabilite esta protección solo en un entorno de confianza, para destinos que apruebe la organización, después de que los revisores de seguridad de la organización aprueben la decisión y otros controles aborden el riesgo de inyección de prompts.

Proporcionar comentarios sobre WinDbg MCP

Los comentarios ayudan a Microsoft a mejorar MCP de WinDbg y priorizar las correcciones y características. Para notificar un error o sugerir una característica, cree una incidencia en el repositorio WinDbg Feedback.

Pasos siguientes