Destaque do dia · 30 de julho de 2026
CVSS 10.0 no orquestrador: 233 ferramentas abertas na porta 3001
A falha no Ruflo não exigia token, chave nem cabeçalho. Um POST HTTP bastava para abrir shell no contêiner, ler as chaves de API do provedor e gravar instruções na memória de aprendizado dos agentes.
O que aconteceu: pesquisadores divulgaram uma falha de severidade máxima no Ruflo, harness de agentes de código aberto usado com o Claude Code e o Codex. A CVE-2026-59726, com CVSS 10.0, afeta todas as versões anteriores à 3.16.3 e permitia execução remota de código sem autenticação. A implantação padrão via docker-compose publicava a ponte MCP na rede com 233 ferramentas acessíveis, incluindo execução de comando de sistema, operações de banco e escrita na memória de aprendizado.
A falha recebeu nota máxima e o motivo não é sofisticação. É ausência. Não havia token, chave de API, verificação de cabeçalho nem lista de IP permitido. A porta 3001 respondia a quem perguntasse.
O Ruflo é um harness de agentes de código aberto que orquestra ferramentas para o Claude Code e o Codex. O modo de instalação recomendado, via docker-compose, publicava os endpoints POST /mcp e POST /mcp/:group na rede sem autenticação. Por trás deles havia 233 ferramentas registradas, entre execução de comando no sistema, operações de banco, gerenciamento de agentes e escrita na memória de longo prazo.
A cadeia inteira cabe em uma requisição
O caminho descrito pelos pesquisadores é curto. Um POST HTTP não autenticado para a porta 3001 chama tools/call apontando para terminal_execute. Isso devolve execução de comando dentro do contêiner da ponte. Dali o atacante lê as chaves de API dos provedores de modelo que estão no ambiente e alcança o AgentDB, o armazenamento de padrões que o sistema usa para aprender.
O último passo é o que separa esse incidente de um comprometimento comum de contêiner. Envenenar o AgentDB significa gravar instruções no lugar de onde os agentes tiram comportamento. O invasor sai, a correção entra, e o padrão plantado continua ali, sendo lido como aprendizado legítimo.
A Noma Security batizou o problema de RufRoot. O nome ajuda porque descreve o resultado com precisão: o que se obtém não é acesso a uma aplicação, é o papel de administrador sobre uma frota de agentes.
A divulgação funcionou
Vale registrar a parte que deu certo. A comunicação responsável ocorreu em 30 de junho de 2026 e o mantenedor do projeto, Reuven Cohen, publicou correção em 24 horas. A versão 3.16.3 passou a vincular a ponte MCP à interface de loopback por padrão, colocou o terminal_execute atrás de controle de servidor via executeTool e habilitou autenticação no MongoDB para impedir leitura de conversas. Todas as versões anteriores estão afetadas.
Vinte e quatro horas entre aviso e correção é um número que muito fornecedor comercial não alcança. O problema não foi a resposta, foi o padrão de fábrica que existia antes dela.
| Pergunta a fazer sobre qualquer harness de agente | Por que importa |
|---|---|
| Em qual interface a ponte MCP escuta? | Loopback e 0.0.0.0 são a diferença entre ferramenta local e serviço publicado na rede. |
| Quantas ferramentas estão expostas e quais executam comando? | Execução de shell e escrita em memória não pertencem ao mesmo nível de permissão de uma consulta. |
| Qual autenticação protege o endpoint? | Ausência de token é comum em projeto novo, porque a ponte nasce como conveniência de desenvolvimento. |
| Quais credenciais vivem no ambiente do contêiner? | Chave de provedor de modelo no ambiente vira o primeiro item coletado após a execução. |
| Quem pode escrever na memória de aprendizado? | Escrita na memória é persistência. Sobrevive à correção da falha que permitiu o acesso. |
Por que isso não é um caso isolado
A estrutura se repete em praticamente todo harness de agente disponível hoje. A ponte local nasce como ferramenta de desenvolvimento, roda na máquina do autor, não precisa de autenticação porque só ele fala com ela. Depois vira imagem de contêiner, entra num docker-compose de exemplo, e o exemplo vira instalação de produção. O bind em 0.0.0.0 atravessa essa trajetória inteira sem ninguém revisar.
O agravante da categoria é a memória. Sistemas de agentes guardam padrão aprendido para melhorar decisão futura, e esse armazenamento raramente tem o mesmo nível de controle de integridade que se aplica a código. Um repositório de código tem revisão, assinatura e histórico. Uma tabela de padrões aprendidos costuma ter escrita direta.
Leitura LATAMSEC
Quem já colocou agentes para tocar pipeline, chamado ou revisão de código provavelmente instalou algum harness nos últimos meses. A verificação útil hoje leva poucos minutos: descobrir em que porta a ponte escuta, se ela responde de fora do host e qual versão está rodando.
A segunda verificação é mais desconfortável. Se a ponte esteve exposta em algum momento, a correção da falha não resolve o que foi gravado na memória durante a exposição. Nesse caso o caminho é tratar o armazenamento de padrões como suspeito e reconstruí-lo a partir de origem confiável.
Há um ponto de governança por trás do técnico. Ferramenta de agente entra na empresa pela via do desenvolvedor, não pela via da compra, e por isso escapa do inventário e da revisão de fornecedor. Enquanto esse tipo de componente não aparecer no mesmo inventário que o resto, casos como este vão continuar sendo descobertos por pesquisador externo.
Outros sinais do dia
Comunicação responsável em 30 de junho e correção publicada pelo mantenedor no dia seguinte, na versão 3.16.3.
Gravar padrões no AgentDB cria persistência que sobrevive à correção da falha de acesso.
O contêiner da ponte carregava as chaves de API dos provedores de modelo usadas pelos agentes.
A ponte local nasce sem autenticação por conveniência de desenvolvimento e chega à produção com o mesmo padrão.
Fontes e aprofundamento
- Noma Security · RufRoot: The MCP Bridge Vulnerability That Turns Agents Into Rogue Admins (pesquisa primária).
- InfoWorld · Critical Ruflo flaw lets attackers hijack AI agents through exposed MCP bridge.
- CyberPress · Critical Ruflo Flaw Lets Hackers Steal API Keys and Control Autonomous Agents.
- GBHackers · Critical Ruflo MCP Bridge Flaw Allows Full AI Agent Platform Takeover.
- Cybersecurity News · Critical Ruflo MCP Bridge Vulnerability Lets Attackers Execute Commands and Hijack AI Agents.