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.

Segurança de agentes CVE-2026-59726 · CVSS 10.0 Corrigido na versão 3.16.3 Referência: 29/07/2026
Sala de reunião executiva com discussão sobre risco de automação e governança de agentes autônomos
Ferramenta de agente entra pela via do desenvolvedor e escapa do inventário de fornecedor.

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

CorreçãoResposta em 24 horas

Comunicação responsável em 30 de junho e correção publicada pelo mantenedor no dia seguinte, na versão 3.16.3.

PersistênciaMemória envenenada

Gravar padrões no AgentDB cria persistência que sobrevive à correção da falha de acesso.

CredenciaisChaves de provedor no ambiente

O contêiner da ponte carregava as chaves de API dos provedores de modelo usadas pelos agentes.

Padrão da categoriaBind em 0.0.0.0

A ponte local nasce sem autenticação por conveniência de desenvolvimento e chega à produção com o mesmo padrão.

Fontes e aprofundamento

  1. Noma Security · RufRoot: The MCP Bridge Vulnerability That Turns Agents Into Rogue Admins (pesquisa primária).
  2. InfoWorld · Critical Ruflo flaw lets attackers hijack AI agents through exposed MCP bridge.
  3. CyberPress · Critical Ruflo Flaw Lets Hackers Steal API Keys and Control Autonomous Agents.
  4. GBHackers · Critical Ruflo MCP Bridge Flaw Allows Full AI Agent Platform Takeover.
  5. Cybersecurity News · Critical Ruflo MCP Bridge Vulnerability Lets Attackers Execute Commands and Hijack AI Agents.
Solicitar diagnóstico de agentes Ver histórico de Destaques