EmDash – o sucessor espiritual do WordPress que resolveu o problema de segurança de plugins
(blog.cloudflare.com)- EmDash, desenvolvido pela Cloudflare, é um CMS open source redesenhado com TypeScript e arquitetura serverless para superar as limitações estruturais do WordPress
- Cada plugin é executado em um ambiente de sandbox isolado, bloqueando na raiz as vulnerabilidades de plugins que respondiam por 96% dos problemas de segurança em sites WordPress
- Com o padrão de pagamento x402 embutido, oferece pagamento sob demanda (pay-per-use) por unidade de conteúdo, criando uma estrutura de monetização adequada à era do tráfego web baseado em IA
- Com uma arquitetura serverless baseada em Cloudflare Workers, escala automaticamente para cima e para baixo conforme as requisições, alcançando ao mesmo tempo redução de custos e alto desempenho
- Integra recursos modernos como gerenciamento de agentes de IA, autenticação com Passkey e estrutura de temas com Astro, herdando o espírito do WordPress, mas reconstruído de forma totalmente nova
Visão geral do EmDash
- EmDash é um CMS open source redesenhado para resolver as limitações estruturais do WordPress, adotando uma base totalmente em TypeScript e uma arquitetura serverless
- É compatível com as funções centrais do WordPress, mas não usa o código existente, o que permite distribuição sob licença MIT
- Usa Dynamic Worker do Cloudflare Workers para executar cada plugin em um ambiente isolado (isolate) independente
- Baseado no framework Astro, oferece desempenho otimizado para sites centrados em conteúdo
- O EmDash está disponível publicamente no GitHub e pode ser implantado diretamente em uma conta Cloudflare ou em um servidor Node.js
- Melhora de forma estrutural problemas que o WordPress não resolveu, como segurança de plugins, eliminação de dependência de marketplace, gestão baseada em IA e suporte a pagamentos x402
Conquistas e limitações do WordPress
- O WordPress é um caso emblemático de sucesso open source que impulsionou a democratização da publicação, operando mais de 40% da internet
- No entanto, passados 24 anos, o ambiente de hospedagem e os paradigmas de desenvolvimento mudaram bastante
- No início era preciso alugar um VPS, mas hoje é possível implantar apenas enviando um bundle JavaScript para uma rede distribuída globalmente
- O EmDash herda o espírito do WordPress, mas foi reconstruído para atender às exigências modernas de infraestrutura web e segurança
Resolvendo o problema de segurança dos plugins do WordPress
- 96% dos problemas de segurança em sites WordPress vêm de plugins
- Plugins são scripts PHP com acesso direto ao banco de dados e ao sistema de arquivos
- Ao serem instalados, recebem praticamente todas as permissões, sem isolamento nem restrição de privilégios
- O EmDash executa cada plugin em um ambiente de sandbox baseado em Dynamic Worker
- O plugin solicita apenas as capabilities necessárias por meio de uma declaração explícita (manifest)
- Ex.:
read:content,email:sende outras permissões estritamente necessárias - O acesso à rede também fica limitado aos hosts declarados
- Antes da instalação, é possível verificar claramente quais permissões o plugin solicita, oferecendo uma estrutura transparente de concessão de permissões semelhante ao OAuth
- Administradores podem automatizar políticas de instalação com base nas permissões solicitadas
Segurança de plugins e fim da dependência de marketplace
- O WordPress.org opera um processo de revisão manual por causa dos problemas de segurança de plugins, com uma fila de mais de 800 itens
- Restrições da licença GPL limitam a reutilização de código e a comercialização
- O EmDash elimina o lock-in de mercado com duas melhorias estruturais
- Liberdade de licença para plugins: como não compartilha código com o EmDash, o desenvolvedor pode escolher a licença que quiser
- Execução em sandbox segura: o site pode confiar no plugin sem precisar ver diretamente seu código
- Como os plugins executam apenas as capabilities declaradas, é possível avaliar com granularidade os riscos de segurança
- Essa estrutura leva à redução da dependência de marketplaces centralizados
- Com um modelo de segurança confiável, desenvolvedores e usuários podem expandir o ecossistema com liberdade
Padrão de pagamento x402 embutido — cobrando pelo acesso ao conteúdo
- O EmDash oferece suporte nativo ao padrão x402, permitindo pagamento sob demanda por meio da resposta HTTP 402 Payment Required
- O usuário pode pagar por conteúdo individual (pay-per-use) sem precisar de assinatura
- O operador do site pode monetizar apenas definindo o endereço da carteira e o preço
- Isso oferece um novo modelo de negócios voltado para a era do tráfego web guiado por agentes de IA
- Todos os sites EmDash passam a ter uma estrutura de monetização embutida adequada à era da IA
Escalabilidade serverless e redução de custos
- O WordPress exige provisionamento de servidores, gerando custos com recursos ociosos
- O EmDash usa uma arquitetura de v8 isolate baseada em Cloudflare workerd
- Cria instâncias imediatamente sob demanda e, sem requisições, faz scale-to-zero automático
- Cobra apenas pelo tempo de uso de CPU
- Com o Cloudflare for Platforms, é possível escalar automaticamente para milhões de instâncias
- Sua estrutura de baixo custo e alto desempenho é vantajosa para lidar com tráfego em larga escala e oferecer camada gratuita
Estrutura moderna de temas com Astro
- Os temas do EmDash são compostos como um projeto Astro e incluem os seguintes elementos
- Pages: rotas para renderização de conteúdo
- Layouts: estrutura HTML comum
- Components: elementos de UI reutilizáveis
- Styles: configuração de CSS ou Tailwind
- Arquivos Seed: definição dos tipos de conteúdo que o CMS vai gerar
- O Astro é um framework popular incluído em dados de treinamento de LLMs, o que o torna amigável para desenvolvedores
- Diferentemente da estrutura baseada em
functions.phpdos temas WordPress, os temas do EmDash não podem acessar o banco de dados, reforçando a segurança
CMS nativo para IA — MCP, CLI e Agent Skills
- O EmDash foi projetado como um CMS que agentes de IA podem administrar diretamente
- Automatiza tarefas repetitivas como migração de conteúdo e conversão de campos
-
Agent Skills
- Instâncias do EmDash incluem Agent Skills que fornecem à IA informações sobre estrutura de plugins, hooks e formas de portar temas
- A IA pode entender a codebase do EmDash e fazer customizações automáticas
-
EmDash CLI
- Pela CLI, é possível executar funções de administração como busca de conteúdo, upload de mídia e criação de schema
- É possível controlar tanto instâncias locais quanto remotas
-
Servidor MCP embutido
- Cada instância fornece seu próprio servidor Model Context Protocol
- É possível executar remotamente todas as ações disponíveis na UI de administração
Autenticação com passkey e gestão de papéis
- O EmDash usa autenticação com Passkey por padrão
- Evita vazamento de senhas e ataques de força bruta
- Também oferece suporte nativo a controle de acesso baseado em papéis (RBAC)
- Diferencia permissões por papéis como administrador, editor, autor e colaborador
- A autenticação pode ser estendida via plugins, com suporte a integração de metadados de SSO e IdP
Migração de sites WordPress
- Sites WordPress existentes podem ser migrados por exportação de arquivo WXR ou pelo plugin EmDash Exporter
- O plugin Exporter cria um endpoint dedicado protegido por WordPress Application Password
- Migra automaticamente conteúdo e mídia para a biblioteca do EmDash
- O EmDash oferece suporte a uma estrutura de conteúdo baseada em schema
- Converte os Custom Post Types do WordPress em coleções independentes no EmDash
- Com o Block Kit Agent Skill, também é possível criar blocos personalizados com IA
Teste e participação
- O EmDash está atualmente em versão preview v0.1.0 e pode ser baixado no repositório do GitHub
- É possível experimentar diretamente a UI de administração no EmDash Playground
- Comando de instalação local:
npm create emdash@latest - Também é possível fazer deploy pelo dashboard da Cloudflare
- Feedback e contribuições da comunidade WordPress, plataformas de hospedagem e desenvolvedores de plugins e temas são bem-vindos
5 comentários
Eu também lembro de ter achado estranho quando apareceram URLs esquisitas nas ferramentas para webmasters.
"um método estranho de registrar no Google páginas que não existem no meu ambiente local usando tags"como isso funciona exatamente??Tem como bloquear isso?
Também existe spam que registra como backlink, em posts de outros blogs, URLs de resultados de busca que pesquisam frases de spam;
no fim, seja o que for, acaba tendo que apagar tudo manualmente...
Normalmente, a invasão acontece usando plugins/temas com vulnerabilidades relacionadas a upload de arquivos.
Quando conseguem entrar assim, inserem conteúdo em tag/category etc. sem que o dono original do blog perceba.
Na prática, isso não aparece de jeito nenhum na página do blog, então você nem percebe, mas eles usam um método que renderiza essa URL para ficar visível apenas para o bot do Google. ( É o caso de coisas como BabaYaga. )
Depois que a invasão acontece, na prática não encontrei outra solução além de fazer tudo que entra por esses endereços retornar 410 Gone. No servidor, deixo tudo que for endereço desnecessário marcado como 410, e preciso pedir manualmente no Search Console, por 6 meses, para remover certos padrões de entrada. Por exemplo, tenho que remover tudo que começa com
/tag.Já faz um mês que estou pedindo remoção, e ainda não sumiu tudo. A indexação do Google precisa funcionar direito, mas está demorando bastante.
Ah, entendi. Obrigado por avisar. Acho que vou precisar prestar atenção em várias coisas.
Comentários no Hacker News
Trabalho com WordPress há mais de 10 anos, e acho que este projeto acertou em cheio em duas coisas: TypeScript e plugins em Workers
Tenho pensado bastante nos problemas de segurança do WP recentemente; plugins maliciosos podem acessar o banco de dados ou variáveis de ambiente, ou causar XSS. Mas um sistema de plugins bem projetado pode mitigar isso
Pessoalmente, estou desenvolvendo o HotsauceCMS. Ele permite usar opcionalmente plugins NodeJS ou Deno Worker, de modo que plugins primários possam rodar rapidamente in-process, enquanto plugins de terceiros podem ser isolados em workers
Há apenas 4 dependências e 0 dependências transitivas, porque cansei de alertas do Dependabot e de ataques à cadeia de suprimentos do npm
Com uma estrutura schema-first baseada em Drizzle, é possível controlar totalmente a estrutura do banco de dados e definir recursos como upload de arquivos com dicas no schema
É independente de banco de dados, então funciona em qualquer banco compatível com Drizzle, como Postgres, MySQL e SQLite
O frontend pode ser escolhido livremente; pessoalmente, prefiro JSX sem React
Feedback é bem-vindo. Queria saber se deixei passar algo ou se a direção está certa. Também estou curioso para ver como o EmDash vai evoluir
Dizem que o EmDash é o sucessor espiritual do WordPress, mas eu acho que a direção que um CMS deveria seguir é a oposta
Na verdade, deveríamos simplificar e voltar para sites baseados em arquivos estáticos. É fácil de fazer cache, é rápido e simples de administrar
Claro, do ponto de vista da Cloudflare, parece que eles escolheram essa estrutura para vender o próprio produto de Workers. Ainda tenho dúvidas se isso realmente resolve o problema de segurança na raiz
Acho que a Cloudflare está abordando isso pela direção errada
O WordPress teve sucesso por causa da facilidade de instalação e do efeito de rede. Mais do que segurança, o motivo é que já existe muita gente acostumada com WP
Para o EmDash dar certo, ele precisa ser mais fácil, mais rápido e mais flexível que Wix ou Squarespace. Caso contrário, será difícil criar efeito de rede
Como desenvolvedor WordPress, a maior dor para mim sempre foi a arquitetura de plugins.
No WP, os plugins ficam em uma pasta
wp-contentjunto com coisas como imagens, o que transforma CI/CD em um pesadelo. No EmDash, os plugins são módulos TS, então tudo fica muito mais limpoO conceito do padrão de pagamento x402 da Cloudflare é interessante
A ideia é que agentes enviem micropagamentos automaticamente para obter acesso ao conteúdo; é meio assustador, mas parece algo voltado para o futuro
Brincando, se alguém criar um honeypot HTTP 402 cobrando 10 centavos por visita, talvez seja a volta da velha ideia de “1 pixel por 1 dólar”
O valor do WordPress não está no código, mas no ecossistema e na estrutura de suporte
A qualidade do código não é grande coisa, mas todo SaaS oferece conectores para WP.
Para o EmDash ter sucesso, até pessoas não desenvolvedoras precisam conseguir contratar facilmente customizações no Fiverr. Isso não é um problema de tecnologia, e sim do mercado de trabalho
O fato de ser um sucessor do WordPress feito pela Cloudflare é atraente, mas o isolamento de plugins com Dynamic Workers só funciona no runtime da Cloudflare
Em outros hosts, ele é apenas um CMS em TS, então a dependência da arquitetura é um problema
Não entendo por que ainda fazem projetos de IA em JavaScript
Hoje já dá para criar apps rapidamente com linguagens compiladas como Go. Ficam menores, mais rápidos e mais simples de distribuir
JS é interpretada, então é mais lenta e complexa. No passado, a vantagem era a execução imediata, mas hoje a compilação também é rápida
É interessante que o EmDash seja distribuído sob licença MIT por não usar código do WordPress
Mas isso me fez lembrar o Malus, o recém-aparecido Cleanroom as a Service. O timing foi curiosamente parecido