Agentes de programação com IA, solicitados a compartilhar capturas de tela de alterações no código para revisão, publicaram imagens internas de empresas em repositórios públicos do GitHub, informou a empresa de segurança Glow.
Pesquisadores da empresa encontraram mais de 13.000 capturas de tela internas feitas por desenvolvedores de mais de 300 organizações. O material inclui registros de cobrança de clientes e telas de recursos ainda não lançados. Na maioria dos casos, as imagens estavam em contas pessoais dos desenvolvedores. Qualquer pessoa podia baixá-las, mas as equipes de segurança das empresas não sabiam que estavam expostas.
Entre as organizações afetadas estão uma das maiores empresas de tecnologia do mundo, um importante laboratório de IA, uma grande fornecedora de software corporativo e uma companhia de viagens da lista Fortune 500. A Glow começou a contatá-las em 9 de setembro, publicou suas descobertas em 29 de setembro e afirma que outras organizações também podem ter sido afetadas.
Em um dos casos, um desenvolvedor de uma fabricante com mais de 100.000 funcionários pediu a um agente que verificasse uma correção em uma tela interna de cobrança. O agente criou um repositório público na conta pessoal do desenvolvedor no GitHub e publicou nele as capturas de tela.
As imagens exibiam registros de cobrança de uma concessionária de serviços públicos. Como o agente foi executado no computador portátil do funcionário e o repositório ficava fora da organização da empresa no GitHub, a equipe de segurança não percebeu a exposição. As imagens ainda estavam públicas quando a Glow alertou a empresa.
A Glow não informou se alguém de fora das empresas, além de seus próprios pesquisadores, baixou as imagens. Também não divulgou como as encontrou ou contabilizou. A empresa vende um software que, segundo ela, pode impedir agentes de realizar ações desse tipo.
### Como as imagens foram parar na internet
Todos os casos analisados pela Glow começaram com um desenvolvedor pedindo a um agente que demonstrasse o funcionamento de uma alteração visual, para que os revisores pudessem comparar o antes e o depois.
Até 1º de setembro, a ferramenta de linha de comando do GitHub, `gh`, não permitia adicionar imagens a um pull request. Ela só permitia inserir texto. Para incluir uma imagem, era necessário abrir um navegador. Desenvolvedores pediam ao GitHub que mudasse essa situação desde 2020.
Armazenar as imagens no repositório privado também não resolvia o problema, porque elas apareciam quebradas para os revisores.
Segundo a Glow, ao trabalhar pela linha de comando, os agentes perceberam que não podiam anexar as capturas de tela. Então, colocaram as imagens em um repositório público separado, geralmente na conta pessoal do desenvolvedor, e disponibilizaram o material aos revisores por esse meio.
A Glow reproduziu uma tarefa semelhante em seu laboratório, usando o Claude Code com o modelo Opus 5. Ao receber o pedido para mudar a cor do cabeçalho de um projeto de teste do Campo Minado e mostrar o resultado, o agente criou um novo repositório público, `sweeper-demo/pr-assets`, para armazenar duas capturas de tela.
Em seu registro de raciocínio, o agente observou que as imagens adicionadas ao repositório privado apareceriam “quebradas para os revisores” no pull request. Também precisava manter “nada além de index.html no repositório” e concluiu que a única opção era hospedar as imagens em outro lugar.
Esse foi o comportamento de um agente em um teste de laboratório. Nos casos identificados pela Glow, os agentes usavam vários modelos de IA, afirmou Singer. A empresa, porém, não os identificou.
Segundo a Glow, em uma empresa de software, essa prática se espalhou de agente para agente. Agentes usados por vários engenheiros começaram a publicar capturas de tela para revisão em espaços públicos no início de julho.
Em uma semana, mais de uma dúzia deles havia incorporado o método como uma habilidade a ser usada em todas as solicitações. Uma habilidade é um arquivo de instruções carregado e seguido por um agente.
Com essas instruções, os agentes enviaram mais de mil capturas de tela e gravações de tela do produto da empresa. Também publicaram resumos escritos de recursos que só seriam lançados semanas ou meses depois.
Cerca de um terço das organizações afetadas tinha desenvolvedores usando o gitshot, uma pequena ferramenta de código aberto que envia capturas de tela para revisões de código. Em várias grandes organizações, o agente encontrou a ferramenta e a usou para contornar a limitação da linha de comando.
A ferramenta foi desenvolvida para agentes de IA e pessoas. Ela pode ser instalada como uma habilidade em mais de 40 agentes de programação.
A Glow encontrou mais de 100 contas públicas que compartilhavam trabalho interno por meio do gitshot. Em uma empresa de serviços financeiros, as imagens mostravam um sistema interno de tesouraria e liquidação, uma tela de saque associada a um cliente identificado pelo nome e duas gravações de tela do sistema de movimentação de dinheiro.
Uma análise do código do gitshot realizada em 30 de setembro mostrou que, por padrão, quando o usuário está conectado ao `gh`, a ferramenta coloca as imagens em um repositório público chamado `gitshot-images`, na conta pessoal desse usuário. A versão analisada, cuja última alteração foi feita em abril, não permite usar um repositório privado nem um pertencente a uma organização.
As imagens são armazenadas como arquivos de lançamento, anexados a uma versão do projeto em vez de serem mantidos junto ao código. Qualquer pessoa pode listá-los e baixá-los sem entrar na conta.
O arquivo README da ferramenta e suas instruções para agentes alertam que o repositório é público e orientam os usuários a não enviar credenciais nem capturas de painéis internos.
Uma busca realizada em 30 de setembro encontrou cerca de 130 repositórios públicos criados pelo gitshot. A pesquisa não revela quem é responsável pelo conteúdo nem se os repositórios foram criados por agentes.
### O que verificar
A Glow afirma que examinar apenas a organização da empresa no GitHub não é suficiente, porque, na maioria dos casos, as imagens ficam hospedadas em contas pessoais. Para localizá-las:
* Verifique os repositórios públicos associados às contas pessoais de todas as pessoas que fizeram alterações nos repositórios privados da empresa, inclusive ex-funcionários.
* Examine lançamentos e gists, não apenas os arquivos. Imagens anexadas a um lançamento não aparecem na lista de arquivos do repositório.
* Procure repositórios chamados `gitshot-images` e lançamentos com a etiqueta `_gitshot`.
* Não dependa apenas de ferramentas de análise automatizada, que leem texto, mas não imagens.
Se encontrar imagens expostas, remova-as de todos os locais em que aparecem, peça a quem tiver uma cópia que a apague e troque todas as credenciais visíveis nelas, recomenda a Glow.
Para evitar que o problema se repita, a Glow afirma que as equipes de segurança, e não cada desenvolvedor individualmente, devem controlar a configuração dos agentes. A empresa recomenda:
* Exigir uma etapa de revisão antes que um agente crie um repositório público, envie conteúdo para uma conta pessoal ou um gist, ou altere para público a visibilidade de um repositório privado.
* Ler os arquivos compartilhados de habilidades e instruções carregados pelos agentes, pois é neles que uma solução alternativa como essa pode se disseminar.
* Verificar os computadores da empresa em busca de ferramentas como o gitshot e removê-las.
A ferramenta de linha de comando do GitHub agora oferece outra opção. Desde a versão 2.99.0, lançada em 1º de setembro, o `gh` pode anexar imagens a um pull request, issue ou comentário por meio da opção `--attach`.
O GitHub afirma que agentes de programação também podem usar essa opção. Para isso, precisam ter permissão de gravação no repositório. O recurso funciona no GitHub.com e no GitHub Enterprise Cloud, mas não no GitHub Enterprise Server.
A documentação do GitHub sobre anexar arquivos, que inclui envios pela linha de comando, informa que arquivos adicionados a um repositório privado só podem ser vistos por pessoas com acesso a ele.
Publicidade
Vibecoding cria 10x mais sistemas, 20x mais vulneráveis. E quem ganha com isso é a galera do hacking ético e pentest. Quer ser pago para invadir sistemas? Então você tem que aprender com a Solyd que são os melhores do Brasil. Saiba mais...