Blog 24/7

zatruwanie narzędzi

TAB. 1Hasłoobie formy
Po angielskutool poisoning / MCP server risks
Którą formą pisaćobie formy Obie formy są w obiegu. Przy pierwszym wystąpieniu pisz „polski termin (english term)”, dalej sam polski.
Inne formytool poisoning · zatrucie narzędzi · MCP Tool Poisoning
KategoriaBezpieczeństwo AI i modeli językowych

Zatruwanie narzędzi (tool poisoning) to atak na agenta AI przez narzędzia, które zostały do niego podłączone. OWASP definiuje go jako pośredni prompt injection wymierzony w agentów łączących się z zewnętrznymi serwerami narzędzi przez Model Context Protocol (MCP) [1]. Złośliwy albo przejęty serwer ukrywa instrukcje w opisie narzędzia lub w jego odpowiedzi, a model wykonuje je jak polecenia użytkownika. Sekurak wymienia zatruwanie narzędzi jako jeden z nowych wektorów ataku, które otwiera MCP [5].

Jak działa

Klient MCP pobiera od serwera listę narzędzi: nazwę, opis w języku naturalnym i schemat parametrów [3]. Model czyta te opisy, żeby zdecydować, którego narzędzia użyć, a potem dostaje wyniki wywołań do swojego kontekstu [3]. Opis i wynik są więc dla modelu tekstem tej samej rangi co polecenie użytkownika.

Invariant Labs opisało atak 1 kwietnia 2025 roku: złośliwe instrukcje umieszcza się w opisie narzędzia tak, że są niewidoczne dla użytkownika, ale widoczne dla modelu [2]. W przykładzie badaczy niewinne narzędzie do dodawania liczb kazało modelowi odczytać plik konfiguracyjny klienta i prywatny klucz SSH, a potem przekazać ich treść w dodatkowym parametrze wywołania [2]. OWASP zwraca uwagę na drugą lukę: opisy narzędzi są przeglądane raz, przy pierwszym połączeniu, a odpowiedzi trafiają do kontekstu modelu bez takiej kontroli [1]. Przebieg ataku przez opis narzędzia pokazuje schemat poniżej.

RYS. 1Zatruty opis narzędzia MCP

Odmiany

OdmianaGdzie jest instrukcjaOpis
Zatruty opisopis narzędziainstrukcja niewidoczna dla użytkownika [2]
Rug pullopis zmieniony późniejserwer podmienia opis po zatwierdzeniu przez klienta [2]
Shadowingopis innego narzędziazłośliwy serwer zmienia działanie zaufanego narzędzia [2]
Zatruty wynikodpowiedź narzędziawynik miesza prawdziwe dane z poleceniami [1]
Zatruty schematdowolne pole schematukażde pole schematu może być miejscem wstrzyknięcia [5]

W przykładzie shadowingu opisanym przez Invariant Labs złośliwy serwer sprawiał, że zaufane narzędzie do wysyłania poczty kierowało wszystkie wiadomości na adres atakującego [2]. Zatruwania narzędzi nie należy mylić z zatruwaniem danych treningowych: tu model jest nietknięty, a zmienia się tylko to, co czyta w trakcie pracy.

Zagrożenia i skutki

OWASP wymienia jako skutki nieuprawnione użycie narzędzi, eksfiltrację danych i obejście promptu systemowego; agent może wywołać narzędzie z ograniczeniami, odczytać wrażliwe pliki albo wysłać dane na serwer atakującego [1]. Szkody rosną wraz z tym, ile agent może zrobić. OWASP opisuje to jako excessive agency, której źródłem są nadmierna funkcjonalność, nadmierne uprawnienia i nadmierna autonomia [4]. Agent z dostępem do poczty, repozytorium i kluczy staje się narzędziem atakującego, choć nie ma w nim żadnej klasycznej podatności.

Serwery MCP rozprowadza się jak zwykłe pakiety, więc ten sam problem dotyczy łańcucha dostaw. Postmark 25 września 2025 roku ostrzegł przed pakietem postmark-mcp w rejestrze npm, który podszywał się pod firmę [6]. Według Postmarka autor zdobył zaufanie przez 15 wersji, a w wersji 1.0.16 dodał tylną furtkę, która wysyłała ukrytą kopię wszystkich e-maili na zewnętrzny serwer [6]. Firma podała, że nie publikowała wcześniej w npm własnego serwera MCP i nie miała z tym pakietem nic wspólnego [6].

W WordPressie

WordPress sam może być serwerem narzędzi dla agentów. Oficjalny MCP Adapter udostępnia funkcje zarejestrowane przez Abilities API, wprowadzone w WordPressie 6.9, jako narzędzia MCP, które agent AI może wykryć i wywołać [7]. Dokumentacja zaleca, by każda funkcja sprawdzała minimalne potrzebne uprawnienie, na przykład manage_options albo edit_posts, i by nie używać __return_true przy operacjach niszczących, takich jak usuwanie treści [7].

To ważne, bo zatruty agent wykona na stronie wszystko, na co pozwalają jego dane logowania. Dokumentacja radzi utworzyć osobnego użytkownika z ograniczonymi uprawnieniami, udostępniać przez HTTP w internecie głównie funkcje tylko do odczytu i nie dawać potężnych funkcji niezaudytowanym klientom AI [7]. Domyślną metodą uwierzytelniania na własnym serwerze są hasła aplikacji [7], więc zakres szkód wyznaczają role i uprawnienia konta, do którego należą.

Jak się bronić

Część obowiązków spoczywa na autorze serwera. Specyfikacja MCP wymaga, by serwer walidował wszystkie dane wejściowe narzędzi, stosował kontrolę dostępu, ograniczał częstotliwość wywołań i oczyszczał wyniki [3]. Klient powinien z kolei sprawdzać wyniki, zanim przekaże je modelowi, stosować limity czasu i zapisywać użycie narzędzi na potrzeby audytu [3].

Specyfikacja MCP wymaga też, by klient traktował adnotacje narzędzi jako niezaufane, chyba że pochodzą z zaufanych serwerów [3]. Zaleca też, by zawsze był człowiek, który może odmówić wywołania narzędzia, by interfejs pokazywał, jakie narzędzia widzi model, i by przed wywołaniem pokazywać użytkownikowi parametry, co utrudnia wyciek danych [3].

  • Utrzymywać listę dozwolonych serwerów MCP i wymagać potwierdzenia przy operacjach wrażliwych [1].
  • Przypinać wersje narzędzi i pakietów, żeby zmiana opisu po zatwierdzeniu nie przeszła niezauważona [2].
  • Oddzielać narzędzia z uprawnieniami od kontekstu, do którego piszą serwery zewnętrzne, i egzekwować ograniczenia po stronie serwera, a nie w prompcie [1].
  • Ograniczać zestaw narzędzi agenta do minimum i wymagać zgody człowieka na działania o dużym skutku [4]; to zastosowanie zasady najmniejszych uprawnień.
  • Autoryzację wykonywać w systemach docelowych, a nie zostawiać modelowi decyzji, czy działanie jest dozwolone [4].
  • Nie trzymać w zasięgu agenta kluczy i haseł, których nie potrzebuje; zob. zarządzanie sekretami.
TAB. 2

Przypisy

7
  1. [1] MCP Tool Poisoning · OWASP
  2. [2] MCP Security Notification: Tool Poisoning Attacks · Invariant Labs
  3. [3] Model Context Protocol Specification 2025-06-18: Tools · Model Context Protocol
  4. [4] LLM06:2025 Excessive Agency · OWASP Gen AI Security Project
  5. [5] Odkryto szereg nowych podatności na protokół integracji narzędzi AI – Model Context Protocol · Sekurak
  6. [6] Security Alert: Malicious 'postmark-mcp' npm Package Impersonating Postmark · Postmark
  7. [7] From Abilities to AI Agents: Introducing the WordPress MCP Adapter · WordPress Developer Blog
TAB. 3

Hasła w tym artykule

11
TAB. 4

Linkują tutaj

2

Wszystkie kategorie → · Hasło w słowniku →

Blog 24/7
05.11CISA i FBI wzywają do zabezpieczenia sterowników chłodzenia po atakach w Europietherecord.media05.11Midnight Blizzard atakowała iPhone'y i Androidy przez zainfekowane strony w Europie i USAsecurityweek.com05.11APT29 kradła dane z iPhone'ów i Androidów przez przejęte i podrobione stronytherecord.media05.11Grupa APT29 przejęła skrypt Plerdy i atakowała niezałatane iPhone'y i Androidythehackernews.com05.11Microsoft wykrył 7,3 mld wiadomości phishingowych w III kwartale 2026microsoft.com05.11DigiCert ujawnia wyciek danych klientów i skanów dokumentów tożsamościbleepingcomputer.com05.11CWPdoor podmienia serwer cwpsrv w Control Web Panel i otwiera tylne wejście do Linuksableepingcomputer.com05.11Brytyjskie NCSC ostrzega, że narzędzia AI zwiększyły liczbę wykrywanych luk zero-daythehackernews.com05.11Skaner RootEvidence sprawdza starą lukę w Cisco IOS i dodaje nagłówki Opt-Outisc.sans.edu05.11Włamanie do portalu grantowego Norad, zagrożone dane 20 614 użytkownikówhelpnetsecurity.com