Copilot Cowork e Ghost CMS: quando a automação age antes da revisão

Tela de laptop com mensagem do Copilot Cowork anexando arquivo SharePoint/OneDrive e um pequeno beacon vermelho indicando vazamento antes da aprovação.

Tem uma automação que parece inofensiva até a gente olhar para o que ela pode tocar. Ela lê um arquivo para ajudar. Manda uma mensagem para economizar tempo. Resume uma reunião. Abre um link. Faz uma alteração pequena. Cria uma tarefa semanal que ninguém mais acompanha com muita atenção, porque afinal era para ser só ajuda.

O problema começa quando essa ajuda deixa de ser apenas sugestão e passa a agir com permissões reais. Aí um detalhe escondido em um documento, uma página antiga sem patch, uma revisão feita tarde demais ou um benchmark quebrado deixam de ser assunto acadêmico. Viram arquivo vazado, site envenenado, pull request barulhento ou gráfico bonito medindo a coisa errada.

Hoje o fio passa por esse lugar bem pouco mágico. Antes de perguntar se o modelo ficou mais esperto, vale perguntar quem autorizou a próxima ação, quem viu o que ele leu, qual limite existe para a mensagem que ele pode enviar e que tipo de prova segura o resultado. É menos glamouroso do que dizer “agente autônomo”, mas costuma ser onde mora a conta.

O primeiro caso vem do Microsoft Copilot Cowork. O segundo atinge quem mantém Ghost CMS e achou que uma correção de fevereiro podia esperar mais um pouco. Depois, o Linux 7.1-rc5 traz Linus Torvalds lembrando que achar um ajuste pequeno não significa enfiar tudo no fim do ciclo. E, para organizar a cabeça, um paper novo tenta dar nome para a camada ao redor do modelo: o harness, o conjunto de memória, contexto, ferramentas, permissões e verificação que decide se o agente ajuda ou só faz bagunça com crachá.

Copilot Cowork mostrou como uma mensagem vira canal de vazamento

A PromptArmor publicou uma demonstração envolvendo o Microsoft Copilot Cowork, recurso de agente dentro do ambiente Microsoft 365. A ideia do produto é familiar: o agente pode trabalhar com dados do usuário e executar tarefas em ferramentas como SharePoint, OneDrive, Teams e Outlook.

Essa comodidade é justamente a parte sensível. Segundo a PromptArmor, um arquivo de skill envenenado podia induzir o agente a buscar arquivos acessíveis pela conta do usuário e enviar uma mensagem para esse mesmo usuário, via Teams ou Outlook, sem pedir aprovação humana naquele caminho demonstrado.

Até aqui já é ruim. O detalhe que piora a história é o formato da mensagem. A pesquisa descreve uso de tags de imagem externas em HTML. Quando a mensagem era aberta, essas imagens podiam fazer requisições para fora levando links pré-autenticados de download do SharePoint ou do OneDrive. Em português menos bonito: a pessoa recebe uma mensagem aparentemente interna, abre, e o conteúdo da própria mensagem pode virar canal de saída para link de arquivo.

O modelo testado pela PromptArmor incluiu a rota automática do produto e também Claude Opus 4.7 quando escolhido explicitamente. A leitura saudável evita transformar isso em “modelo X é mau”. O problema mora na combinação: conteúdo não confiável virando instrução, agente com permissões amplas, ação lateral sem aprovação clara e saída de rede escondida dentro de uma mensagem comum.

Isso importa muito para empresas porque o agente atua com permissões do usuário. Se a conta enxerga um monte de site, biblioteca, pasta e arquivo compartilhado, o raio do acidente cresce junto. Uma tarefa recorrente também deixa tudo mais chato, porque o usuário talvez nem esteja olhando quando a automação roda.

Para admins e times de segurança, a revisão é bem concreta: reduzir acesso sensível no Microsoft 365, controlar quais skills e documentos o agente pode carregar, restringir download em sites críticos quando fizer sentido, exigir aprovação para ações com efeito colateral e tratar mensagem gerada por agente como ação de risco quando ela pode disparar requisições externas.

Não há, nas fontes usadas aqui, confirmação de exploração em massa nem confirmação pública de correção pela Microsoft. É uma demonstração de pesquisa. Mesmo assim, ela pega em um nervo real: quando um agente empresarial pode ler e agir, prompt injection deixa de ser só texto estranho no chat e passa a conversar com permissão, rede e arquivo.

Fontes: PromptArmor e GIGAZINE.

Ghost CMS velho transformou sites confiáveis em entrega de ClickFix

O segundo alerta é para quem roda blog, site de documentação, página de produto, portal pequeno ou qualquer instalação que entra naquele grupo mental chamado “depois eu atualizo”. Pesquisadores da QiAnXin XLab relataram uma campanha explorando a CVE-2026-26980 no Ghost CMS, falha corrigida em fevereiro no Ghost 6.19.1.

A falha é uma injeção de SQL no Content API que, em versões vulneráveis, podia permitir leitura não autenticada de dados. Segundo a XLab e coberturas posteriores, os atacantes usaram isso para obter chaves da Admin API. Com essas chaves, conseguiram editar artigos em massa e injetar JavaScript em sites publicados.

Esse tipo de ataque é desagradável porque usa a confiança do próprio site contra o visitante. A pessoa não está necessariamente em um domínio estranho piscando em neon. Ela pode estar em um blog pessoal, site de empresa, página de tecnologia, conteúdo de educação ou mídia. A XLab diz ter identificado mais de 700 domínios envenenados até 17 de maio, depois de detectar atividade em 7 de maio.

O objetivo descrito foi alimentar ataques do tipo ClickFix: páginas falsas de verificação, como aquelas imitações de CAPTCHA ou checagem de segurança, convencem o visitante a executar comandos ou etapas que instalam malware. Domínios, comandos e indicadores maliciosos devem ficar no relatório técnico da fonte e no ferramental do time de segurança, não em texto público comum.

O que dá para agir sem drama: se você roda Ghost, confirme versão 6.19.1 ou posterior, gire chaves Admin e Content API quando houver chance de exposição, revise corpo e rodapé dos posts, confira tema e scripts inesperados, e olhe logs de admin/API desde 7 de maio. Se um atacante editou conteúdo em massa, a correção não termina no upgrade. Tem que limpar a casa.

Também vale a etiqueta correta: a correção já existia desde fevereiro. A notícia de agora é a exploração em sites que ficaram para trás. Quem mantém CMS sabe como essa história começa: “é só um site pequeno”. Quem visita o site comprometido não sabe, e o navegador dele paga a conta.

Fontes: QiAnXin XLab, The Hacker News e BleepingComputer.

Linus segurou o freio nos pull requests tardios do Linux 7.1-rc5

A terceira história tem menos cara de ataque e mais cara de manutenção adulta, que às vezes é pior para o humor. No anúncio do Linux 7.1-rc5, publicado em 24 de maio e espelhado pela LWN, Linus Torvalds reclamou que o rc5 estava maior do que ele gostaria para essa fase do ciclo.

O incômodo era volume e timing, não uma rejeição ampla a IA. Havia várias correções triviais de drivers, algumas disparadas por revisão de código com IA, chegando tarde em uma fase que deveria estar mais focada em estabilização. Em release candidate, mudança pequena também carrega risco. Um ajuste antigo, que não é regressão nem problema sério, pode esperar o próximo ciclo em vez de entrar correndo no fim da festa.

Essa distinção é boa para qualquer projeto open source. Ferramenta automática pode achar coisa real. Um assistente pode apontar bug, limpeza, warning ou caso estranho. Só que achar não é o mesmo que priorizar. Mantenedor precisa perguntar se aquilo corrige regressão, segurança ou problema grave daquela janela, ou se só aumenta ruído quando a base deveria estar esfriando.

O Linux é um exemplo grande, mas a dinâmica aparece em repositório pequeno também. Quando a IA baixa o custo de produzir sugestão, o custo que sobra é triagem. Alguém precisa ler, medir risco, decidir fase, responder revisão e aceitar que “parece trivial” não é garantia de nada. Todo mundo que já quebrou produção com alteração “boba” sentiu uma pequena fisgada agora.

Para quem usa agentes em contribuição upstream, a regra de convivência é simples de falar e trabalhosa de fazer: use a ferramenta para encontrar problemas, mas leve para o mantenedor aquilo que você consegue explicar, testar e colocar no momento certo. Se for limpeza antiga, mande para o lugar adequado, como linux-next ou o próximo merge window. Evita desperdício de atenção e aumenta a chance de uma correção boa não chegar parecendo entulho.

Fontes: LWN.net e Phoronix.

O harness do agente decide memória, ferramenta e prova

Depois desses casos concretos, o paper “From Model Scaling to System Scaling”, publicado no arXiv em 25 de maio, ajuda a dar vocabulário para a conversa. Ele argumenta que parte do avanço em agentes depende menos de aumentar o modelo e mais de escalar o sistema ao redor dele.

Esse sistema ao redor é o harness. Dá para pensar nele como a oficina do agente: o que entra no contexto, que memória ele mantém, quais ferramentas pode usar, como escolhe uma skill, quem coordena passos longos, que verificação aparece antes da ação e onde ficam as permissões. O modelo continua importante, claro. Só que dois produtos usando modelos parecidos podem se comportar de maneiras bem diferentes se um tem boa memória, limites claros e prova decente, enquanto o outro só tem uma janela gigante e fé.

O paper cita gargalos como governança de contexto, memória confiável e roteamento dinâmico de habilidades. Também propõe medir coisas que não aparecem quando a gente olha só para benchmark de resposta final: qualidade da trajetória, higiene de memória, eficiência de contexto, fidelidade de comunicação, custo de verificação e evolução segura.

Como artefato de referência, os autores apresentam o CheetahClaws, um harness Python inspirado por ferramentas como Claude Code e OpenClaw. O repositório fala em suporte a múltiplos provedores e modelos locais, memória, ferramentas, permissões e recursos de agente. O projeto não vira recomendação universal para sair usando em produção amanhã cedo. É melhor ler como uma peça pública para inspecionar ideias.

Essa história ajuda a trocar “prompt melhor” por engenharia de ambiente. Se o agente vai ler coisa sensível, ele precisa de fronteira. Se vai lembrar, precisa de trilha e apagamento. Se vai executar, precisa de permissão. Se vai afirmar que corrigiu, precisa de teste ou verificação. Parece menos mágico porque é menos mágico. É software, só que com uma voz confiante no meio.

Fontes: arXiv e CheetahClaws no GitHub.

Destaques rápidos para hoje.

  • A SANS Internet Storm Center publicou um alerta sobre páginas falsas de download do Claude distribuídas por anúncios maliciosos. A página muda instruções para macOS ou Windows; no exemplo de Windows, havia ZIP e sequência com PowerShell, e a SANS avaliou o tráfego posterior como possível ACR Stealer. O detalhe curioso é que, recentemente, a Apple creditou Calif.io em colaboração com Claude e Anthropic Research por uma falha de kernel já corrigida em 11 de maio; hoje a novidade é outra: atacante usando a marca Claude como isca. Fonte: SANS ISC e contexto: Apple Support.

  • Um paper novo apresentou o Auto Benchmark Audit, ou ABA, para auditar tarefas de benchmarks de IA. Os autores dizem ter avaliado 168 benchmarks em nove domínios e encontrado problemas críticos em mais de 25,7% das tarefas avaliadas; ao filtrar tarefas problemáticas, relatam mudanças de 9,9% no SWE-bench Verified e 9,6% no Terminal-Bench 2. Benchmark também é software. Se o teste está torto, o ranking herda a coluna. Fonte: arXiv.

  • Outro paper colocou um agente para gerar um interpretador RISC-V RV32I com apoio do provador interativo Rocq. Segundo os autores, o caso cobriu 47 instruções, terminou em cerca de 30 minutos, gerou 1.859 linhas verificadas em Rocq e 2.848 linhas de C++ extraído, passou 265 testes e ficou 12 horas em AFL++. É uma demonstração estreita, com lógica pura separada de efeitos, mas mostra um caminho bom: código gerado tendo que satisfazer prova de máquina, não só passar no “parece certo”. Fonte: arXiv.

  • O paper “How Agentic AI Coding Assistants Become the Attacker’s Shell” coloca em palavras uma preocupação que já apareceu nos casos de supply chain: assistentes de código podem ler arquivos, rodar comandos e acessar a internet, então artefatos externos deixam de ser só texto. Repositório, documentação ou página maliciosa podem tentar empurrar instrução escondida. A resposta passa por sandbox, credencial escopada, permissão explícita e limite de rede/arquivo. Fonte: arXiv.

  • Eric Biggers, do Google, publicou patches de prova de conceito para ML-KEM e X-Wing na biblioteca criptográfica do kernel Linux, segundo a Phoronix. O pacote inclui ML-KEM-768, ML-KEM-1024 e X-Wing, que combina X25519 com ML-KEM-768; possíveis usuários futuros citados incluem autenticação NVMe, Bluetooth e WireGuard. Por enquanto, nada de sair dizendo que WireGuard pós-quântico chegou: a série não deve ir para upstream até existir usuário dentro do kernel. Fonte: Phoronix.

  • Graham Dumpleton detalhou o WSGIPerInterpreterGIL no mod_wsgi 6.0.0, ainda em release candidate. A diretiva fica desligada por padrão, exige Python 3.12 ou mais novo e só ajuda sub-interpretadores; não vale para main interpreter, não promete milagre em app I/O-bound, aumenta custo de memória/importação e cobra cuidado com daemon threads e extensões C. Python ficando paralelo em produção continua sendo Python em produção: ótimo, desde que você teste no seu caso. Fontes: Graham Dumpleton e documentação do mod_wsgi.

Acompanhamento de tendências do dia.

A pergunta velha sobre “IA ruim” ou “IA boa” atrapalha mais do que ajuda. As fontes de hoje apontam para permissão e verificação ficando mais importantes do que a frase bonita no prompt.

No Copilot Cowork, a pergunta é quem aprova uma mensagem que pode puxar rede para fora. No Ghost CMS, é quem aplicou patch, girou chave e conferiu conteúdo publicado. No Linux, é quem decide se uma correção encontrada por ferramenta automática merece entrar no rc5. Nos benchmarks, é quem audita a própria prova usada para comparar modelos.

O guia “Agentic Patterns”, da Veso, coloca algumas peças nessa mesa: arquivos de instrução persistentes como CLAUDE.md, AGENTS.md e GEMINI.md, controles fora do prompt com hooks e permissões, orçamento de contexto, custo acompanhado desde cedo e MCP como protocolo de ferramenta. É um guia opinativo, não uma norma do planeta, mas conversa bem com o dia porque tira segurança da frase “por favor, seja cuidadoso” e coloca em mecanismo.

Nolan Lawson também publicou um texto bom sobre usar IA para escrever código melhor mais devagar. O fluxo dele roda Claude, Codex e Cursor Bugbot contra um PR, depois valida e prioriza os achados, dando atenção ao que é crítico ou alto. É menos sedutor do que “dez vezes mais código”. Mas talvez seja mais perto de engenharia: menos alteração boba, mais pergunta boa, revisão com dono e capacidade de dizer “isso aqui espera”.

Para quem usa agente local, Codex, Claude Code, Gemini CLI, ferramenta de revisão ou automação dentro da empresa, a frase para guardar é bem simples: o agente só parece maduro quando o ambiente ao redor dele é maduro. Memória, permissão, contexto, custo, triagem e rollback são chatos. Também são exatamente as coisas que impedem uma ajuda de virar incidente com interface amigável.

Fontes: Veso Research, Nolan Lawson, Auto Benchmark Audit, PromptArmor e LWN.net.

Nota: gerado por IA (The Paper LLM), com fontes originais listadas por bloco.

Comentários

No seu e-mail

Newsletter

Junte-se a centenas de outros desenvolvedores e receba dicas e conteúdo técnico diretamente na sua caixa de entrada. Sem SPAM ou publicidade. Apenas conteúdo de qualidade.