Glossário

O que é XML-RPC?

8 de fevereiro de 2026 Atualizado em 19 de abr. de 2026

XML-RPC é um daqueles recursos do WordPress dos quais a maioria dos proprietários de sites nunca ouviu falar — mas ele tem rodado silenciosamente em segundo plano em quase todas as instalações WordPress por mais de uma década. O arquivo xmlrpc.php fica no diretório raiz e aceita requisições do mundo externo. Originalmente, era a única forma de gerenciar um blog WordPress remotamente. Hoje, é principalmente uma vulnerabilidade de segurança que os atacantes adoram explorar.

O Que o XML-RPC Realmente Faz

XML-RPC significa Extensible Markup Language – Remote Procedure Call. Em termos simples, é uma forma de software externo conversar com seu site WordPress por HTTP. A aplicação externa envia uma requisição XML especialmente formatada para seusite.com/xmlrpc.php, o WordPress a processa e retorna uma resposta XML.

Através dessa interface, clientes remotos podem fazer coisas como:

  • Criar, editar e excluir posts e páginas
  • Fazer upload de imagens e outras mídias
  • Moderar e gerenciar comentários
  • Obter configurações do site e metadados
  • Enviar e receber pingbacks entre blogs

Pense nisso como uma API primitiva — funcional, mas projetada em uma era anterior à popularização das REST APIs.

Um Pouco de História

Em meados dos anos 2000, se você queria escrever um post de blog pelo telefone ou por um aplicativo de desktop como o Windows Live Writer, o XML-RPC era sua única opção. O WordPress adotou a MetaWeblog API e a Blogger API, ambas construídas sobre XML-RPC, para permitir que essas ferramentas se comunicassem com seu site.

Então, em 2016, o WordPress 4.7 foi lançado com a REST API integrada. De repente, havia uma maneira moderna e padronizada de interagir com o WordPress — uma que usa JSON em vez de XML, suporta autenticação adequada e é muito mais fácil de trabalhar. A partir desse ponto, o XML-RPC tornou-se uma relíquia. A maioria dos plugins, aplicativos e integrações modernas usa exclusivamente a REST API.

Por Que o XML-RPC É um Problema de Segurança

O arquivo é acessível publicamente por padrão em todos os sites WordPress. Isso por si só já não é bom, mas os problemas reais vão mais fundo:

  • Amplificação de força bruta — O XML-RPC tem um método chamado system.multicall que permite agrupar centenas de requisições em uma só. Um atacante pode testar 500 combinações de usuário-senha em uma única requisição HTTP. Muitos plugins de proteção de login nem sequer veem isso acontecendo, porque monitoram apenas o wp-login.php.
  • Abuso de pingback — O recurso de pingback pode ser usado como arma para ataques DDoS. Um atacante diz a milhares de sites WordPress para fazer "ping" em um servidor alvo, transformando efetivamente sites inocentes em uma botnet. Isso aconteceu repetidamente em ataques reais.
  • Enumeração de usuários — Mesmo sem credenciais válidas, as respostas do XML-RPC podem confirmar se um nome de usuário existe, dando aos atacantes metade das informações de que precisam.
  • Superfície de ataque desnecessária — Cada endpoint acessível publicamente que aceita autenticação é um ponto de entrada potencial. Se você não está usando o XML-RPC, mantê-lo aberto é como deixar uma porta destrancada por onde ninguém nunca passa.

Quem Realmente Ainda Precisa Dele?

A resposta honesta: quase ninguém. Existem alguns casos extremos:

  • Jetpack costumava depender muito do XML-RPC, mas vem migrando para a REST API. Versões mais recentes do Jetpack funcionam sem ele para a maioria dos recursos.
  • Aplicativos móveis muito antigos — O aplicativo móvel atual do WordPress usa a REST API. Apenas versões desatualizadas anteriores a 2016 ainda precisam do XML-RPC.
  • Ferramentas legadas de terceiros — Algumas receitas antigas do IFTTT ou plataformas de publicação ainda podem usá-lo, mas existem alternativas para todas elas.

Se nenhum destes se aplica a você, não há boa razão para manter o XML-RPC habilitado.

Como Desabilitar o XML-RPC

O método mais rápido é um filtro no functions.php do seu tema ou em um plugin personalizado:

add_filter('xmlrpc_enabled', '__return_false');

Isto desabilita os métodos XML-RPC, mas ainda retorna uma resposta do arquivo. Para bloquear o acesso totalmente no nível do servidor, adicione isto ao seu .htaccess:

<Files xmlrpc.php>
  Require all denied
</Files>

Ou se você estiver no Nginx:

location = /xmlrpc.php {
  deny all;
  return 403;
}

Muitos plugins de segurança (Wordfence, iThemes Security, Sucuri) também oferecem uma opção para desabilitar o XML-RPC com um clique.

Como o InspectWP Ajuda

O InspectWP verifica se o seu endpoint xmlrpc.php é acessível externamente. Se ele responder a requisições, o relatório o sinaliza e explica por que você deve considerar desabilitá-lo — especialmente se o seu site não tiver motivo legítimo para mantê-lo ativo.

Verifique seu site WordPress agora

O InspectWP analisa seu site WordPress em busca de problemas de segurança, problemas de SEO, conformidade com GDPR e desempenho — gratuitamente.

Analise seu site grátis