Preocupado com os riscos da IA ao executar comandos? Descubra as proteções de segurança do TRAE

01 TRAE: Segurança e Confiança como Pilares do seu IDE

Com a evolução exponencial dos modelos de IA e das capacidades dos Agentes, os assistentes de programação tornaram-se “copilotos” onipresentes em nossa rotina. No entanto, uma questão crucial começa a ecoar entre os desenvolvedores: podemos realmente confiar à IA a autonomia de escrita e execução sobre nossos repositórios?
Relatos de “histórias de terror” já circulam nas comunidades de tecnologia. Um caso emblemático compartilhado por um desenvolvedor descreve o momento em que uma ferramenta de IA executou um comando desastroso, resultando na exclusão sumária de 800 GB de arquivos locais.
É para evitar cenários catastróficos como esse que o TRAE foi projetado, colocando a segurança e a previsibilidade no centro da experiência de desenvolvimento.

À primeira vista, esse comando não parece ter nada de errado: a IA pretendia excluir o diretório C:Usersxxx xxxDocumentsSCE. No entanto, na execução real, esse comando pode apagar silenciosamente todo o disco C.

Isso acontece porque, no PowerShell, é apenas um caractere comum, e não um caractere de escape. Ao utilizar o destaque de sintaxe do PowerShell, é possível perceber o problema: no Windows, quando é usado como parâmetro de caminho, ele representa a raiz do disco onde está o diretório de trabalho atual (cwd) do processo. Neste exemplo, isso corresponde a C:.

Portanto, o comando acima é equivalente a executar, via cmd:

Como mitigar esses riscos? A resposta definitiva certamente não é o retrocesso ao isolamento do código puramente manual. Na prática, a segurança no desenvolvimento assistido por IA exige um esforço coordenado em três frentes:

  • Os Provedores de Modelos (LLMs): Devem focar em tornar as saídas mais precisas, previsíveis e controláveis.

  • Os Desenvolvedores: Precisam refinar suas habilidades de Prompt Engineering e, acima de tudo, manter um olhar crítico e rigoroso sobre cada sugestão.

  • O IDE (Ambiente de Desenvolvimento): Como arquitetos do TRAE, decidimos assumir o protagonismo nesta cadeia de responsabilidade. Nosso objetivo é ir além do básico, construindo um ambiente “Seguro por Padrão” (Secure by Design), onde os mecanismos de proteção já nascem integrados à ferramenta.

02 Reduzindo os riscos da execução de comandos com múltiplos mecanismos de segurança, como o “sandbox”

O TRAE oferece múltiplas camadas de segurança — incluindo sandbox e interceptação de Shell — para limitar as operações de arquivos realizadas por comandos no terminal a um escopo relativamente controlado. Assim, reduz-se o risco de modificações ou exclusões acidentais de arquivos, trazendo mais tranquilidade para os desenvolvedores.

Modo Sandbox

Recentemente, o TRAE iniciou a liberação gradual do “modo de execução em sandbox”. Nesse modo, os comandos do Agent são executados dentro de um ambiente isolado.

Definimos claramente os limites de permissão do sistema de arquivos: apenas o diretório do projeto, diretórios temporários e diretórios comuns de dependências possuem permissão de leitura e escrita. Quando um comando executa operações de arquivo dentro do sandbox, o sistema operacional verifica, com base na configuração do ambiente, se há violação de permissão e, caso haja, realiza a interceptação.

  • Se nenhuma violação for detectada, significa que o comando foi executado com sucesso dentro do sandbox, e o TRAE retornará o resultado para a IA.

  • Se uma violação for identificada, o usuário poderá escolher manualmente entre várias opções:

Ignorar: se o comando gerado pela IA realmente apresentar riscos, o usuário pode cancelar a execução e permitir que a IA tente outra abordagem.

Executar: violação de permissão não significa necessariamente que o comando seja inseguro. Se o usuário confirmar que não há risco, pode executá-lo novamente fora do sandbox.

Adicionar à lista de permissões (whitelist): se o usuário considerar que o comando nunca apresentará riscos de segurança, pode adicioná-lo à whitelist. A partir daí, esse comando será sempre executado fora do sandbox.

Interceptação de Shell

Além do modo sandbox, o TRAE também implementou um mecanismo de interceptação de Shell como camada adicional de proteção, detectando e bloqueando operações potencialmente perigosas de comandos como rm.
Por exemplo, no caso mencionado anteriormente pela comunidade, no PowerShell o sistema intercepta a execução do cmd e também do rmdir dentro do cmd. Se for detectado que o parâmetro de caminho do rmdir está fora do escopo permitido pelo Agent, a execução será imediatamente bloqueada, prevenindo esse tipo de problema.
Além do PowerShell, também oferecemos interceptação segura de exclusão para outros shells comuns, como bash, git-bash, zsh e fish.

03 Como usar o Sandbox no TRAE

Atualmente, a funcionalidade de sandbox está em liberação gradual. No momento, ela é compatível com macOS e com Linux via acesso remoto (Remote SSH). O suporte para Windows ainda está em desenvolvimento — em breve teremos novidades.

Para usuários de Windows, recomenda-se utilizar o modo de lista de permissões (whitelist) para garantir maior segurança na execução de comandos.

Para usuários de macOS que já têm acesso ao recurso, é possível perceber que, ao executar comandos no fluxo de conversa, eles são automaticamente alternados para o modo de execução em sandbox.

Além disso, o usuário pode ajustar a forma de execução dos comandos em: Configurações > Fluxo de conversa > Execução automática

Execução em Sandbox (com suporte à whitelist) — ativado por padrão, recomendado

  • macOS: suporta a funcionalidade de sandbox. Os comandos são executados automaticamente dentro do sandbox, com verificação de risco. É possível adicionar comandos confiáveis à whitelist para que sejam executados fora do sandbox. Certifique-se de confirmar cuidadosamente antes de adicioná-los.

  • Linux (via Remote SSH): também oferece suporte à funcionalidade de sandbox.

Execução manual

  • Todos os comandos precisam ser confirmados manualmente antes da execução.

Execução automática — alto risco, não recomendado

  • Todos os comandos são executados automaticamente fora do sandbox.

04 Construindo um Ecossistema de Segurança Compartilhada

O compromisso do TRAE ao oferecer ferramentas confiáveis não é restringir o potencial da IA, mas sim pavimentar trilhos seguros para o seu desempenho. Nosso objetivo não é sobrecarregar o desenvolvedor com burocracia, mas sim equipar seu ambiente de trabalho com os sistemas de alerta e frenagem mais robustos do mercado.
Embora o mecanismo de Sandboxing neutralize riscos na vasta maioria dos cenários, estamos cientes de que sempre podem surgir vulnerabilidades inéditas ou casos de nicho ainda não cobertos. Atualmente, estamos trabalhando intensamente para expandir o suporte ao sistema Windows e refinar o controle sobre permissões de rede.
A segurança é uma construção contínua. Por isso, convidamos você a compartilhar suas experiências e feedbacks. Juntos, podemos moldar o futuro das ferramentas de IA, tornando-as cada vez mais potentes, transparentes e, acima de tudo, seguras.

Leave a Reply