Как проверить тему и плагины WordPress на безопасность: сервисы и инструменты

Как проверить тему и плагины WordPress на безопасность: сервисы и инструменты

Как проверить тему и плагины WordPress на безопасность: сервисы и инструменты

Каждая третья атака на WordPress-сайты начинается через уязвимую или заражённую тему/плагин. По данным Sucuri, около 74% взломов WordPress приходятся именно на сторонние расширения. При этом официально купленная тема — не гарантия чистоты, а скачанная с «варезника» — почти гарантия проблемы.

Ниже — рабочий набор сервисов и плагинов, которыми можно проверить любой zip-архив темы или плагина до установки на сайт.

Зачем проверять

Вредоносный код в темах и плагинах может:

  • Отправлять данные вашего сайта (включая доступы из wp-config.php) на сторонний сервер;
  • Встраивать скрытые ссылки — SEO-спам, ссылки на казино, фарму, не пахнущий легально контент;
  • Создавать бэкдоры — точки входа, через которые злоумышленник позже зайдёт на сайт без пароля;
  • Подменять платёжные формы — особенно опасно для WooCommerce-магазинов, скиммеры крадут данные карт;
  • Рассылать спам через ваш сервер, из-за чего хостинг заблокирует аккаунт.

Онлайн-сервисы (проверка без установки на сайт)

VirusTotal

Бесплатный сервис от Google. Загружаете zip-архив темы или плагина — и более 70 антивирусных движков проверяют его одновременно. Можно также проверить URL сайта, если подозреваете заражение уже после установки.

  • Как использовать: заходите на www.virustotal.comvirustotal.com, выбираете вкладку «File», загружаете архив. Результат — через несколько секунд. Если хоть один движок находит угрозу, увидите название и тип. 
  • Ограничение: проверяет только загруженные файлы, не сканирует сайт целиком. Не найдёт заражение, которое уже встроено в базу данных.

Sucuri SiteCheck

Бесплатный онлайн-сканер от Sucuri. Проверяет сайт по URL: ищет вредоносный код, скрытые редиректы, фишинг, проверяет наличие в чёрных списках Google, Norton, McAfee и др. Также определяет устаревшие версии WordPress и плагинов.

  • Как использовать: заходите на sitecheck.sucuri.net, вводите URL. Результат — список найденных проблем, внешних ссылок и скриптов. 
  • Ограничение: сканирует только то, что видно из браузера (клиентская часть). Серверные бэкдоры в PHP-файлах не найдёт.

Quttera

Сканер, специализирующийся на веб-малвари. Есть и онлайн-версия, и плагин для WordPress. Обнаруживает обфусцированный JavaScript, скрытые iframe, инъекции PHP-кода, SEO-спам, скиммеры для checkout-страниц WooCommerce.

  • Как использовать: онлайн — на quttera.com. Плагин — из репозитория WordPress.org (ищите «Quttera ThreatSign»). Бесплатная версия включает сканирование по запросу и проверку по 40+ чёрным спискам.
  • Особенность: использует эвристический анализ — находит не только известные сигнатуры, но и подозрительные паттерны, которых ещё нет в базах.

WPScan

База данных уязвимостей WordPress — более 79 000 записей по ядру, плагинам и темам. Есть онлайн-сканер и CLI-инструмент для сервера.

  • Как использовать: на wpscan.com введите URL сайта — получите отчёт по известным уязвимостям. Бесплатно — до 25 проверок в день. Также есть плагин Jetpack Protect, который использует базу WPScan и бесплатно уведомляет об уязвимостях.
  • CLI-вариант для продвинутых: wpscan --url https://example.com --enumerate vp,vt,u — проверит плагины, темы и пользователей.

Hacker Target

Бесплатный сканер, заточенный под WordPress. Проверяет версии ядра, плагинов и тем, ищет устаревшие компоненты и проблемы с безопасностью.

  • Как использовать: на hackertarget.com введите URL. Базовая проверка бесплатна.

Плагины для WordPress (проверка уже установленного)

Wordfence Security

Самый популярный плагин безопасности для WordPress. Сканер сравнивает файлы ядра, тем и плагинов с оригиналами из репозитория WordPress.org, проверяет по базе из 44 000+ сигнатур малвари, ищет бэкдоры, трояны, зашифрованные вставки, фишинговые ссылки. Также включает брандмауэр (WAF), который блокирует атаки ещё до загрузки ядра.

  • Бесплатно: сканирование, брандмауэр с обновлениями сигнатур раз в сутки, защита от брутфорса.
  • Премиум: обновления сигнатур в реальном времени, двухфакторная аутентификация, проверка репутации IP. 

Sucuri Security

Плагин от одноимённой компании. Проверяет целостность файлов, отслеживает изменения, проверяет сайт на наличие в чёрных списках. Менее тяжёлый, чем Wordfence — хорошо подходит, если хостинг слабый.

  • Бесплатно: мониторинг целостности файлов, проверки чёрных списков, уведомления о безопасности, усиление защиты (hardening). 

Theme Authenticity Checker (TAC)

Старый, но рабочий плагин, который сканирует все файлы активной темы на наличие обфусцированного кода, скрытых ссылок и подозрительных вставок. Показывает конкретный файл и номер строки, где найдена проблема.

  • Как использовать: установите из репозитория WordPress.org, затем Appearance → TAC. Результат — список найденных угроз по каждой теме. 
  • Важно: плагин давно не обновлялся, но базовые проверки (поиск eval, base64_decode, скрытых ссылок) всё ещё выполняет. Для свежих версий WordPress может работать нестабильно — проверяйте на стендe.

NinjaScanner

Лёгкий и быстрый сканер, работает в фоне. Сравнивает файлы с оригиналами, проверяет базу данных на изменения, использует сигнатуры Linux Malware Detect и ClamAV. Есть карантин и sandbox — перед удалением файла проверяет, не сломает ли это сайт.

  • Бесплатно: сканирование по запросу, проверка целостности файлов, проверка по Google Safe Browsing.
  • Премиум: scheduled-сканирование, WP-CLI. 

Anti-Malware Security and Brute-Force Firewall

Специализируется на поиске скрытых вирусов и бэкдоров в темах и плагинах. Автоматически обновляет антивирусные базы. Также добавляет защиту от brute-force и DDoS.

Ручная проверка кода

Если нет доверия ни к одному плагину — открывайте файлы темы/плагина в текстовом редакторе и ищите:

  • eval( — выполнение произвольного PHP-кода;
  • base64_decode( — декодирование зашифрованных строк (часто скрывает малварь);
  • gzinflate(, gzuncompress( — распаковка сжатого кода;
  • str_rot13( — простая обфускация;
  • file_get_contents('http://...') или curl_init('http://...') — загрузка кода с внешних ресурсов;
  • Длинные бессмысленные строки — признак обфусцированного кода;
  • Скрытые iframe: <iframe style="display:none" src="...">;
  • Неожиданные wp_remote_post или wp_mail — отправка данных на сторонний сервер.

Особое внимание — файлам functions.php, header.php, footer.php и wp-config.php (если модифицировали). По статистике Sucuri, чаще всего заражают именно PHP-файлы (92% случаев), реже — JavaScript (5%) и CSS (3%).

Проверка на хостинге

Многие хостинг-провайдеры предлагают встроенную проверку:

  • Ai-bolit — антивирус от Revisium, доступен на многих российских хостингах (Beget, Timeweb, ispmanager-панели). Сканирует все файлы аккаунта, ищет веб-шеллы, бэкдоры, спам-скрипты.
  • ImunifyAV — антивирус для серверов cPanel/ispmanager, автоматически сканирует файлы на наличие известных угроз.
  • Dr.Web для серверов — интегрированное решение, сканирует PHP, JS, HTML и системные файлы.

Чек-лист: порядок проверки

  1. До установки: загрузите zip-архив на VirusTotal. Если хотя бы 2–3 движка нашли угрозу — не ставьте.
  2. До установки (дополнительно): откройте functions.php в редакторе, поищите eval, base64_decode, скрытые ссылки.
  3. После установки: поставьте Wordfence и запустите полное сканирование. Оно сравнит файлы с оригиналами из репозитория.
  4. После установки (URL-проверка): прогоните сайт через Sucuri SiteCheck — убедитесь, что нет скрытых редиректов и сайт не в чёрных списках.
  5. Регулярно: раз в неделю запускайте сканирование Wordfence. Раз в месяц — Sucuri SiteCheck. Для активных сайтов с оплатой — чаще.

Что делать, если нашли заражение

  1. Включите режим обслуживания, чтобы пользователи не видели заражённый сайт.
  2. Сделайте бэкап текущего состояния (да, заражённого — чтобы ничего не потерять при очистке).
  3. Удалите заражённую тему/плагин, замените на оригинал из официального источника.
  4. Очистите кэш всех плагинов и сервера.
  5. Обновите WordPress, все плагины и темы до последних версий.
  6. Смените все пароли: админка, FTP, база данных, хостинг.
  7. Проверьте wp-config.php на наличие внедрённого кода.
  8. Проверьте сайт в Google Search Console на предупреждения о безопасности.

Наши каналы