Powrót do blogaBezpieczeństwo AI

Bezpieczeństwo serwerów MCP 2026: 8 000 wystawionych, 492 bez uwierzytelniania

Ponad 8 000 serwerów Model Context Protocol jest publicznie dostępnych. 492 nie ma żadnego uwierzytelniania. 36,7% jest podatnych na SSRF. Jak chronić dane osobowe w narzędziach MCP.

March 16, 20267 min czytania
MCP serverModel Context ProtocolAI securityPII protectionCursorClaude Desktopdeveloper security

Ekosystem MCP rozrósł się szybko — bezpieczeństwo nie nadążyło

Model Context Protocol zadebiutował pod koniec 2024 roku. W niecałe 18 miesięcy stał się standardowym sposobem łączenia narzędzi AI z zewnętrznymi systemami. Do marca 2026 roku ekosystem obejmuje konektory baz danych, serwery plików, mosty GitHub, klientów Slack, narzędzia e-mail i setki serwerów dziedzinowych.

Krzywa wzrostu jest stroma. Bezpieczeństwo — nie.

Według stanu na marzec 2026 roku ponad 8 000 serwerów MCP jest dostępnych w publicznym internecie. Badacze wykryli 492 bez żadnego uwierzytelniania — bez klucza API, bez OAuth, bez filtra IP. Może je wywołać dowolny klient HTTP. 36,7% przebadanych serwerów jest podatnych na SSRF (Server-Side Request Forgery). Oznacza to, że atakujący kontrolujący dane wejściowe narzędzia może dotrzeć do zasobów sieci wewnętrznej.

W tym samym okresie w ciągu 60 dni zgłoszono ponad 30 CVE. Tempo to pokazuje zarówno nowość ekosystemu, jak i zainteresowanie badaczy.

Dlaczego protokół stwarza ryzyko dla danych osobowych

MCP daje asystentom AI możliwość działania na danych. To też powód, dla którego stanowi ryzyko dla danych osobowych.

Kiedy programista używa Cursora lub Claude Desktop z konektorem bazy danych, AI pisze SQL na podstawie tekstu w języku naturalnym. Zapytania te zwracają prawdziwe rekordy — imiona i nazwiska, adresy e-mail, dane płatności lub inne dane osobowe. Dane przepływają przez łańcuch:

  1. Serwer bazy danych → okno kontekstu asystenta AI
  2. Okno kontekstu → systemy logowania dostawcy modelu
  3. Historia konwersacji → lokalny komputer programisty
  4. Sesje debugowania → inne narzędzia AI, gdy programista wkleja kontekst

Żaden z tych kroków nie jest naruszeniem. Tak właśnie działa system. Jednak dane osobowe trafiają do wielu miejsc nieprzystosowanych do ich przechowywania, często bez szyfrowania między serwerem a klientem AI.

CVE-2026-25253 (CVSS 8,8), opublikowana w lutym 2026 roku, pokazała jeden ze scenariuszy ataku. Złośliwy endpoint mógł wstrzykiwać ukryte instrukcje do swoich odpowiedzi. Instrukcje te nakazywały podłączonemu AI pobieranie danych z innych aktywnych narzędzi. Programista korzystający ze złego endpointu społecznościowego obok własnego konektora bazy danych mógł doprowadzić do wycieku całej bazy.

492 serwery bez uwierzytelniania

492 otwarte serwery to inny problem niż CVE-2026-25253. Nie zostały zhakowane. Zostały źle skonfigurowane.

Większość miała działać lokalnie. Ktoś wystawił je przez przekierowanie portów lub wdrożenie w chmurze bez kontroli dostępu.

Co te serwery często ujawniają:

  • Narzędzia do obsługi systemu plików z dostępem do folderów domowych
  • Konektory baz danych z aktywnymi danymi uwierzytelniającymi w konfiguracji
  • Narzędzia e-mail podpięte do prawdziwych skrzynek odbiorczych
  • Narzędzia do wykonywania kodu — dowolny kod, bez uwierzytelniania, bez ograniczeń

Programiści prawie na pewno nie zamierzali ich eksponować. Jednak Cursor i Claude Desktop łączą się z dowolnym URL wpisanym w konfiguracji. Nie ma wbudowanego sprawdzenia, czy host jest lokalny czy publiczny.

Rozwiązanie MCP od anonym.legal

Strukturalną odpowiedzią na ryzyko danych osobowych w potokach narzędzi jest anonimizacja danych zanim trafią do jakiegokolwiek wywołania wysyłającego je do modelu LLM. Właśnie to zapewnia serwer MCP anonym.legal.

Udostępnia 7 narzędzi:

NarzędziePrzeznaczenie
analyze_textWykrywa encje danych osobowych i zwraca ich pozycje oraz typy
anonymize_textUsuwa lub pseudonimizuje wykryte dane osobowe
deanonymize_textOdwraca pseudonimizację przy użyciu klucza szyfrowania
anonymize_batchPrzetwarza wiele tekstów w jednym wywołaniu
get_supported_entitiesZwraca listę wszystkich ponad 285 typów encji dla danego języka
get_supported_languagesZwraca listę wszystkich 48 obsługiwanych języków
health_checkWeryfikuje łączność

Kiedy asystent AI ma skonfigurowany zarówno serwer anonym.legal, jak i konektor bazy danych, programista może wydać polecenie: „Przed wyświetleniem jakichkolwiek danych klientów wywołaj anonymize_text na wyniku”. AI zajmuje się orkiestracją. Dane osobowe nigdy nie trafiają do widocznego wyjścia ani historii konwersacji w postaci umożliwiającej identyfikację.

Konfiguracja Cursor IDE

Aby dodać serwer anonym.legal do Cursora:

// .cursor/mcp.json
{
  "mcpServers": {
    "anonym-legal": {
      "url": "https://anonym.legal/mcp",
      "transport": "sse",
      "headers": {
        "Authorization": "Bearer TWÓJ_KLUCZ_API"
      }
    }
  }
}

Po skonfigurowaniu zapytaj Cursora: „Przeanalizuj to zgłoszenie do wsparcia pod kątem danych osobowych, zanim wkleję je do trackera”. Cursor wywoła analyze_text, zwróci listę encji, a Ty zdecydujesz, czy anonimizować przed wklejeniem.

Konfiguracja Claude Desktop

// claude_desktop_config.json
{
  "mcpServers": {
    "anonym-legal": {
      "command": "npx",
      "args": ["-y", "@anonym-legal/mcp-server"],
      "env": {
        "ANONYM_API_KEY": "TWÓJ_KLUCZ_API"
      }
    }
  }
}

Z tą konfiguracją Claude Desktop może anonimizować dowolny tekst przed umieszczeniem go w wywołaniach narzędzi wysyłanych do innych serwerów. Anonimizacja odbywa się w Twojej sesji. Dane osobowe w postaci umożliwiającej identyfikację nigdy nie trafiają na serwery Anthropica.

Wzmocnienie konfiguracji

Poza korzystaniem z anonym.legal zastosuj poniższe kroki. Zapoznaj się też z naszym omówieniem bezpieczeństwa i centrum zgodności.

Przeprowadź audyt listy narzędzi. Sprawdź każdy wpis w konfiguracji. Dla każdego zapytaj: czy ufasz operatorowi? Czy wiesz, do jakich danych ma dostęp?

Preferuj lokalne zamiast zdalnych. Lokalne serwery działają przez stdio. Nie tworzą ekspozycji sieciowej. Używaj serwerów zdalnych tylko wtedy, gdy nie istnieje opcja lokalna.

Sprawdź uwierzytelnianie. Każdy zdalny serwer powinien wymagać klucza API lub tokenu OAuth. Jeśli tego nie wymaga — nie używaj go z prawdziwymi danymi użytkowników.

Oddziel środowisko deweloperskie od produkcji. Utrzymuj oddzielne konfiguracje dla pracy deweloperskiej (dane testowe, bez danych osobowych) i dla przepływów dotykających prawdziwych użytkowników.

Włącz logowanie audytowe. Jeśli serwer obsługuje logi — włącz je. Wiedz, jakie dane przeszły przez każde wywołanie.

Zapoznaj się z naszą stroną funkcji MCP, aby zobaczyć pełną listę typów encji i języków.

Ponad 30 CVE w 60 dni pokazuje, że protokół jest pod aktywną obserwacją badaczy. Nowe błędy będą się pojawiać. Jednak podstawowa obrona — anonimizuj zanim dane trafią do jakiegokolwiek wywołania LLM — działa przeciwko każdemu konkretnemu CVE, który pojawi się w przyszłości.

Skonfiguruj serwer anonym.legal w Cursorze →


anonym.legal przetwarza anonimizację danych osobowych po stronie serwera przy użyciu Twojego klucza szyfrowania. Pseudonimizowane dane są odwracalne wyłącznie za pomocą tego klucza. Opublikowane przez anonym.legal, certyfikat ISO 27001.

Źródła

  • Dane ekspozycji serwerów MCP z Shodana, marzec 2026 — ponad 8 000 serwerów, 492 bez uwierzytelniania
  • CVE-2026-25253, CVSS 8,8, wstrzykiwanie między serwerami przez Model Context Protocol
  • Dane SSRF: skan bezpieczeństwa publicznie dostępnych endpointów, marzec 2026
  • Specyfikacja Anthropic MCP v1.2, sekcja dotycząca bezpieczeństwa

Gotowy, aby chronić swoje dane?

Rozpocznij anonimizację PII z 285+ typami podmiotów w 48 językach.

About this page

We update this page when our platform or the law changes.

Read our founder note for how we work.

Each change shows up in the timestamp at the top.

Related reading

We follow these rules

  • GDPR (EU 2016/679).
  • ISO/IEC 27001:2022.
  • NIS2 (EU 2022/2555).
  • HIPAA safe harbor under 45 CFR § 164.514(b)(2).

Our promise

We do not sell your data.

We do not train models on your text.

We store your files in Germany.

You can delete your account at any time.

You own your work.

Where we run

Our servers live in Falkenstein, Germany.

We use Hetzner. They hold ISO 27001 certification.

All data stays in the EU.

Backups run every day.

Need help?

Email support@anonym.legal.

We reply within one business day.

How we test

We run a full check suite on every release.

Each surface gets its own sweep script and report.

Human reviewers spot-check the output each week.

We track recall and precision on a labelled set.

Bad runs block the deploy.

What we never do

  • We never sell your information to third parties.
  • We never train models on what you upload.
  • We never keep your work after you delete it.
  • We never share keys with any outside firm.
  • We never run ads inside the product.

Plans in plain words

We sell credits, not seats.

One credit covers one short job.

Long jobs use a few credits each.

You can top up at any time.

Unused credits roll over each month.

Read the plans page for current rates.

Who built this

A small team of engineers and lawyers built this.

We ship from Europe and work in the open.

Our founder note spells out why we started.

Where to start

How the parts fit

A browser add-on cleans text inside Chrome.

A Word plug-in handles drafts in Office.

A small desktop tool works on whole folders.

An agent protocol link feeds large models safely.

All four share one core engine and one rule set.

Words from our team

We started this work after a lunch about cookies.

One friend kept getting odd ads on her phone.

We asked why a court file leaked through a draft.

We sketched the first build on a napkin that week.

By month three we had a tiny demo for a friend.

She used it on her first case the next day.

Common questions we hear

Can the tool read scanned PDFs? Yes, with OCR.

Does it work on long files? Yes, in small chunks.

Can I roll my own rule set? Yes, save it as a preset.

Does it run offline? The desktop build runs offline.

Do you keep my files? No, the cloud build wipes after each run.

Will it learn from my work? No, we never train on inputs.

A short tour of the workflow

Upload a file or paste a snippet of prose.

Pick the entities you want gone from the draft.

Choose a method: replace, mask, hash, encrypt, or redact.

Press run and watch the side panel show each hit.

Skim the result and tweak any rule that misfired.

Save the cleaned file or send it to a teammate.