WP-CLI и Abilities API за Wordfence: управление на сигурността през терминал и AI агенти
В екосистемата на WordPress сигурността често се управлява през UI: пускаш сканиране, гледаш резултати, блокираш IP-та, проверяваш лиценз. Това е окей за един сайт, но при поддръжка на много инсталации или когато работиш предимно по SSH, подходът става бавен и труден за автоматизация.
Появи се нов open-source плъгин, който добавя WP-CLI (командният интерфейс за WordPress) интеграция за Wordfence Security. Интересното е, че е и сред първите, които имплементират новия WordPress Abilities API (въведен в WordPress 6.9) – стандартизиран начин функционалности да се откриват и използват от автоматизации и AI агенти.
Какво реално добавя плъгинът
След инсталация получаваш нов namespace в WP-CLI: wp wfsec. Идеята е да управляваш ключови Wordfence операции без да отваряш админ таблото – сканиране, WAF (Web Application Firewall), управление на инциденти (issues) и базови настройки.
1) Security scanning (сканиране за злонамерен код)
- Стартиране на quick или full malware scan
- Следене на прогреса в реално време
- Преглед на история на сканиранията и детайлни логове
2) Firewall management (управление на WAF/файъруол)
- Блокиране и отблокиране на IP адреси
- Задаване на продължителност на блокировката и причина
- Проверка дали конкретен IP е блокиран
- Включване/изключване на WAF защита
3) Issue tracking (управление на засечени проблеми/заплахи)
- Списък на всички открити security issues
- Филтриране по статус: new, ignored, resolved
- Изтриване или управление на индивидуални заплахи
4) Configuration (настройки и лиценз)
- Get/set на Wordfence настройки
- Проверка на статуса на лиценза
- Export/import на конфигурация
Бързи примери с wp wfsec
Ето базовия тип команди, които можеш да пускаш директно от терминал (локално или по SSH). Това е особено удобно за cron, CI/CD, или когато имаш централизирани скриптове за поддръжка.
# Проверка на общия Wordfence статус
wp wfsec status
# Стартиране на full security scan
wp wfsec scan start --type=full
# Следене на прогреса на сканирането
wp wfsec scan status
# Списък на всички проблеми (issues)
wp wfsec issues ls --status=all
# Блокиране на IP за 24 часа (86400 секунди)
wp wfsec firewall block 192.168.1.100 --duration=86400 --reason="Brute force attempt"
# Проверка на статуса на лиценза
wp wfsec license statusПрактичен детайл за автоматизация: всички команди поддържат --format=json, което ги прави удобни за piping към инструменти, parsing и интеграция в monitoring/ops скриптове.
Къде е голямата новина: WordPress Abilities API (WP 6.9+)
WP-CLI е отличен за хора и скриптове, но Abilities API променя играта за интеграрация с автоматизации и AI агенти. В WordPress 6.9 се появява WordPress Abilities API – стандартизиран интерфейс, чрез който инструменти могат да откриват какво „умее“ даден сайт (или плъгин) и да взаимодействат с него по унифициран, описателен начин.
Този плъгин е сред първите, които го имплементират, като излага Wordfence функционалности като самостоятелни „abilities“ (умения), които могат да бъдат откривани и извиквани от външни инструменти без custom интеграционен код за всеки отделен endpoint.
Седемте core abilities, които плъгинът експонира
- scan-status – връща текущото състояние на сканирането и прогрес
- scan-start – стартира security scan програмно
- issues-list – извлича списък с откритите security issues
- issues-count – връща брой issues по severity
- firewall-status – проверява състоянието на WAF
- firewall-block – блокира IP през API
- license-status – връща информация за лиценза
Практическият ефект: можеш да правиш AI-базирано наблюдение на сигурността, да вкараш Wordfence в собствен dashboard, или да оставиш автоматизации да въртят рутинни проверки. Важното е, че интерфейсът е self-describing и schema-validated – т.е. агент/инструмент може да „разбере“ какво е налично и какви входни/изходни данни се очакват, без ръчно да пишеш интеграция специално за Wordfence.
Автентикация: Application Passwords + Basic Auth
Достъпът до Abilities API в този плъгин е решен през WordPress Application Passwords (вградения механизъм за app-specific пароли) върху Basic Auth. Това е предвидим модел за сървър-сървър интеграции и автоматизации, стига да го прилагаш дисциплинирано (ограничени права, ротация, отделен потребител и т.н.).
Изисквания (преди да го пробваш)
- WordPress 6.9+
- PHP 8.0+
- WP-CLI 2.5+
- Wordfence Security плъгин (free или premium)
Инсталация и сваляне
Най-бързият старт е да свалиш zip-а от release и да го качиш в /wp-content/plugins/, след което да активираш плъгина.
Ако работиш с Bedrock-подобна структура, по описанието на проекта има и вариант за инсталация през Composer.
Какво означава това за екипи, които поддържат много сайтове
Комбинацията от wp wfsec и Abilities API дава два паралелни слоя за управление: човешки удобен CLI за ежедневна поддръжка и стандартизиран API слой за агенти/автоматизации. Ако имаш fleet от WordPress сайтове, това отваря път към по-консистентни процедури: централизирани скриптове за сканиране, автоматично блокиране на IP по правила и регулярни проверки на license/WAF статуса – без нужда да се разчита на ръчно отваряне на админ панела.
Препратки / Източници
Елена Димитрова
Специалист по дигитален маркетинг и анализи. Интересувам се от Google Analytics и вземане на решения, базирани на данни. Измерването е първата стъпка към развитието.
Всички публикации