Jak wykrywać złośliwe oprogramowanie w WordPressie przy pomocy WP-CLI

WordPress jest jednym z najpopularniejszych systemów CMS na świecie — a to niestety czyni go również częstym celem ataków. Infekcje mogą pojawić się po wgraniu niezaufanych motywów, wtyczek lub przez luki w zabezpieczeniach serwera.
Zamiast jednak ręcznie przeszukiwać pliki, możesz skorzystać z WP-CLI — potężnego narzędzia wiersza poleceń, które pozwala analizować i naprawiać WordPressa szybciej niż przez panel administratora.

W tym poradniku pokażę, jak wykrywać złośliwe pliki, nieautoryzowane zmiany i podejrzany kod w WordPressie za pomocą WP-CLI.


Czym jest WP-CLI?

WP-CLI (WordPress Command Line Interface) to narzędzie umożliwiające zarządzanie stroną WordPress bez użycia przeglądarki — prosto z terminala.
Możesz za jego pomocą:

  • aktualizować wtyczki i motywy,
  • przeszukiwać bazę danych,
  • wykonywać backupy,
  • oraz analizować integralność plików WordPressa.

Działa na większości serwerów z dostępem SSH i obsługą PHP.


Krok 1: Sprawdź, czy WP-CLI jest dostępne

W terminalu wpisz:

wp --info

Jeśli zobaczysz informacje o wersji PHP i WP-CLI, wszystko działa poprawnie.
W przeciwnym razie możesz zainstalować WP-CLI poleceniem:

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
php wp-cli.phar --info
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

Krok 2: Zweryfikuj integralność plików WordPressa

WP-CLI pozwala porównać Twoje pliki z oryginalną wersją WordPressa, aby wykryć zmiany lub nieznane pliki:

wp core verify-checksums

Ten prosty test wykrywa:

  • zmodyfikowane pliki rdzenia WordPressa,
  • brakujące pliki systemowe,
  • dodatkowe (podejrzane) pliki w folderach wp-admin lub wp-includes.

Jeśli wynik zawiera komunikaty typu „File does not verify against checksum”, to znak, że plik został zmieniony — potencjalnie przez malware.


Krok 3: Wyszukiwanie podejrzanych fragmentów kodu

Złośliwe skrypty często zawierają funkcje takie jak base64_decode, eval, exec, system czy shell_exec.
Możesz je wyszukać jednym poleceniem:

grep -r "base64_decode" wp-content/
grep -r "eval(" wp-content/

Lub bezpośrednio w WP-CLI:

wp eval-file <(grep -r "eval(" wp-content/)

Jeżeli znajdziesz wiele takich wystąpień w nieznanych plikach PHP, warto je ręcznie przeanalizować — często są to ukryte backdoory.


Krok 4: Sprawdzenie plików w katalogu uploads

Hakerzy często umieszczają złośliwe skrypty w katalogu wp-content/uploads, gdzie mogą się podszywać pod obrazy lub pliki PDF.
Możesz znaleźć nietypowe rozszerzenia plików:

find wp-content/uploads -type f ! -name "*.jpg" ! -name "*.png" ! -name "*.gif" ! -name "*.webp" ! -name "*.pdf"

Każdy plik .php lub .js w tym folderze powinien wzbudzić Twoją czujność.


Krok 5: Skorzystaj z wtyczki WP-CLI „Doctor”

WP-CLI ma rozszerzenie wp doctor, które automatycznie diagnozuje typowe problemy bezpieczeństwa i konfiguracji.
Zainstaluj je:

wp package install wp-cli/doctor-command

A następnie uruchom:

wp doctor check --group=security

Narzędzie przeanalizuje pliki, uprawnienia, wersje PHP, ustawienia serwera i inne potencjalne ryzyka.


Krok 6: Oczyszczanie po infekcji

Po wykryciu nieprawidłowości:

  1. Usuń lub zastąp zainfekowane pliki oryginalnymi z repozytorium WordPressa.
  2. Zaktualizuj wszystkie motywy i wtyczki.
  3. Wymuś zmianę wszystkich haseł użytkowników.
  4. Zmień klucze bezpieczeństwa w pliku wp-config.php.
  5. Włącz automatyczne aktualizacje bezpieczeństwa:
wp config set WP_AUTO_UPDATE_CORE minor --raw

Podsumowanie

WP-CLI to nie tylko narzędzie administracyjne — to również skuteczny sposób na diagnostykę bezpieczeństwa.
Dzięki prostym komendom możesz wykryć infekcje i anomalie w kodzie znacznie szybciej niż przez panel administratora.

Jeśli korzystasz z WordPressa na serwerze z dostępem SSH, wdrożenie WP-CLI to jeden z najlepszych sposobów na utrzymanie bezpieczeństwa i higieny Twojej strony.

KROK 1 Z 4

Z CZYM POTRZEBUJESZ POMOCY?