WP-CLI e Abilities API no Wordfence: operar segurança no WordPress a partir do terminal (e de agentes de IA)
Para quem administra vários sites WordPress, o wp-admin é ótimo… até deixar de ser. Quando estás a lidar com incidentes, scans recorrentes, regras de firewall e rotinas de hardening, a linha de comando (WP-CLI) e a automação começam a fazer muito mais sentido do que clicar em ecrãs e esperar por respostas.
Saiu um plugin open-source que faz exatamente essa ponte: adiciona suporte de WP-CLI ao Wordfence Security e, de forma ainda mais relevante, já nasce com integração com a nova WordPress Abilities API (introduzida no WordPress 6.9). Na prática, além de poderes gerir segurança pelo terminal, também passas a ter um conjunto de capacidades “descobertas” e consumíveis por ferramentas de automação e agentes de IA através de uma interface padronizada.
O que este plugin adiciona ao teu fluxo de trabalho
O plugin cria um novo namespace de comandos no WP-CLI: wp wfsec. A ideia é simples: expor operações comuns do Wordfence (scans, firewall/WAF, issues e configuração) diretamente por CLI, com saídas adequadas para scripting.
1) Scans de segurança (malware e integridade)
Na parte de scanning, o objetivo é cobrir o ciclo completo: iniciar scans, acompanhar execução e consultar histórico/logs.
- Iniciar scans rápidos ou completos (quick/full).
- Acompanhar o progresso do scan em tempo real.
- Ver histórico de scans e logs detalhados.
2) Gestão de firewall / WAF
Para operações de resposta a incidentes e mitigação rápida, o plugin também expõe ações de firewall. Aqui, WAF é o Web Application Firewall do Wordfence – a camada que ajuda a bloquear tráfego malicioso antes de chegar ao WordPress.
- Bloquear ou desbloquear endereços IP.
- Definir a duração do bloqueio e o motivo (reason).
- Verificar se um IP específico está bloqueado.
- Ativar ou desativar a proteção do WAF.
3) Acompanhamento de issues (alertas/ameaças detetadas)
O Wordfence regista issues (problemas/ameaças) detetados em scans e outras verificações. O namespace wfsec inclui comandos para listar e gerir esses itens – útil tanto para triagem como para limpeza.
- Listar todas as issues detetadas.
- Filtrar por estado (new, ignored, resolved).
- Apagar ou gerir ameaças individuais.
4) Configuração e licenciamento
Também há suporte para mexer em settings e verificar licença, além de suportar exportação/importação de configuração – útil para quem quer alinhar políticas de segurança entre vários sites.
- Ler e alterar definições do Wordfence.
- Verificar o estado da licença.
- Exportar e importar configurações.
Exemplos rápidos com wp wfsec
Os exemplos abaixo dão uma noção clara do que dá para automatizar em Bash, CI/CD, cronjobs ou ferramentas internas.
# Ver estado geral do Wordfence
wp wfsec status
# Iniciar um scan completo
wp wfsec scan start --type=full
# Acompanhar o progresso do scan
wp wfsec scan status
# Listar todas as issues
wp wfsec issues ls --status=all
# Bloquear um IP por 24h (86400 segundos)
wp wfsec firewall block 192.168.1.100 --duration=86400 --reason="Brute force attempt"
# Verificar o estado da licença
wp wfsec license statusTodos os comandos suportam --format=json, o que facilita muito a integração com scripts e pipelines (por exemplo, filtrar resultados com jq, alimentar alertas, ou gerar relatórios).
O diferencial: suporte à WordPress Abilities API (WordPress 6.9+)
A parte mais interessante deste projeto é a implementação da WordPress Abilities API. Esta API foi introduzida no WordPress 6.9 como uma interface padronizada para que ferramentas de automação e agentes de IA consigam descobrir e interagir com funcionalidades do WordPress de forma consistente, sem depender de integrações ad hoc para cada plugin.
Em vez de “inventares” endpoints e contratos para cada cenário, a Abilities API trabalha como uma camada auto-descritiva (self-describing) e validada por esquema (schema-validated), onde um agente pode perceber: que capacidades existem, que entradas aceitam e como chamar cada uma.
As 7 abilities expostas para Wordfence
Este plugin expõe sete abilities centrais, cobrindo o essencial para monitorização e resposta a incidentes:
- scan-status – obter o estado atual do scan e o progresso.
- scan-start – iniciar scans de segurança programaticamente.
- issues-list – recuperar a lista de issues detetadas.
- issues-count – obter contagens de issues por severidade.
- firewall-status – verificar o estado do WAF.
- firewall-block – bloquear IPs via API.
- license-status – consultar informação de licença.
O que isto desbloqueia na prática
Com estas abilities, o Wordfence deixa de ser algo que só “vive” dentro do wp-admin. Passa a ser consumível por automação e por agentes de IA que conseguem descobrir as capacidades expostas e chamar as operações sem código de integração específico para cada endpoint custom.
- Construir monitorização de segurança com apoio de IA (por exemplo, acompanhar scans e interpretar issues).
- Integrar Wordfence em dashboards internos (NOC/observability) sem depender da UI do WordPress.
- Automatizar checks rotineiros (iniciar scans, recolher contagens por severidade, aplicar bloqueios) com base em regras e sinais externos.
Autenticação
A autenticação é feita com WordPress Application Passwords via Basic Auth. Ou seja: usas uma Application Password (senha de aplicação) associada a um utilizador WordPress e autenticas as chamadas com o esquema HTTP Basic.
Requisitos (para evitar surpresas)
Antes de instalar, confirma estes requisitos – são relevantes tanto para o WP-CLI como para a Abilities API:
- WordPress 6.9+
- PHP 8.0+
- WP-CLI 2.5+
- Plugin Wordfence Security (versão gratuita ou premium)
Download e instalação
Podes descarregar a versão mais recente e fazer upload para a pasta de plugins do WordPress (/wp-content/plugins/).
Se estiveres num setup ao estilo Bedrock, também existe a opção de instalar via Composer (conforme indicado no repositório).
Porque isto é relevante para quem mantém WordPress em escala
WP-CLI já é um pilar para operações (deploys, migrações, manutenção). Trazer o Wordfence para esse contexto reduz fricção no dia a dia e melhora tempos de resposta. E a integração com a Abilities API aponta para um próximo passo: segurança “operável” por automação e por agentes, com contratos consistentes e descobríveis no ecossistema WordPress.
Referências / Fontes
Inês Silva
Editora da equipa portuguesa, especialista em SEO e otimização de performance. Core Web Vitals e Lighthouse são os meus favoritos. Sites rápidos, utilizadores felizes.
Todos os postsMais de Inês Silva
WP Media Cleanup (Duplicator): como remover variações de imagens não usadas no WordPress e recuperar espaço em disco
jQuery 4.0.0: o que muda na primeira major em quase 10 anos (e como atualizar com segurança)
Cloaking avançado em WordPress: malware que só “mostra a cara” ao Googlebot com validação por IP (ASN/CIDR)