Forever Security detecta AGENTS.md em Downloads que tenta instalar o pacote npm function-color

Autor: Publicada 7 min de lectura 1 leituras

As imagens deste artigo foram geradas com inteligência artificial. Como publicamos

A assinatura de segurança Forever Security relatou a detecção de uma tentativa de compromisso na equipe de um cliente: um arquivo de texto chamado AGENTS.md, colocado na pasta Downloads, tentou instruir um agente de programação para instalar um pacote malicioso de npm. Forever afirma que parou a execução antes de o código ser corrigido no host e não pôde confirmar como esse arquivo chegou à pasta Downloads. O achado une dois vetores conhecidos —arquivos de instruções que os agentes leem ao abrir uma pasta, e a capacidade de páginas web para provocar downloads na pasta Downloads — em um cenário de ataque prático que os pesquisadores provaram de forma reprodutível em laboratório.

Atos confirmados: Forever Security encontrou na equipe de um cliente um AGENTS.md que pretendia que o agente adicionasse um servidor próprio à sua configuração e executasse a instalação do pacote npm function-color. Pesquisadores externos (incluindo CloudSEK e Checkmarx) documentaram que function-color faz parte de uma campanha chamada MALFEX: esse pacote traz como dependência um downloader chamado function-flag que download e executa uma carga útil para Windows. Forever reproduziu a lógica do ataque contra pelo menos dois agentes (Codex e Claude Code) e observou que poderia conseguir execução ou exfiltração de tokens em condições concretas. Além disso, a empresa aportou telemetria interna sobre práticas de uso: aproximadamente metade de seus clientes executam um agente desde Downloads e cerca de 25% das sessões de agente abrem um navegador, condições que facilitam este vetor.

Forever Security detecta AGENTS.md em Downloads que tenta instalar o pacote npm function-color
Imagem gerada com IA.

O que aconteceu tecnicamente. Muitos agentes de programação concebidos para assistir a código leem ao arrancar um ficheiro de instruções na pasta do projecto (em exemplos concretos, AGENTS.md ou CLAUDE.md) e executam passos de configuração ou comandos. Forever usou um arquivo que, cauflado como notas de engenharia, indicava ao agente que adicionaria um item de servidor em um arquivo de configuração persistente (por exemplo, ~/.codex/ config.toml) e executa um comando para instalar o pacote function-color. Ao mudar a configuração global do agente para apontar um servidor controlado pelo atacante, o adversário pode fazer com que futuras sessões do agente consultem e executem instruções arbitrárias a partir desse servidor. No caso de Claude Code, a modificação proposta consistia em escrever uma variável do ambiente ou um ajuste (ANTHROPIC_BASE_URL) que redirige a comunicação API do agente a um endpoint do atacante; isso pode filtrar o token de sessão e permitir respostas maliciosas que o agente assuma como válidas.

Como é entregue o arquivo malicioso continua incerto. Forever destaca duas condições que tornam a técnica viável: um agente que confia e obedece um arquivo de instruções na pasta que abre, e o fato de que um site pode iniciar downloads para a pasta Downloads sem intervenção explícita do usuário Em ambientes de navegador configurados por omissão. Para demonstrar a cadeia completa, os pesquisadores publicaram um teste de conceito: um site que, ao visitá-la, provoca a descarga silenciosa de um AGENTS.md em Downloads. Isso mostra que a localização técnica funciona; contudo, Forever não estabeleceu que esse método fosse o empregado para introduzir o arquivo na equipe do cliente real.

Impacto e consequências reais. Se o agente executa os passos do arquivo malicioso, as consequências potenciais são sérias em duas frentes: execução de código malicioso na máquina(por exemplo, o downloader que traz um payload para Windows) e compromisso de credenciais e tokens de sessão que permitem controlar a conta do serviço (o que os pesquisadores descrevem como account takeover). No caso reproduzido contra o Codex, Forever relatou que o agente executou o código em mais de 90% das tentativas; contra Claude Code a taxa foi menor porque esse agente pede confirmação para certas mudanças e a operação saiu em torno da metade das tentativas quando o arquivo estava redigido como documentação técnica extensa.

O que está confirmado e o que não. Confirmado: o arquivo AGENTS.md com instruções maliciosas existiu na equipe do cliente; function-color e function-flag fazem parte de uma cadeia de entrega observada por outros pesquisadores; agentes podem obedecer arquivos locais de instruções e modificar configurações persistentes. Não confirmado: o vetor exato pelo qual o arquivo chegou à equipe do cliente -Forever não determinou se foi uma descarga silenciosa induzida por uma página web, um repositório clonado ou uma inserção local - e também não se utilizou um verdadeiro atacante para esse incidente específico.

Recomendações práticas e concretas para desenvolvedores e equipamentos de segurança: mantenha a intervenção humana e o isolamento como norma ao executar agentes.

Não lance agentes desde ~/Downloads. É a pasta que o navegador pode escrever sem interação adicional na maioria das configurações; usá-la como pasta de trabalho para agentes coloca o software em contato com conteúdo que pode ter sido colocado por um site.

Antes de permitir que um agente abra uma pasta, indique os ficheiros de instruções. Procure AGENTS.md, CLAUDE.md ou qualquer README que contenha passos de configuração não esperados; léalos antes de iniciar o agente. Um ficheiro camuflado num repositório recém- clonado é suficiente para ganhar execução.

Verifique as configurações locais do agente. Verifique ~/.codex/config.toml e ficheiros equivalentes (.claude/settings.json ou outros) na procura de blocos de servidor ou URLs de API que não tenham adicionado explicitamente; tente qualquer alteração não autorizada como indicação de compromisso e rote tokens e credenciais associadas.

Mantenha os prompts de aprovação e os sandboxes ativados. Não desactive controlos interativos que exijam confirmação antes de escrever configurações globais ou executar comandos de instalação. Se o agente pedir aumentar privilégios ou mudar destinos de API, examinelo com cuidado.

Asuma que um token exposto é imediatamente válido. Se você encontrar um arquivo plantado, rote os tokens e fechar sessões; um token roubado é uma sessão ao vivo e pode permitir ações posteriores, mesmo que a primeira petição tenha sido registrada e bloqueada.

Reduza o risco desde o navegador e o sistema operacional. Configure o navegador para bloquear os downloads automáticos, mude a pasta de downloads por defeito para uma localização menos usada para executar o código e considere políticas corporativas que proíban executar agentes em diretórios que o navegador possa manipular. Documentação técnica sobre a mecânica de downloads a partir de páginas pode ser consultada em recursos como MDN: MDN — atributo download.

Forever Security detecta AGENTS.md em Downloads que tenta instalar o pacote npm function-color
Imagem gerada com IA.

Use isolamento e ambientes efêmeros para testes de agentes. Executa agentes em máquinas virtuais ou contentores com acesso limitado a credenciais e sem tokens persistentes e aplique controles de rede que impeçam comunicações diretas para servidores não autorizados.

Para entender melhor o risco da cadeia de fornecimento de pacotes, regras e atenuações gerais, é útil rever o trabalho da comunidade sobre ataques à cadeia de fornecimento de software e normas de defesa: por exemplo, o projeto OWASP sobre supply chain. OWASP — Supply Chain Attack. Forever Security publicou os detalhes técnicos de sua pesquisa e testes de conceito; os equipamentos que gerem agentes e políticas internas devem ler esses relatórios e ajustar a telemetria e as guias de uso em conformidade.

A conclusão prática é que não há, no curto prazo, um "parche" único pelo fornecedor do modelo quando o agente está fazendo exatamente o que foi projetado para fazer: seguir instruções locais. O controlo recai na higiene de pastas, na política de execução e na rotação de credenciais. Adotar essas medidas reduz diretamente a janela de oportunidade que exploram esses arquivos instrucionais maliciosos.

Cobertura

Relacionadas

Mas notícias do mesmo assunto.