naprawa-stron.pl Online 24/7 Zgłoś awarię

Gdy zaufana wtyczka staje się wirusem: ataki przez aktualizacje i jak się przed nimi chronić

Autor: Grzegorz Wojterzak. Aktualizacja: 16 listopada 2026. Czas czytania: około 12 minut.

$ diagnoza zainfekowana aktualizacja wtyczki
Typowe objawy
Często żadne. Czasem nowy administrator, nieznany katalog wtyczki na serwerze, spam widoczny tylko dla Google
Najczęstsza przyczyna
Atakujący przejął serwer, klucz lub proces wydawania producenta wtyczki, a nie Twoją stronę
Czas naprawy
Sprawdzenie: godzina. Czyszczenie po infekcji: od kilku godzin do dwóch dni
Czy zrobisz to sam?
Przegląd kont i wtyczek tak. Czyszczenie i zmianę kluczy lepiej zlecić

Szybka odpowiedź

Atak przez łańcuch dostaw (supply chain) to sytuacja, w której złośliwy kod trafia na Twoją stronę oficjalną drogą: w aktualizacji wtyczki albo w skrypcie ładowanym z serwera producenta. W 2026 roku dotknęło to m.in. OptinMonster i TrustPulse, płatnych wtyczek ShapedPlugin i Quick Page/Post Redirect. Jeśli używałeś którejś z nich, sprawdź listę administratorów i porównaj katalog wp-content/plugins na serwerze z listą w panelu. Sama aktualizacja do czystej wersji nie usuwa tego, co złośliwy kod zdążył zainstalować.

Zwykle radzimy: aktualizuj wtyczki, bo stare wersje mają luki. To nadal prawda. Ale w 2026 roku kilka razy zdarzyło się coś odwrotnego: to właśnie aktualizacja albo plik pobierany z serwera producenta przyniosły na strony tylną furtkę. Właściciele tych stron zrobili wszystko jak należy, a i tak zostali zainfekowani.

Poniżej: jak takie ataki działają, jak sprawdzić, czy na stronie zostały ich ślady, i jak zarządzać wtyczkami, żeby następny taki przypadek mniej Cię kosztował. Stan na początek listopada 2026.

Co to jest atak przez łańcuch dostaw

Łańcuch dostaw to wszystko, co stoi między programistą wtyczki a Twoją stroną: komputer autora, serwer, na którym budowane są paczki, serwer aktualizacji, sieć CDN (serwery, które szybko dostarczają pliki na cały świat), klucze dostępu do tych usług. Atakujący nie musi włamywać się do tysięcy stron po kolei. Wystarczy, że przejmie jedno ogniwo, a złośliwy kod rozejdzie się sam, podpisany nazwą zaufanego producenta.

Dla Ciebie oznacza to, że dobre hasła nie chronią przed kodem, który instalujesz sam, z oficjalnego źródła. Taki kod jest przy tym pisany tak, żeby go nie zauważyć: działa tylko dla wybranych osób i ukrywa się z panelu.

Trzy drogi, którymi złośliwy kod trafił na strony WordPress w 2026 roku Trzy wiersze. Pierwszy: atakujący przez lukę na serwerze marketingowym producenta zdobył klucz API sieci CDN i podmienił skrypt JavaScript, który strony ładują na żywo; kod działał, gdy stronę otwierał zalogowany administrator, i zakładał konto oraz ukrytą wtyczkę. Drugi: przejęty proces budowania i dystrybucji płatnych wersji Pro; klienci dostali tylną furtkę w zwykłej aktualizacji. Trzeci: wtyczka z katalogu wordpress.org miała własny mechanizm aktualizacji z serwera autora; podmieniona wersja wyświetlała spam niezalogowanym odwiedzającym. ogniwo przejęte u producenta jak kod dotarł do strony co robił na Twojej stronie Klucz API sieci CDN zdobyty z serwera strony marketingowej producenta OptinMonster, TrustPulse Skrypt JS ładowany na żywo bez żadnej aktualizacji po Twojej stronie 12 czerwca 2026, kilka godzin Tylko przy zalogowanym administratorze: nowe konto admina, ukryta wtyczka z furtką Proces budowania wydań i serwer aktualizacji płatnych wersji Pro ShapedPlugin Pro Zwykła aktualizacja z oficjalnego kanału producenta, z licencją maj–czerwiec 2026 Fałszywa wtyczka: przechwytuje hasła i kody 2FA, kradnie wp-config, dane SMTP i zamówienia Własny serwer autora wtyczka z wordpress.org z ukrytym aktualizatorem Quick Page/Post Redirect Aktualizacja z pominięciem wordpress.org podmieniona wersja 5.2.3 od 2021 roku Tylko dla niezalogowanych: ukryty spam SEO w treści strony, niewidoczny dla właściciela
Trzy różne ogniwa, ten sam efekt: kod przychodzi od kogoś, komu ufasz. W pierwszym przypadku nie było nawet aktualizacji, więc żadne ustawienie aktualizacji by nie pomogło.

Trzy przypadki z 2026 roku

PrzypadekCo się stałoKogo dotyczyłoŚlady do sprawdzenia
OptinMonster i TrustPulse (Awesome Motive), czerwiec 2026Podmieniony plik JavaScript na CDN producentaStrony, na których 12 czerwca w czasie podmiany zalogowany administrator otworzył stronę ze skryptemKonta developer_api1 i dev_ z losową końcówką, katalogi content-delivery-helper i database-optimizer
ShapedPlugin Pro, maj–czerwiec 2026Tylna furtka w płatnych wydaniach Pro z oficjalnego kanału aktualizacji (CVE-2026-10735)Product Slider Pro for WooCommerce 3.5.2, Real Testimonials Pro 3.2.4 i 3.2.5, Smart Post Show Pro 4.0.1Fałszywa wtyczka „WooCommerce Subscription”, obcy kod w functions.php motywu, opcja theme_options_scripts w bazie
Quick Page/Post Redirect, ujawnione w kwietniu 2026Ukryty mechanizm aktualizacji z serwera autora, podmieniona wersja 5.2.3Strony, które miały wersję 5.2.1 lub 5.2.2 (z lat 2020–2021)Wersja 5.2.3 niezgodna z plikami z wordpress.org, spam widoczny tylko dla niezalogowanych

OptinMonster i TrustPulse: skrypt z CDN

Według komunikatu OptinMonster z 14 czerwca 2026 atakujący wykorzystał znaną lukę we wtyczce UpdraftPlus na osobnym serwerze strony marketingowej producenta, znalazł tam klucz API do sieci CDN i podmienił plik JavaScript, który OptinMonster i TrustPulse dostarczają na strony klientów. Według producenta zmieniony plik był serwowany przez kilka godzin 12 czerwca (czasu UTC). Osobny komunikat wydał PushEngage, trzecia usługa tej firmy.

Firma Sansec szacuje, że skrypty tych trzech usług ładuje ponad 1,2 mln stron. To liczba stron narażonych, nie zainfekowanych. Kod uruchamiał się tylko wtedy, gdy stronę otworzył zalogowany administrator, i w jego imieniu zakładał nowe konto administratora, instalował ukrytą wtyczkę z tzw. webshellem (plikiem, przez który włamywacz wydaje serwerowi polecenia) i wysyłał dane do domeny tidio.cc, podszywającej się pod prawdziwą usługę czatu. Producent zastrzega, że nazwy katalogów mogą się zmieniać.

ShapedPlugin Pro: zainfekowane płatne aktualizacje

Wordfence opisał w czerwcu 2026 przejęcie procesu budowania i dystrybucji płatnych wersji wtyczek ShapedPlugin. Klienci z ważną licencją dostali tylną furtkę w zwykłej aktualizacji. Darmowe wersje z wordpress.org nie były zainfekowane. Według zaktualizowanych informacji (The Hacker News, aktualizacja z 7 lipca 2026) czyste wydania to Product Slider Pro for WooCommerce 3.5.3, Smart Post Show Pro 4.0.2 i Real Testimonials Pro 3.2.6. Ważna lekcja: Real Testimonials Pro 3.2.5 najpierw wyszło czyste, a potem paczkę podmieniono pod tym samym numerem. Sam numer wersji nie dowodzi więc, że pliki są czyste.

Dla sklepów to szczególnie groźne: ukryta fałszywa wtyczka „WooCommerce Subscription” przechwytywała hasła i kody logowania dwuetapowego, zbierała wp-config.php (z hasłem do bazy), dane logowania z wtyczek SMTP i zamówienia z trzech miesięcy, a kod dopisany do motywu uruchamiał zawartość zapisaną w bazie.

Quick Page/Post Redirect: aktualizacje obok wordpress.org

Ta wtyczka do przekierowań miała ponad 70 000 instalacji. Według BleepingComputer wersje 5.2.1 i 5.2.2 z lat 2020–2021 zawierały ukryty mechanizm aktualizacji, który pobierał nowe wersje z serwera autora, a nie z wordpress.org. W marcu 2021 strony z tymi wersjami dostały po cichu wersję 5.2.3, różną od tej z katalogu, z kodem wyświetlającym spam niezalogowanym odwiedzającym, czyli także robotom Google. Zespół wordpress.org zamknął wtyczkę 14 kwietnia 2026 z powodu problemu z bezpieczeństwem. Mechanizm aktualizacji zostaje jednak na stronach, które jej nadal używają, więc wtyczkę trzeba usunąć.

Jak sprawdzić, czy Twoja strona ma pozostałości

Zrób te kroki, jeśli używałeś którejś z tych wtyczek. Warto je powtarzać raz na kwartał, bo działają przy każdym podobnym ataku.

  1. Przejrzyj listę administratorów

    W panelu wejdź w Użytkownicy (w wersji angielskiej Users) i kliknij filtr Administrator. Każde konto musisz umieć przypisać do konkretnej osoby. Podejrzane są nazwy w stylu „developer”, „support”, „api”, adresy e-mail w dziwnych domenach i konta, które nigdy nic nie opublikowały.

Lista użytkowników WordPressa z filtrem Administrator: konto developer_api1x7 z adresem w nieznanej domenie w czerwonej ramce
Zrzut ekranuCzerwona ramka: konto developer_api1x7, założone na wzór wskaźników z ataku na OptinMonster (prawdziwe konto nazywało się developer_api1, inne dev_ z losową końcówką). Brak nazwy, zero wpisów, adres w nieznanej domenie. Konta podłożone do przykładu. Testowa instalacja WordPressa 7.1.4 po polsku, dane fikcyjne.
  1. Porównaj listę wtyczek w panelu z katalogiem na serwerze

    Złośliwa wtyczka potrafi usunąć się z listy w panelu. Dlatego otwórz w menedżerze plików hostingu (albo przez FTP) katalog wp-content/plugins i porównaj nazwy folderów z listą w menu Wtyczki. Każdy folder, którego nie ma w panelu, jest podejrzany. Zwróć uwagę na nazwy brzmiące technicznie i niewinnie: „helper”, „optimizer”, „cache”, „delivery”.

Jeśli masz dostęp do terminala, zrób to samo przez WP-CLI, czyli narzędzie do obsługi WordPressa z wiersza poleceń. Poniżej prawdziwy wynik z testowej instalacji, na której na chwilę umieściłem nieszkodliwą wtyczkę „Content Delivery Helper”, ukrywającą się w taki sam sposób jak ta z ataku (usuwa się z listy wtyczek). Pierwsze polecenie jej nie pokazuje, drugie, uruchomione bez wczytywania wtyczek i motywu (--skip-plugins --skip-themes), już tak, a trzecie pokazuje po prostu zawartość katalogu.

$ wp plugin list --fields=name,status,version
name                      status    version
hello                     inactive  1.7.2
woocommerce               active    11.2.1
hyper-engine-kit          must-use  2.1
wp-cache-helper           must-use  1.0
advanced-cache.php        dropin

$ wp plugin list --fields=name,status,version --skip-plugins --skip-themes
name                      status    version
content-delivery-helper   active    2.7.1
hello                     inactive  1.7.2
woocommerce               active    11.2.1
hyper-engine-kit          must-use  2.1
wp-cache-helper           must-use  1.0
advanced-cache.php        dropin

$ ls -1 wp-content/plugins/
content-delivery-helper
hello.php
index.php
woocommerce

Wniosek: wynikom z samego WordPressa, także z WP-CLI, nie ufaj bezgranicznie, bo złośliwy kod działa w tym samym WordPressie. Porównuj z tym, co leży na dysku. Wtyczkę testową potem usunąłem.

  1. Sprawdź wtyczki must-use

    Wtyczki must-use (z katalogu wp-content/mu-plugins) uruchamiają się zawsze, nie da się ich wyłączyć w panelu i nie widać ich na zwykłej liście. W menu Wtyczki pojawia się wtedy zakładka Wymuszane (Must-Use). Wiele stron nie ma tam nic. Jeśli coś jest, musisz wiedzieć, skąd się wzięło (część hostingów i usług cache instaluje tam własne pliki).

Zakładka Wymuszane (Must-Use) na liście wtyczek WordPressa: wtyczka Hyper Engine Kit w czerwonej ramce, pod nią WP Cache Helper
Zrzut ekranuZakładka „Wymuszane”: dwa pliki z wp-content/mu-plugins z opisami udającymi narzędzia do przyspieszania strony. Na testowej instalacji to puste pliki podłożone do przykładu. Testowa instalacja WordPressa 7.1.4 po polsku, dane fikcyjne.
  1. Zajrzyj do motywu i bazy

    Otwórz w menedżerze plików functions.php aktywnego motywu i sprawdź, czy na końcu nie ma kodu, którego nie rozumiesz, zwłaszcza długich ciągów liter i cyfr, base64_decode albo eval. Przy ShapedPlugin szukaj w bazie opcji theme_options_scripts (w phpMyAdmin tabela wp_options, pole option_name; prefiks tabeli może być inny).

  2. Sprawdź zgodność plików z wordpress.org

    Dla wtyczek z katalogu wordpress.org WP-CLI potrafi porównać pliki na serwerze z oryginałem: wp plugin verify-checksums --all. Polecenie zgłosi pliki zmienione lub dopisane. To właśnie taka różnica zdradziła podmienioną wersję Quick Page/Post Redirect. Płatnych wtyczek spoza katalogu w ten sposób nie sprawdzisz; tu pomaga skaner po stronie serwera albo porównanie z czystą paczką pobraną z konta u producenta. Rdzeń WordPressa sprawdzisz poleceniem wp core verify-checksums.

Szerszą listę objawów włamania znajdziesz w poradniku jak sprawdzić, czy strona została zhakowana.

Dlaczego sama aktualizacja nie wystarcza

Czysta wersja od producenta zatrzymuje nowe infekcje, ale nie sprząta stron, na których złośliwy kod już zadziałał. Komunikat OptinMonster mówi wprost: konta i furtka zostają, dopóki właściciel ich nie usunie. Przy ShapedPlugin aktualizacja nie usuwa fałszywej wtyczki, kodu w motywie ani wpisu w bazie.

Nowa wersja nie unieważni też danych, które mogły wyciec: haseł, hasła do bazy, hasła skrzynki SMTP, kluczy API.

Jeśli znalazłeś choć jeden ślad

Traktuj stronę jako przejętą w całości. Usunięcie jednego konta albo jednego folderu nie wystarczy, bo takie ataki zwykle zostawiają kilka furtek naraz.

  1. Zabezpiecz dowody i zrób kopię stanu obecnego

    Kopia plików i bazy „z wirusem” przyda się do ustalenia, co się stało. Trzymaj ją poza serwerem i nie przywracaj jej.

  2. Usuń obce konta, wtyczki i kod

    Usuń nieznanych administratorów (przy usuwaniu WordPress zapyta, komu przypisać ich treści), obce foldery w plugins i mu-plugins, dopisany kod w motywie i podejrzane wpisy w bazie. Zainfekowaną wtyczkę zaktualizuj do czystej wersji albo usuń.

  3. Zmień wszystkie hasła i klucze

    Hasła wszystkich administratorów, hasło do bazy danych (w panelu hostingu i w wp-config.php), klucze bezpieczeństwa i sole w wp-config.php (nowe wygenerujesz na api.wordpress.org/secret-key/1.1/salt/; zmiana wyloguje wszystkich), hasło skrzynki używanej do wysyłki maili, klucze API operatora płatności i innych usług. Przy ShapedPlugin także sekrety logowania dwuetapowego: każdy użytkownik musi skonfigurować 2FA od nowa.

  4. Przeskanuj serwer i sprawdź logi

    Skan po stronie serwera, nie tylko z panelu WordPressa. W logach dostępu szukaj połączeń z dni ataku i nazw wskazanych w komunikacie producenta.

Pełną procedurę czyszczenia opisuję w poradniku wirus na stronie WordPress. Jeśli infekcja wraca po usunięciu, przeczytaj o samoodbudowujących się tylnych furtkach. Osobny przypadek to wyciek kluczy UpdraftCentral, który opisuję w poradniku UpdraftPlus i UpdraftCentral.

Jak się chronić: zasady zarządzania wtyczkami

Ataku na producenta nie zatrzymasz, ale możesz zmniejszyć szansę, że Cię dotknie, i szybciej go zauważyć.

Mniej wtyczek, znane źródła

Każda wtyczka to kolejny producent, któremu ufasz. Raz na kwartał przejrzyj listę i dla każdej wtyczki odpowiedz na pytanie: czy jej potrzebuję i czy ktoś ją jeszcze rozwija? Nieużywane wtyczki usuń, a nie tylko wyłącz. Wyłączona wtyczka nadal leży na serwerze, a jej pliki mogą być dostępne z internetu.

Instaluj wtyczki tylko z wordpress.org albo od producenta, z licencją. Wersje „nulled”, czyli płatne wtyczki rozdawane za darmo na obcych stronach, to najprostszy sposób na wirusa.

Automatyczne aktualizacje: natychmiast czy z opóźnieniem

Czy nie lepiej wstrzymywać aktualizacje o kilka dni, aż ktoś inny wykryje problem? To kompromis między dwoma ryzykami.

Opóźnianie aktualizacji wtyczek: kiedy pomaga, a kiedy szkodzi Oś czasu od wydania nowej wersji wtyczki. Zaznaczone okno opóźnienia o kilka dni. Przy łatce na znaną lukę strona jest podatna przez całe okno opóźnienia, a ataki na znane luki bywają widoczne już po kilku godzinach. Przy zainfekowanej aktualizacji opóźnienie chroni tylko wtedy, gdy infekcję wykryto przed końcem okna; przy OptinMonster stało się to w ciągu godzin, przy ShapedPlugin po tygodniach. Przy skrypcie ładowanym z CDN opóźnienie nic nie daje, bo kod nie przychodzi aktualizacją. okno opóźnienia np. kilka dni Łatka na znaną lukę np. Bricksforge, październik 2026 strona podatna, ataki trwają poprawka zainstalowana Zainfekowana aktualizacja wykryta w ciągu godzin lub dni pomaga: zła wersja wycofana Zainfekowana aktualizacja wykryta po tygodniach nie pomaga infekcja i tak trafia na stronę Skrypt ładowany z CDN opóźnienie nic nie zmienia: kod nie przychodzi aktualizacją wydanie czas
Opóźnienie pomaga tylko w jednym z czterech scenariuszy. Znane luki są atakowane często już po kilku godzinach od ujawnienia, więc dla wtyczek z katalogu wordpress.org szybka aktualizacja zostaje lepszym wyborem.

Moje zalecenie dla małej firmy:

  • Wtyczki z wordpress.org i poprawki bezpieczeństwa: aktualizuj szybko, najlepiej automatycznie. Włączysz to w menu Wtyczki, w kolumnie Automatyczne aktualizacje, osobno dla każdej wtyczki. Od WordPressa 6.6 automatyczna aktualizacja, która wywołała błąd krytyczny, jest cofana.
  • Kilka kluczowych płatnych wtyczek (kasa, płatności, kreator strony): aktualizuj świadomie, w ciągu kilku dni, najpierw na kopii testowej, po przeczytaniu listy zmian. Jeśli producent oznacza wydanie jako poprawkę bezpieczeństwa, nie czekaj.
  • Niezależnie od trybu: kopie zapasowe z kilku dni wstecz, monitoring kont i plików. To one sprawią, że zainfekowaną aktualizację wykryjesz w godzinę, a nie po miesiącu.
Lista wtyczek WordPressa z kolumną Automatyczne aktualizacje w czerwonej ramce i linkami Włącz automatyczne aktualizacje
Zrzut ekranuKolumna „Automatyczne aktualizacje” (czerwona ramka): tu włączasz i wyłączasz automatyczne aktualizacje dla każdej wtyczki osobno. Płatne wtyczki z własnym systemem aktualizacji mogą mieć to ustawienie gdzie indziej albo wcale. Testowa instalacja WordPressa 7.1.4 po polsku, dane fikcyjne.

Monitoring plików i kont

Monitoring integralności plików porównuje pliki na serwerze ze znanym stanem i alarmuje przy każdej zmianie. Oferują go wtyczki bezpieczeństwa i część hostingów. Mail „nowy folder w wp-content/plugins” albo „dodano administratora” sprawia, że ataki z tego artykułu przestają być niewidzialne. Najlepiej, gdy alarm przychodzi spoza samej strony, bo złośliwy kod może wyłączyć wtyczkę bezpieczeństwa.

Klucze API usług zewnętrznych

Przypadek OptinMonster zaczął się od klucza API zostawionego na serwerze. Ty też masz takie klucze: do Cloudflare, operatora płatności, poczty, hurtowni. Zasady:

  • Twórz klucze z najmniejszymi potrzebnymi uprawnieniami (np. token Cloudflare tylko do czyszczenia cache, nie do całego konta).
  • Trzymaj klucze w menedżerze haseł, nie w mailach ani plikach na serwerze.
  • Gdy kończysz współpracę z wykonawcą albo usługą, unieważnij klucze, z których korzystali.
  • Po każdym podejrzeniu włamania wymieniaj klucze, nie tylko hasła.
Typowy scenariusz

Właścicielka sklepu dostaje od producenta płatnej wtyczki maila o zainfekowanym wydaniu. Aktualizacja zajmuje minutę, ale przegląd serwera pokazuje folder wtyczki, której nie ma w panelu, i obcy kod na końcu functions.php. Lista administratorów jest czysta, bo ten wariant zbierał hasła zamiast zakładać konta. Po usunięciu furtek zmieniane są wszystkie hasła, sole, hasło skrzynki do wysyłki maili i klucze operatora płatności, a pracownicy konfigurują 2FA od nowa. Od tego czasu sklep ma powiadomienia o nowych plikach i kontach.

Kiedy nie robić tego samemu

Przegląd kont, wtyczek i ustawień aktualizacji zrobisz sam. Pomoc przyda się, gdy:

  • znalazłeś na serwerze folder, plik albo konto, którego nie umiesz wyjaśnić,
  • prowadzisz sklep, a zainfekowana wtyczka mogła mieć dostęp do zamówień, haseł lub danych SMTP,
  • po czyszczeniu coś wraca albo strona zachowuje się inaczej dla Google niż dla Ciebie,
  • chcesz, żeby ktoś na stałe pilnował aktualizacji, kopii i zmian w plikach.

Podejrzewasz zainfekowaną wtyczkę?

Sprawdzę serwer pod kątem ukrytych wtyczek, kont i kodu w motywie i bazie, usunę wszystkie furtki i przeprowadzę zmianę haseł i kluczy. Odwirusowanie: 499 zł netto, reakcja 24/7, 30 dni gwarancji czystości. Na stałe: Abonament Care za 199 zł netto miesięcznie z aktualizacjami, codziennymi kopiami, monitoringiem i cotygodniowym skanem bezpieczeństwa.

Najczęstsze pytania

Czy wtyczki z katalogu wordpress.org są bezpieczne?

Są bezpieczniejsze od plików z przypadkowych stron, bo katalog ma zespół przeglądu i potrafi zamknąć wtyczkę albo wymusić poprawkę. Nie dają jednak pełnej gwarancji: przypadek Quick Page/Post Redirect pokazał, że wtyczka z katalogu może mieć własny mechanizm aktualizacji z pominięciem wordpress.org.

Czy wyłączyć automatyczne aktualizacje wtyczek, skoro mogą przynieść wirusa?

Na ogół nie. Znane luki w wtyczkach są atakowane znacznie częściej niż zdarzają się zainfekowane aktualizacje, a wyłączenie aktualizacji zostawia stronę podatną. Rozsądniejszy jest mały zestaw wtyczek, szybkie aktualizacje dla wtyczek z katalogu i świadoma decyzja dla kilku płatnych wtyczek, połączona z monitoringiem plików i kont.

Zaktualizowałem wtyczkę do wersji z poprawką. Czy to wystarczy?

Nie, jeśli zainfekowana wersja zdążyła zadziałać. Aktualizacja podmienia pliki samej wtyczki, ale nie usuwa kont administratorów, ukrytych wtyczek, kodu dopisanego do motywu ani wpisów w bazie, które złośliwy kod założył wcześniej. Trzeba je znaleźć i usunąć osobno, a potem zmienić hasła i klucze.

Skąd mam wiedzieć, że moja wtyczka miała zainfekowane wydanie?

Z komunikatów producenta, z serwisów firm zajmujących się bezpieczeństwem WordPressa oraz z powiadomień wtyczki bezpieczeństwa lub hostingu. Warto zapisać się na listę mailową producenta każdej płatnej wtyczki, bo to on pierwszy informuje klientów.

Czy ukryta wtyczka może nie pokazywać się w panelu WordPressa?

Tak. Złośliwa wtyczka może usunąć się z listy w panelu, a nawet z wyniku polecenia wp plugin list. Dlatego listę z panelu trzeba porównać z zawartością katalogów wp-content/plugins i wp-content/mu-plugins na serwerze, oglądaną w menedżerze plików hostingu albo przez SSH.

Grzegorz Wojterzak naprawia strony internetowe po awariach i włamaniach: WordPress, WooCommerce, PHP i Node.js. Od ponad dekady pracuje przy stronach i sklepach internetowych polskich firm.