Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эта статья поможет вам понять, как работает WinDbg MCP, и решить, следует ли использовать его на основе поддержки клиентских приложений, а также с учётом соображений безопасности и конфиденциальности. WinDbg MCP использует протокол MCP для подключения поддерживаемого клиента ИИ к активному сеансу WinDbg, где клиент может использовать средства отладчика и контекст во время анализа.
Это подключение можно использовать для изучения целевого объекта отладки при проверке действий отладчика, инициированных ИИ, в WinDbg. Выводы, созданные искусственным интеллектом, не следует считать авторитетными. Проверьте результаты, доказательства, предположения, целевое состояние и команды по выходным данным в WinDbg.
Как работает WinDbg MCP
WinDbg MCP использует локальный прокси-сервер между клиентом ИИ и сервером MCP в WinDbg. Подключение имеет следующую архитектуру:
На схеме используется компактный ступенчатый макет для отображения двунаправленных соединений. Служба моделей ИИ и клиент ИИ обмениваются запросами и ответами ИИ. Клиент ИИ и DbgX.Mcp.Proxy.exe обмениваются данными по stdio MCP.
DbgX.Mcp.Proxy.exe и сервер WinDbg MCP взаимодействуют через локальный именованный канал для каждого процесса. Сервер WinDbg MCP предоставляет средства, запросы и ресурсы.
Каждый сеанс WinDbg использует локальный именованный канал, отдельный для каждого процесса.
DbgX.Mcp.Proxy.exe взаимодействует с клиентом ИИ через стандартные входные и выходные данные и подключает клиента к одному выбранному сеансу WinDbg.
Клиент ИИ может отправлять контекст отладки в настроенную для него службу модели в рамках запросов и ответов ИИ. Вы сохраняете контроль над сеансом отладки, и вы можете просмотреть действия отладчика, инициированные ИИ, в WinDbg.
Ограничения на поддержку клиентов и сеансы
WinDbg MCP поддерживает следующие клиенты ИИ:
- Visual Studio Code с GitHub Copilot
- GitHub Copilot CLI
Другие клиенты ИИ, совместимые с MCP, могут работать с пользовательской конфигурацией без гарантий, но WinDbg официально не поддерживает их. Используйте пользовательский клиент только после подтверждения того, что его возможности MCP и элементы управления безопасностью соответствуют требованиям вашей организации.
Одновременно к сеансу WinDbg может подключаться только один активный клиент MCP. Отдельные сеансы WinDbg используют отдельные локальные именованные каналы. В ограниченных средах политика организации может скрыть или отключить элементы управления MCP.
Средства и запросы WinDbg MCP
WinDbg MCP предоставляет средства подключения, средства отладчика и встроенные подсказки. Действие Install MCP в WinDbg регистрирует WinDbg в качестве сервера MCP для выбранного ИИ-клиента. После подключения прокси-сервера к сеансу WinDbg клиент ИИ автоматически выбирает соответствующие средства.
Используйте следующие средства подключения для поиска и выбора сеанса WinDbg:
| Инструмент подключения | Purpose |
|---|---|
list_sessions |
Выводит список сеансов WinDbg с активными службами MCP и сообщает, доступен ли каждый сеанс. |
connect_session |
Подключает прокси-сервер к сеансу WinDbg по идентификатору процесса. |
disconnect_session |
Отключает прокси-сервер от текущего сеанса WinDbg. |
После подключения попросите клиента ИИ использовать WinDbg MCP:
- Проверьте целевой объект отладки или управляйте им.
- Выполните команды WinDbg.
- Проверьте диагностику и исходный код.
- Визуализируйте данные отладчика.
- Создайте аналитические скрипты.
Использование встроенных запросов WinDbg MCP
Если клиент ИИ поддерживает промпты MCP, выберите встроенный промпт, чтобы запустить пошаговый процесс отладки с подсказками.
| Встроенный запрос | Purpose |
|---|---|
investigate_symbol_loading_issues |
Диагностируйте проблемы с загрузкой отладочных символов. |
write_extension |
Создайте расширение JavaScript WinDbg. |
create_graph |
Визуализировать данные отладчика в виде графа. |
configure_ttd |
Настройте рабочий процесс Time Travel Debugging. |
Используйте WinDbg MCP для отладки
Следующие запросы предоставляют начальные точки для поддерживаемых сценариев отладки:
| Scenario | Пример запроса |
|---|---|
| Найдите первопричину аварийного дампа | Проанализируйте этот дамп и предоставьте вероятную первопричину, подтверждающие данные и оставшиеся предположения. |
| Исследовать активную цель | Проверьте целевое состояние, прервите при необходимости и проверьте стек вызовов и модули на наличие сигналов сбоя. |
| Исправить символ или загрузку источника | Используйте журналы и журнал команд, чтобы определить, почему символы или исходный код загружаются неправильно, и предложите способ устранения. |
| Анализ трассировки отладки перемещений во времени | Проанализируйте эту трассировку TTD и определите ключевые переходы, доказательства и вероятную точку расхождения. |
| Визуализировать результаты запроса отладчика | Запрашивайте и визуализируйте выходные данные модели данных отладчика в виде дерева, сетки или графа. |
| Автоматизируйте повторяющийся анализ | "Создайте и проверьте скрипт, который автоматизирует этот рабочий процесс анализа". |
Сравните результаты клиента ИИ с целевым состоянием и видимыми выходными данными отладчика, прежде чем предпринимать действия на их основе.
Вопросы безопасности и конфиденциальности WinDbg MCP
Прежде чем использовать WinDbg MCP, оцените целевую систему, её данные, выбранный клиент ИИ и настроенную службу моделей. Примените все приведенные ниже рекомендации.
- Авторизованное использование: Используйте WinDbg MCP только с целевыми объектами и данными, на проверку которых у вас есть разрешение. Следуйте политикам ИИ, безопасности, конфиденциальности и обработки данных вашей организации.
- Данные, отправляемые службам ИИ: Клиент ИИ может отправлять контекст отладчика в настроенный сервис модели. Убедитесь, что ваша организация утверждает целевой ресурс и его данные для использования как с выбранным клиентом, так и со службой модели.
- Журналы диагностики: Журналы диагностики MCP могут содержать команды отладчика и целевые данные. Храните, делитесь и сохраняйте эти журналы в качестве конфиденциальных данных в соответствии с политиками вашей организации.
- Проверка ИИ: Рассматривать выходные данные ИИ как предложение для исследования, а не окончательный результат. Проверьте выходные данные по информации, видимой в WinDbg, прежде чем что-либо предпринимать на их основе.
-
Параметры администратора: Организации могут отключить MCP WinDbg, включив ограниченный режим WinDbg. Администраторы настраивают ограниченный режим, устанавливая
EnableRestrictedModeв значение1. Перезапустите WinDbg после изменения этого параметра. Ограниченный режим влияет на другие функции WinDbg в дополнение к MCP.
Безопасный режим
Безопасный режим ограничивает функциональные возможности отладчика, чтобы снизить риск загрузки или выполнения ненадежного кода, запуска процессов или выполнения небезопасных операций с файлами. Он блокирует команды с высоким риском, такие как .shell. По умолчанию режим безопасности активируется при запуске сервера MCP.
Чтобы настроить, включает ли сервер MCP безопасный режим по умолчанию, в WinDbg выберите Файл>>, а затем выберите или снимите флажок Включить безопасный режим для сервера MCP.
Поведение безопасного режима зависит от того, выбран ли этот параметр и запускается ли служба MCP до или после подключения к целевому объекту:
- Полный безопасный режим: Запустите службу MCP перед подключением к целевому объекту и оставьте выбранным параметр Включать безопасный режим при запуске сервера MCP.
- Частичный безопасный режим: Если вы уже подключены к целевому объекту при запуске службы MCP, WinDbg переходит в частичный безопасный режим и отображает предупреждение. Чтобы использовать полный защищенный режим, перезапустите WinDbg, запустите службу MCP и подключитесь к целевому объекту.
- Без безопасного режима: В диалоговом окне подтверждения снимите флажок Включить безопасный режим при запуске сервера MCP, а затем нажмите кнопку "Да", чтобы подтвердить выбор.
Снятие или установка флажка в диалоговом окне подтверждения также обновляет Файл>Параметры>Параметры службы MCP>Включить безопасный режим для сервера MCP. Поэтому выбор диалогового окна становится значением по умолчанию для будущих запусков MCP.
После активации безопасного режима его нельзя отключить, и он остается активным, пока не перезапустите WinDbg. Остановка службы MCP не приводит к ее отключению. После перезапуска WinDbg снимите флажок "Включать безопасный режим при запуске сервера MCP", если вы хотите использовать MCP без безопасного режима.
Дополнительные сведения см. в разделе Функции безопасного режима.
Предупреждение
Без безопасного режима команды, выполняемые клиентом ИИ, по-прежнему ограничены, но косвенные действия не ограничены. Например, если клиент ИИ задает точку останова, которая выполняет команду, эта команда выполняется с вашими полными правами доступа при срабатывании точки останова.
Отключение защиты от внедрения кросс-запроса не отключает безопасный режим.
Безопасное использование скриптов и расширений
WinDbg MCP поможет вам создавать или изменять сценарии отладки и расширения JavaScript WinDbg. Эти рекомендации применяются ко всем скриптам и расширениям, независимо от того, созданы ли они ИИ, разработаны вашей командой или предоставлены сторонним поставщиком. Относитесь к созданному или измененному коду как к коду из любого другого ненадежного источника. Просмотрите и подтвердите его перед загрузкой или запуском, особенно при отладке клиентских сред или конфиденциальных целевых систем.
Прежде чем использовать любой скрипт или расширение, примените следующие рекомендации:
- Просмотрите код: Просмотрите код, когда доступен исходный код. В противном случае проверьте издателя, цифровую подпись, источник загрузки, версию, зависимости и задокументированное поведение.
- Понимание границы доверия: Расширения WinDbg могут выполнять код в процессе отладчика и получать доступ к данным отладки. Безопасный режим ограничивает определенные операции, но он не проверяет, не изолирует расширение в песочнице и не устанавливает доверие к расширению.
- Тестируйте безопасно: Проводите тестирование с нечувствительными целевыми объектами в изолированной среде. Включите некорректные или непредвиденные данные отладчика, обработку сбоев и использование ресурсов в тестирование.
- Используйте наименьшие привилегии: Запустите WinDbg без прав администратора, если сценарий отладки не требует повышения прав.
- Защита данных клиента: Убедитесь, что код не раскрывает содержимое памяти, исходный код, символы, пути к файлам, диагностические выходные данные или другие конфиденциальные данные в неутвержденных расположениях.
- Управление развертыванием: Используйте только расширения из утвержденных источников. Для управляемых или промышленных сред используйте проверенные, подписанные пакеты с закреплёнными версиями, предоставляемые через утвержденный канал развертывания. Просмотрите и проверьте каждое обновление перед развертыванием.
Не отключайте безопасный режим исключительно для загрузки или запуска скрипта или расширения. Если расширение требует отключения безопасного режима, просмотрите его поведение, поймите, какие ограничения удаляются, и получите одобрение от рецензентов безопасности вашей организации. Дополнительные сведения см. в разделе "Безопасный режим".
Защита от инъекций через кросс-промпт
WinDbg классифицирует определенные операции как защищенные. Для защищенной операции WinDbg использует настроенную службу модели, используемую клиентом ИИ, для классификации выходных данных отладчика операции на предмет атак межзапросной инъекции (XPIA). WinDbg блокирует выходные данные, которые классификация определяет как потенциально небезопасные.
Защита XPIA зависит от дискретизации MCP. Клиент ИИ должен поддерживать и разрешать выборку MCP, чтобы WinDbg мог запрашивать классификацию у настроенной службы моделей. Если классификация не может выполняться, то защищенная операция завершается ошибкой, не возвращая выходные данные.
Параметр «Включить защиту от межконтекстной инъекции в запросы» управляет защитой XPIA. Отключайте эту защиту только в доверенной среде для целевых объектов, утвержденных вашей организацией, после того, как специалисты по безопасности вашей организации одобрят это решение и другие элементы управления устранят риск инъекции промпта.
Оставьте отзыв о WinDbg MCP
Отзывы помогают Microsoft улучшить MCP WinDbg и определить приоритеты исправлений и функций. Чтобы сообщить об ошибке или предложить новую возможность, создайте issue в репозитории отзывов WinDbg.