Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł pomaga zrozumieć, jak działa program WinDbg MCP, i zdecydować, czy używać go w oparciu o wsparcie klienta oraz zagadnienia dotyczące zabezpieczeń i prywatności. WinDbg MCP używa protokołu MCP (Model Context Protocol) do łączenia obsługiwanego klienta sztucznej inteligencji z aktywną sesją WinDbg, gdzie klient może używać narzędzi debugera i kontekstu podczas analizy.
To połączenie służy do badania obiektu docelowego debugowania podczas przeglądania akcji debugera zainicjowanego przez sztuczną inteligencję w usłudze WinDbg. Wyniki generowane przez sztuczną inteligencję nie są autorytatywne. Zweryfikuj wyniki, dane potwierdzające, założenia, stan docelowy i polecenia względem danych wyjściowych w usłudze WinDbg.
Jak działa program WinDbg MCP
WinDbg MCP używa lokalnego serwera proxy między klientem sztucznej inteligencji a serwerem MCP w WinDbg. Połączenie ma następującą architekturę:
Diagram używa kompaktowego układu schodkowego do pokazywania połączeń dwukierunkowych. Usługa modelu AI i klient AI wymieniają żądania i odpowiedzi AI. Klient sztucznej inteligencji i DbgX.Mcp.Proxy.exe komunikują się za pośrednictwem stdio MCP.
DbgX.Mcp.Proxy.exe a serwer WinDbg MCP komunikuje się za pośrednictwem lokalnego nazwanego potoku dla każdego procesu. Serwer MCP WinDbg udostępnia narzędzia, monity i zasoby.
Każda sesja WinDbg używa lokalnego nazwanego potoku dla każdego procesu.
DbgX.Mcp.Proxy.exe komunikuje się z klientem sztucznej inteligencji za pośrednictwem standardowych danych wejściowych i wyjściowych i łączy klienta z jedną wybraną sesją WinDbg.
Klient sztucznej inteligencji może wysyłać kontekst debugowania do skonfigurowanej usługi modelowej w ramach żądań i odpowiedzi sztucznej inteligencji. Nadal masz kontrolę nad sesją debugowania i możesz przejrzeć akcje debugera inicjowane przez sztuczną inteligencję w usłudze WinDbg.
Obsługa klienta i limity sesji
WinDbg MCP obsługuje następujące klienty AI:
- Program Visual Studio Code z rozwiązaniem GitHub Copilot
- interfejs wiersza polecenia GitHub Copilot
Inni klienci AI zgodni ze standardem MCP mogą działać przy użyciu konfiguracji niestandardowej, bez żadnych gwarancji, ale WinDbg nie obsługuje ich oficjalnie. Użyj niestandardowego klienta dopiero po potwierdzeniu, że jego możliwości MCP i mechanizmy zabezpieczeń spełniają wymagania organizacji.
Tylko jeden aktywny klient MCP może łączyć się z sesją WinDbg naraz. Oddzielne sesje WinDbg używają oddzielnych lokalnych nazwanych potoków. W środowiskach z ograniczeniami zasady organizacyjne mogą ukrywać lub wyłączać kontrolki MCP.
Narzędzia i monity MCP WinDbg
WinDbg MCP udostępnia narzędzia połączenia, narzędzia debugera i wbudowane monity. Akcja Install MCP w programie WinDbg rejestruje WinDbg jako serwer MCP dla wybranego klienta AI. Po nawiązaniu połączenia serwera proxy z sesją WinDbg klient sztucznej inteligencji automatycznie wybiera odpowiednie narzędzia.
Użyj następujących narzędzi połączenia, aby znaleźć i wybrać sesję WinDbg:
| Narzędzie do połączeń | Purpose |
|---|---|
list_sessions |
Wyświetla listę sesji WinDbg z aktywnymi usługami MCP i raportuje, czy każda sesja jest dostępna. |
connect_session |
Łączy serwer proxy z sesją WinDbg według identyfikatora procesu. |
disconnect_session |
Odłącza serwer proxy od bieżącej sesji WinDbg. |
Po nawiązaniu połączenia poproś klienta AI o użycie narzędzia WinDbg MCP do:
- Sprawdź lub kontroluj obiekt docelowy debugowania.
- Uruchom polecenia WinDbg.
- Przejrzyj diagnostykę i kod źródłowy.
- Wizualizuj dane debugera.
- Utwórz skrypty analityczne.
Użyj wbudowanych monitów MCP WinDbg
Jeśli klient SI obsługuje prompty MCP, wybierz wbudowany prompt, aby rozpocząć prowadzony proces debugowania.
| Wbudowana podpowiedź | Purpose |
|---|---|
investigate_symbol_loading_issues |
Diagnozuj problemy z ładowaniem symboli. |
write_extension |
Utwórz rozszerzenie JavaScript windbg. |
create_graph |
Wizualizuj dane debugera jako graf. |
configure_ttd |
Skonfiguruj przepływ pracy debugowania w czasie. |
Użyj WinDbg MCP do debugowania
Poniższe prompty stanowią punkty wyjścia dla obsługiwanych scenariuszy debugowania:
| Scenario | Przykładowy monit |
|---|---|
| Znajdź główną przyczynę zrzutu awaryjnego pamięci | Przeanalizuj ten zrzut i podaj prawdopodobną główną przyczynę, dowody potwierdzające i pozostałe założenia. |
| Zbadaj aktywny cel | "Sprawdź stan docelowy, przerwij w razie potrzeby i sprawdź stos wywołań i moduły pod kątem sygnałów błędów." |
| Napraw symbol lub ładowanie źródła | Użyj dzienników i historii poleceń, aby określić, dlaczego symbole lub źródło nie są ładowane poprawnie, i zasugeruj poprawkę. |
| Analiza śladu debugowania podróży w czasie | "Przeanalizuj ten ślad TTD i zidentyfikuj kluczowe przejścia, dowody i prawdopodobny punkt rozbieżności". |
| Wizualizacja wyników zapytania debugera | Wykonaj zapytanie i zwizualizuj dane wyjściowe tego modelu danych debugera jako drzewo, siatkę lub graf. |
| Automatyzować powtarzalną analizę | "Utwórz i zweryfikuj skrypt, który automatyzuje ten przepływ pracy analizy". |
Porównaj wyniki klienta sztucznej inteligencji ze stanem docelowym i widocznymi danymi wyjściowymi debugera, zanim podejmiesz działania na ich podstawie.
Zagadnienia dotyczące zabezpieczeń i prywatności w usłudze WinDbg MCP
Przed użyciem narzędzia WinDbg MCP należy ocenić obiekt docelowy, jego dane, wybranego klienta sztucznej inteligencji i skonfigurowaną usługę modelu. Zastosuj wszystkie poniższe wskazówki:
- Autoryzowane użycie: Użyj narzędzia WinDbg MCP tylko z obiektami docelowymi i danymi, do których masz uprawnienia do inspekcji. Postępuj zgodnie z zasadami organizacji dotyczącymi sztucznej inteligencji, zabezpieczeń, prywatności i obsługi danych.
- Dane wysyłane do usług sztucznej inteligencji: Klient sztucznej inteligencji może wysyłać kontekst debugera do skonfigurowanej usługi modelu. Upewnij się, że organizacja zatwierdza obiekt docelowy i jego dane do użycia zarówno z wybranym klientem, jak i usługą modelu.
- Dzienniki diagnostyczne: Dzienniki diagnostyczne mcP mogą zawierać polecenia debugera i dane docelowe. Przechowuj, udostępniaj i zachowuj te dzienniki jako dane poufne zgodnie z zasadami organizacji.
- Walidacja sztucznej inteligencji: Traktuj dane wyjściowe sztucznej inteligencji jako punkt wyjścia do zbadania, a nie ostateczny wynik. Przed podjęciem działań na jego podstawie sprawdź dane wyjściowe względem informacji widocznych w usłudze WinDbg.
-
Ustawienia administratora: Organizacje mogą wyłączyć usługę WinDbg MCP, włączając tryb ograniczonego dostępu WinDbg. Administratorzy konfigurują tryb ograniczony, ustawiając
EnableRestrictedModena1. Uruchom ponownie WinDbg po zmianie tego ustawienia. Tryb ograniczony ma wpływ na inne funkcje WinDbg oprócz MCP.
Tryb bezpieczny
Tryb bezpieczny ogranicza funkcjonalność debugera, aby zmniejszyć ryzyko ładowania lub wykonywania niezaufanego kodu, uruchamiania procesów lub wykonywania niebezpiecznych operacji na plikach. Blokuje polecenia wysokiego ryzyka, takie jak .shell. Domyślnie tryb bezpieczny jest aktywowany, gdy serwer MCP się uruchamia.
Aby skonfigurować, czy serwer MCP domyślnie włącza tryb bezpieczny, w programie WinDbg wybierz pozycję Plik>Ustawienia>ustawienia usługi MCP, a następnie zaznacz lub wyczyść opcję Włącz tryb bezpieczny dla serwera MCP.
Zachowanie trybu bezpiecznego zależy od tego, czy wybrano ustawienie i czy uruchamiasz usługę MCP przed nawiązaniem połączenia z celem, czy po nim:
- Pełny tryb bezpieczny: Uruchom usługę MCP przed nawiązaniem połączenia z elementem docelowym i pozostaw opcję Włącz tryb bezpieczny po uruchomieniu serwera MCP.
- Tryb częściowo bezpieczny: Jeśli użytkownik jest już połączony z elementem docelowym, gdy uruchamiasz usługę MCP, WinDbg przechodzi w tryb częściowo bezpieczny i wyświetla ostrzeżenie. Aby uzyskać pełny tryb zabezpieczony, uruchom ponownie WinDbg, uruchom usługę MCP, a następnie połącz się z elementem docelowym.
- Bez trybu bezpiecznego: W oknie dialogowym potwierdzenia wyczyść zaznaczenie pola Włącz tryb bezpieczny po uruchomieniu serwera MCP, a następnie wybierz pozycję Tak, aby potwierdzić wybór.
Wyczyszczenie lub zaznaczenie pola wyboru w oknie dialogowym potwierdzenia aktualizuje również Plik>Ustawienia>ustawienia usługi MCP>Włącz tryb bezpieczny dla serwera MCP. Wybór okna dialogowego staje się zatem domyślnym ustawieniem dla przyszłych uruchomień MCP.
Po aktywowaniu trybu bezpiecznego nie można go wyłączyć i pozostaje aktywny do momentu ponownego uruchomienia programu WinDbg. Zatrzymanie usługi MCP nie powoduje jej wyłączenia. Po ponownym uruchomieniu WinDbg wyczyść zaznaczenie pola Włącz tryb bezpieczny, gdy serwer MCP zostanie uruchomiony, jeśli chcesz używać protokołu MCP bez trybu bezpiecznego.
Aby uzyskać więcej informacji, zobacz Funkcje trybu bezpiecznego.
Warning
Bez trybu secure polecenia uruchamiane bezpośrednio przez klienta sztucznej inteligencji są nadal ograniczone, ale akcje pośrednie nie są ograniczone. Jeśli na przykład klient sztucznej inteligencji ustawia punkt przerwania, który uruchamia polecenie, to polecenie jest uruchamiane z pełnymi uprawnieniami, gdy wykonanie zatrzyma się na punkcie przerwania.
Wyłączenie ochrony przed atakiem wstrzykiwania między promptami nie powoduje wyłączenia trybu bezpiecznego.
Bezpieczne używanie skryptów i rozszerzeń
WinDbg MCP może pomóc w tworzeniu lub modyfikowaniu skryptów debugowania i rozszerzeń Języka JavaScript WinDbg. Te zalecenia dotyczą wszystkich skryptów i rozszerzeń, niezależnie od tego, czy są generowane przez sztuczną inteligencję, opracowywane przez zespół, czy udostępniane przez innego dostawcę. Traktuj wygenerowany lub zmodyfikowany kod jak kod z dowolnego innego niezaufanego źródła. Przejrzyj i zatwierdź go przed załadowaniem lub uruchomieniem, szczególnie podczas debugowania środowisk klienta lub poufnych obiektów docelowych.
Przed użyciem dowolnego skryptu lub rozszerzenia zastosuj następujące zalecenia:
- Przejrzyj kod: Przejrzyj kod, gdy źródło jest dostępne. W przeciwnym razie sprawdź wydawcę, podpis cyfrowy, źródło pobierania, wersję, zależności i udokumentowane zachowanie.
- Poznaj granicę zaufania: Rozszerzenia WinDbg mogą uruchamiać kod w procesie debugera i uzyskiwać dostęp do danych debugowania. Tryb bezpieczny ogranicza niektóre operacje, ale nie weryfikuje, nie izoluje ani nie ustanawia zaufania do rozszerzenia.
- Bezpieczne testowanie: Przetestuj z niewrażliwymi celami w izolowanym środowisku. Uwzględnij źle sformułowane lub nieoczekiwane dane debugera, obsługę niepowodzeń i użycie zasobów w testach.
- Użyj najniższych uprawnień: Uruchom windbg bez uprawnień administratora, chyba że scenariusz debugowania wymaga podniesienia uprawnień.
- Ochrona danych klientów: Upewnij się, że kod nie ujawnia pamięci, kodu źródłowego, symboli, ścieżek plików, danych wyjściowych diagnostycznych ani innych poufnych danych do niezatwierdzonych lokalizacji.
- Kontrolowanie wdrożenia: Używaj tylko rozszerzeń z zatwierdzonych źródeł. W przypadku środowisk zarządzanych lub produkcyjnych użyj zweryfikowanych, podpisanych, przypiętych do wersji pakietów dostarczanych za pośrednictwem zatwierdzonego kanału wdrażania. Przejrzyj i przetestuj każdą aktualizację przed wdrożeniem.
Nie wyłączaj trybu bezpiecznego wyłącznie do ładowania ani uruchamiania skryptu lub rozszerzenia. Jeśli rozszerzenie wymaga wyłączenia trybu bezpiecznego, zapoznaj się z jego działaniem, dowiedz się, jakie ograniczenia ta zmiana znosi, i uzyskaj zatwierdzenie od recenzentów zabezpieczeń w swojej organizacji. Aby uzyskać więcej informacji, zobacz Tryb bezpieczny.
Ochrona przed wstrzyknięciem między promptami
WinDbg klasyfikuje niektóre operacje jako chronione. W przypadku operacji chronionej usługa WinDbg używa skonfigurowanej usługi modelu klienta sztucznej inteligencji do klasyfikowania danych wyjściowych debugera operacji pod kątem ataków polegających na wstrzyknięciu między promptami (XPIA). Usługa WinDbg blokuje dane wyjściowe, które klasyfikacja identyfikuje jako potencjalnie niebezpieczne.
Ochrona XPIA zależy od próbkowania MCP. Klient AI musi obsługiwać i zezwalać na próbkowanie MCP, aby WinDbg mógł żądać klasyfikacji ze skonfigurowanej usługi modelu. Jeśli klasyfikacja nie może zostać uruchomiona, operacja chroniona zakończy się niepowodzeniem bez zwracania danych wyjściowych.
Ustawienie Włącz ograniczanie ryzyka iniekcji między monitami kontroluje ochronę XPIA. Wyłącz tę ochronę tylko w zaufanym środowisku, w odniesieniu do systemów zatwierdzonych przez organizację, po zatwierdzeniu tej decyzji przez specjalistów ds. bezpieczeństwa w organizacji oraz gdy inne mechanizmy kontrolne ograniczają ryzyko wstrzyknięcia do promptu.
Prześlij opinię na temat programu WinDbg MCP
Twoja opinia pomaga firmie Microsoft ulepszać program WinDbg MCP i określać priorytety poprawek i funkcji. Aby zgłosić usterkę lub zasugerować funkcję, utwórz zgłoszenie w repozytorium opinii WinDbg.