3.28 deu à lagosta uma armadura nova. Carapaça endurecida, garras afiadas, pronta pra briga.
Aí a realidade bateu na porta.
O time de segurança de IA da Cisco desmontou uma skill comunitária popular e descobriu que era basicamente malware — exfiltrando dados silenciosamente pra servidores de atacantes e usando injeção de prompt pra burlar as diretrizes de segurança. Pesquisadores escanearam 31.000 skills: 26% tinham pelo menos uma vulnerabilidade. A campanha ClawHavoc plantou mais de 800 skills maliciosas no ClawHub. A lagosta tinha carapaça nova, mas o oceano ficou mais perigoso.
Três releases em três dias. 3.31, 4.1, 4.2. Isso não é sprint de funcionalidades — é cerco. Breaking changes, lockdowns de segurança e reescrita de infraestrutura mirando uma coisa só: tornar o OpenClaw mais difícil de atacar, mais fácil de controlar e mais honesto sobre o que está fazendo.
O conselho de sempre, em dose dupla: lagostas em produção, leiam antes de atualizar.
Instalação de plugins agora tem segurança na porta
A mudança com mais chance de quebrar seu workflow é também a mais necessária.
Antes, dava pra instalar qualquer skill independente do que tivesse dentro. Código perigoso, dependências maliciosas, payloads de injeção de prompt — a instalação passava tranquila e você só ia saber quando já era tarde.
Acabou. O OpenClaw roda um scan integrado de código perigoso antes de cada instalação de plugin. Se encontrar problemas críticos, a instalação falha na hora. A única saída é usar a flag explícita \--dangerously-force-unsafe-install\ — um nome pensado pra te fazer hesitar enquanto digita.
O contexto: o ecossistema de skills tinha um problema de confiança. A Cisco descobriu que uma skill comunitária popular exfiltrava dados de usuário via comandos curl silenciosos. O ClawHub tinha 2.857 skills no momento da análise, dos quais 341 foram confirmadas como maliciosas em múltiplas campanhas. Depois o número subiu pra mais de 824. A trava na instalação chegou tarde, mas era necessária.
Se você mantém skills que dependem de pacotes com vulnerabilidades conhecidas, ou puxa dependências via gateway, espere falhas de instalação após a atualização. A solução: limpar a árvore de dependências ou escolher conscientemente a instalação forçada.
xAI e Firecrawl: caminhos de config mudaram
Se você usa busca xAI ou Firecrawl pra web fetching, seus caminhos de configuração agora são inválidos.
Busca xAI: tudo em \tools.web.x_search.<em class="italic text-slate-200">\ migra pra \plugins.entries.xai.config.xSearch.</em>\. Autenticação unificada em \plugins.entries.xai.config.webSearch.apiKey\ / \XAI_API_KEY\.
Firecrawl: o caminho antigo \tools.web.fetch.firecrawl.<em class="italic text-slate-200">\ não existe mais. O novo endereço: \plugins.entries.firecrawl.config.webFetch.</em>\. O fallback do web_fetch agora passa por uma fronteira fetch-provider limpa em vez de um branch core exclusivo do Firecrawl.
Boa notícia: rodar \openclaw doctor --fix\ uma vez resolve a migração automaticamente. Mas se você tem scripts, automações ou pipelines de CI referenciando os caminhos antigos, esses precisam de atualização manual.
Isso faz parte de uma mudança arquitetural maior: configurações específicas de provider estão saindo do config monolítico central pra namespaces gerenciados por plugins. Fronteiras mais limpas, ownership mais claro.
Tarefas em segundo plano ganharam cérebro
O sistema de tarefas em segundo plano do OpenClaw foi completamente reconstruído.
Antes, tarefas ACP, cron jobs e tarefas de subagente tinham mecanismos de rastreamento próprios — quando tinham. Debugar uma tarefa travada era adivinhação. Cancelar uma tarefa era ato de fé.
Agora tudo passa por um livro-razão unificado em SQLite. ACP, subagente, cron e execução CLI em background alimentam um sistema único com rastreamento de ciclo de vida, trilha de auditoria e visibilidade de status.
O que muda pro usuário:
- •\
/tasks\em qualquer sessão de chat mostra um painel em tempo real de todas as tarefas de background da sessão — status, atividade recente e contadores de fallback num relance. - •Tarefas bloqueadas mostram o motivo. Chega de adivinhação.
- •Cancelamento gracioso. Tarefas canceladas esperam o trabalho ativo terminar antes de parar. Sem cortes bruscos.
- •Recuperação de execuções perdidas. O sistema detecta tarefas órfãs e fornece dicas de recuperação via doctor.
- •Controle de fluxos. \
openclaw flows list|show|cancel\dá uma superfície de controle linear sobre workflows multitarefa.
Pra quem roda automações complexas — agentes encadeados, jobs agendados, processamento em background — debugar tarefas deixou de ser mistério e virou diagnóstico.
Execução de comandos: as travas apertaram
Aqui é onde o endurecimento de segurança pega mais pesado. Várias mudanças afetam diretamente como comandos rodam e quem pode rodá-los.
Pareamento de nó não significa mais permissão de execução. Antes, completar o pareamento de um dispositivo concedia automaticamente permissão pra executar comandos no nó. Agora o pareamento precisa ser aprovado explicitamente antes dos comandos serem ativados. Um vetor de escalonamento de privilégios pelo fluxo de pareamento foi fechado.
Variáveis de ambiente sensíveis são removidas do ambiente de execução shell. URLs de índice de pacotes Python (\PIP_INDEX_URL\), endpoints Docker, caminhos de certificados TLS, caminhos de compilador — tudo bloqueado de ser passado do escopo da requisição pro ambiente de execução. Uma superfície de ataque de supply chain documentada foi fechada: atacantes podiam injetar variáveis de ambiente pra redirecionar downloads de pacotes pra fontes maliciosas.
\tools.exec.host=auto\ agora é uma flag de roteamento pura. Não significa mais "usar sandbox se disponível". Se nenhum sandbox existe e um é solicitado explicitamente, falha imediatamente em vez de cair silenciosamente pra execução sem sandbox. Acabaram os downgrades silenciosos.
Atualizações por plataforma
Agentes podem reagir a mensagens com emoji — um ❤️ numa foto, um 👍 numa confirmação. Sem precisar digitar "foto bonita!" toda vez.
Telegram
Solicitações de aprovação em grupos ficam na thread do tópico original, sem escapar pro chat raiz. Controles de cooldown de erro (\errorPolicy\ e \errorCooldownMs\) impedem que o mesmo erro transitório inunde as notificações.
Matrix
Respostas em streaming atualizam in-place dentro de uma única mensagem, sem enviar uma nova mensagem por chunk. Contexto de histórico de mensagens também ficou disponível, pra que agentes entendam a conversa que os ativou.
Slack
Solicitações de aprovação de execução de comandos podem ser completadas inteiramente dentro do Slack — sem pular pra interface web ou terminal.
Android
Integração com Google Assistant App Actions permite acionar o OpenClaw direto do assistente de voz, passando prompts pra interface de chat.
macOS
Voice Wake ativa o modo conversa com uma palavra de ativação. Mãos livres.
LINE
Suporte a plugins bundled com envio de imagens, vídeo e áudio. A resolução do contrato de runtime em instalações npm globais foi corrigida.
QQ Bot
Plugin de canal bundled completo: configuração multi-conta, comandos slash, lembretes e suporte a mídia rica pra chat privado, mensagens @grupo e canais de guild.
Autenticação do gateway: acabou a confiança implícita
Self-hosters, atenção.
O modo \trusted-proxy\ do gateway agora rejeita configurações mistas que usem tokens compartilhados simultaneamente. O fallback de conexão direta local não deixa mais chamadores do mesmo host passarem implicitamente — um token explicitamente configurado é obrigatório.
Se seu ambiente funcionava com "mesma máquina = confiança", vai quebrar após a atualização. Adicione configuração de autenticação explícita.
O rate limiting de autenticação compartilhada permanece ativo durante tentativas de handshake WebSocket, e headers Origin incompatíveis em requisições HTTP trusted-proxy são rejeitados.
---
3.28 blindou a lagosta. 3.31 a 4.2 ensinaram ela a lutar.
Instalação de plugins tem segurança na porta. Tarefas de background têm cérebro. Caminhos de config têm fronteiras limpas. Ambientes de execução foram despidos de superfície de ataque. O gateway exige credenciais em vez de assumir boa-fé.
Três releases. Três dias. O perímetro de segurança encolheu, e tudo dentro dele ficou mais difícil de quebrar.
A lagosta mostrou as garras. Não meta a mão sem permissão.