8 pontos por GN⁺ 28 일 전 | 5 comentários | Compartilhar no WhatsApp
  • 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:send e 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
    1. Liberdade de licença para plugins: como não compartilha código com o EmDash, o desenvolvedor pode escolher a licença que quiser
    2. 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.php dos 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

 
lunamoth 26 일 전

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?

 
nemorize 24 일 전

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...

 
xguru 26 일 전

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.

 
lunamoth 24 일 전

Ah, entendi. Obrigado por avisar. Acho que vou precisar prestar atenção em várias coisas.

 
GN⁺ 28 일 전
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

    • Fico curioso para saber se você poderia explicar por que considera TypeScript tão importante
    • Usei muito WordPress no passado, e na época o atrativo era a facilidade de instalação: dava para subir tudo direto por FTP e sair usando. Não precisava de CLI nem de ferramentas de build. Mas a segurança sempre foi um problema, e os hacks nunca paravam
    • Compartilho este link para uma discussão anterior
  • 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

    • Eu também gosto de sites estáticos, mas clientes frequentemente querem conteúdo dinâmico. No começo dizem que querem um site simples, mas depois pedem formulários, estoque e recursos de agendamento. Então entendo uma estrutura centrada em plugins
    • Clientes não desenvolvedores gostam de poder editar por conta própria pela UI. O WordPress tem uma UI complexa e inchada demais, então na maioria das vezes eles acabam voltando a depender de um desenvolvedor. O ideal seria permitir editar só o necessário com uma UI mínima
    • Se você usar Astro, ele é basicamente um gerador de sites estáticos. Quando necessário, dá para adicionar componentes React e também usar plugins de forma opcional
    • Se você quer hospedar arquivos estáticos em um lugar fácil de fazer cache, a Cloudflare já oferece esse tipo de serviço
    • O Astro gera HTML estático, então nesse ponto não parece haver problema
  • 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

    • O WordPress já conta com muita gente experiente, e o EmDash está só começando. Mesmo assim, se crescer, pretendo torcer por ele
  • Como desenvolvedor WordPress, a maior dor para mim sempre foi a arquitetura de plugins.
    No WP, os plugins ficam em uma pasta wp-content junto 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 limpo

    • O WP não tem um conceito de staging, então, para levar mudanças para produção, você precisa refazer tudo manualmente
  • O 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”

    • Se você enganasse agentes para continuarem pagando, poderia ganhar dinheiro com redirecionamentos infinitos ou conteúdo lixo
    • Veja a documentação do HTTP 402
    • Parece a versão legalizada do golpe de desvio de centavos do filme Office Space
  • 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

    • A Cloudflare não faz pegadinhas de 1º de abril. O 1.1.1.1 também foi lançado em 1º de abril e hoje é um serviço de DNS importante
    • Confirmo que é um projeto real
    • Também vale olhar a polêmica de .com vs .org em torno do “open source” do WordPress
    • Como alternativa antiga, também existe o Textpattern
  • 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

    • No fim, por ser um OSS dependente da infraestrutura da Cloudflare, fica difícil adotar
    • Ainda assim, o Workerd é open source, então dá para fazer self-hosting
    • Outros runtimes também podem acabar replicando esse recurso
    • Parece que a estratégia da Cloudflare é transformar OSS populares em substitutos exclusivos para sua própria infraestrutura
  • 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

    • Dizer que “JS nem é uma linguagem de verdade” é exagero. Ainda há muitos motivos para usar linguagens interpretadas
    • JS é a única que realmente cobre frontend web, backend, mobile e desktop ao mesmo tempo. Com ferramentas como tRPC, também dá para garantir segurança de tipos de ponta a ponta
    • A maioria dos desenvolvedores já conhece JS/TS, e a comunidade é a maior de todas. Como o ecossistema é gigantesco, não há grande motivo para mudar
    • Go é desconfortável para processamento de JSON e trabalho com templates. O sistema de tipos é menos flexível, então há mais limitações no frontend
    • LLMs escrevem TS bem, e o TS corrigiu muitos dos pontos fracos do JS. Com runtimes rápidos e deploy fácil, ele continua atraente
  • É 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

    • Na verdade, o Malus é um projeto satírico