O repositório oficial de plugins do WordPress.org é uma das maiores fontes de extensões da internet, com milhares de ferramentas que estendem a funcionalidade da plataforma mais popular do mundo. Com grande poder, no entanto, vem grande responsabilidade e, em 2025, o WordPress deu um passo firme na direção da segurança ao atualizar suas políticas para submissão de plugins.
A partir de agora, todas as submissões de novos plugins passam por validações automáticas rigorosas, com foco especial em prevenir execuções perigosas de código dinâmico, como o uso das funções eval()
e base64_decode()
. Estas mudanças elevam o padrão de segurança para desenvolvedores e visam proteger milhões de sites contra vulnerabilidades e códigos maliciosos.
Neste artigo completo, o Blog Dolutech explica as novas diretrizes, os motivos técnicos por trás delas e como os desenvolvedores devem se adaptar. Também discutimos o impacto positivo dessa medida para a comunidade WordPress e para a segurança digital como um todo.
O Que Mudou nas Políticas de Submissão de Plugins
Com a nova política em vigor, o WordPress.org agora realiza validações automatizadas no momento da submissão de plugins ao repositório. A verificação utiliza uma série de regras estáticas para detectar padrões de código considerados perigosos ou propensos a abuso.
Entre as novas exigências, destacam-se:
- Bloqueio automático de submissões que contenham as funções
eval()
oubase64_decode()
sem uma justificativa técnica aceita. - Rejeição de plugins que usem chamadas a funções PHP inseguras, obfuscação de código ou manipulação dinâmica não documentada.
- Obrigatoriedade de explicações claras na submissão do plugin, caso seja necessário o uso de alguma função crítica.
- Adoção de ferramentas de linting e análise estática padronizadas antes da publicação.
Por Que eval()
e base64_decode()
São Perigosas
eval()
A função eval()
executa código PHP contido em uma string. Embora útil em alguns casos extremos, é amplamente considerada insegura porque:
- Pode permitir a execução arbitrária de código malicioso, especialmente se receber entradas externas.
- É usada frequentemente por plugins maliciosos para esconder backdoors e cargas dinâmicas.
- Dificulta a análise de segurança e a leitura do código.
base64_decode()
Esta função decodifica dados codificados em Base64. Ela não é maliciosa por si só, mas seu uso em conjunto com eval() ou como meio de ocultar trechos de código é uma tática comum de obfuscação, dificultando a detecção de malware.
Em auditorias de segurança, a presença dessas funções é um sinal de alerta, e a decisão do WordPress.org de tratá-las com rigor é um movimento esperado e bem-vindo.
Como os Desenvolvedores Devem se Adaptar
A Dolutech recomenda que todos os desenvolvedores que pretendem publicar ou atualizar plugins no repositório WordPress.org:
1. Evitem funções inseguras
Substitua usos de eval()
por alternativas mais seguras. Na maioria dos casos, essa função é usada para resolver problemas que podem ser tratados com chamadas de função ou lógica condicional.
2. Justifiquem usos críticos
Se o uso de base64_decode()
ou funções similares for absolutamente necessário (por exemplo, para interoperabilidade com APIs que exigem esse formato), explique claramente no campo de descrição da submissão e documente bem no código.
3. Apliquem boas práticas de segurança
- Sanitização e validação de entradas de usuários
- Escapamento de saídas
- Uso de nonces e verificações de permissão nas ações do usuário
- Separação de lógica de negócios da lógica de exibição
4. Utilizem ferramentas de linting e análise estática
Ferramentas como PHP_CodeSniffer, PHPStan, e o plugin checker da própria equipe WordPress podem ajudar a identificar problemas antes da submissão.
Impacto para a Comunidade WordPress
Essa nova política representa um marco positivo na maturidade do ecossistema WordPress, com benefícios concretos para toda a comunidade:
Mais segurança para os usuários
Sites que usam plugins do repositório oficial estarão mais protegidos contra vulnerabilidades causadas por códigos inseguros ou ocultos.
Redução de backdoors e códigos maliciosos
A verificação automatizada dificultará que desenvolvedores mal-intencionados publiquem plugins com código obfuscado ou dinâmico nocivo.
Transparência e confiança
O repositório de plugins se fortalece como um ambiente confiável, favorecendo quem realmente desenvolve com responsabilidade.
Exemplos de Boas Práticas Alternativas
Uso comum | Alternativa segura |
---|---|
eval($code) | call_user_func() ou include() com validação |
base64_decode($string) sem validação | Evite ou utilize com validação rígida do conteúdo |
Obfuscação com gzuncompress() + base64_decode() | Escreva código claro e documentado |
Carregamento dinâmico sem validação | Sempre sanitize entradas antes de execução |
Recomendações da Dolutech para Desenvolvedores
- Sempre escreva código limpo, comentado e verificável
- Evite atalhos que comprometam a segurança, mesmo que economizem tempo
- Participe de fóruns e canais oficiais para se manter atualizado com as diretrizes
- Considere auditorias de código antes da submissão
- Use ferramentas automatizadas de segurança e validação em seu fluxo de desenvolvimento
Conclusão
A atualização nas políticas de submissão de plugins do WordPress.org é uma medida essencial para proteger o ecossistema da plataforma, especialmente em um cenário onde milhões de sites dependem de plugins para sua funcionalidade.
A decisão de bloquear automaticamente funções como eval()
e base64_decode()
sem justificativa técnica reforça o compromisso da equipe WordPress com a segurança, a transparência e a qualidade do repositório.
A Dolutech apoia totalmente essa evolução e incentiva todos os desenvolvedores a adotarem práticas seguras, éticas e responsáveis na produção de soluções para o ecossistema WordPress.
Amante por tecnologia Especialista em Cibersegurança e Big Data, Formado em Administração de Infraestrutura de Redes, Pós-Graduado em Ciências de Dados e Big Data Analytics e Machine Learning, Com MBA em Segurança da Informação, Escritor do livro ” Cibersegurança: Protegendo a sua Reputação Digital”.