Segurança em Ferramentas de AI Coding: o alerta que todo dev precisa ouvir
Se você usa Cursor, Windsurf, Claude Code ou qualquer ferramenta de AI coding no seu dia a dia — este artigo é para você.
Em 2025, um bug no ecossistema VSCode permitiu que extensões maliciosas roubassem tokens do GitHub armazenados localmente. A notícia chegou ao top 1 do Hacker News com 578 pontos. No mesmo período, uma pesquisa da UpGuard revelou que 1 em cada 5 desenvolvedores dá acesso total (admin) a ferramentas de AI em seus ambientes de desenvolvimento.
O cenário é sério. Vamos detalhar os riscos e, mais importante, o que fazer para se proteger.
Caso real: o bug do VSCode que expôs tokens GitHub
Em meados de 2025, um pesquisador de segurança descobriu que extensões do VSCode podiam acessar tokens de autenticação armazenados em arquivos de configuração do editor e do sistema operacional. O problema não era um bug no VSCode em si — era uma combinação de permissões excessivas e falta de isolamento entre extensões.
O ataque funcionava assim:
- Uma extensão aparentemente legítima (um tema, um snippet helper) solicitava permissões mínimas
- Uma vez instalada, ela escaneava
~/.config/gh/,~/.ssh/e arquivos de ambiente - Tokens do GitHub, chaves SSH e credenciais de cloud eram exfiltrados para um servidor remoto
- Com os tokens, atacantes faziam push de código malicioso em repositórios privados
578 pontos no HN, trending por 3 dias. Milhares de devs afetados.
O que isso tem a ver com AI coding tools? Tudo. Ferramentas como Cursor e Windsurf são extensões ou modificações do VSCode — elas rodam com as mesmas permissões que qualquer extensão. Se uma extensão de tema pode acessar seus tokens, uma AI tool também pode.
Pesquisa UpGuard: 1 em cada 5 devs dá acesso total
A UpGuard publicou em 2025 uma análise alarmante: 21% dos desenvolvedores configuram ferramentas de AI com acesso irrestrito ao código-fonte, repositórios e infraestrutura. Isso significa que a AI tool pode:
- Ler qualquer arquivo do projeto (incluindo
.envcom senhas) - Modificar arquivos sem aprovação explícita
- Acessar terminais e executar comandos arbitrários
- Fazer push para repositórios remotos
- Instalar dependências que podem conter malware
O problema é cultural: a conveniência venceu a segurança. “Só mais rápido” virou “dá acesso total mesmo”. E no ecossistema de AI coding, onde o valor percebido é a velocidade, a segurança fica em segundo plano.
Os riscos reais
Vazamento de tokens e credenciais
Toda vez que você usa uma AI tool, o contexto enviado pode incluir:
# Exemplo: variáveis de ambiente que NUNCA devem ir para o prompt
GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxx
AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY
DATABASE_URL=postgresql://admin:senha123@prod-db:5432/mydb
Mesmo que a ferramenta não envie intencionalmente, muitas AI coding tools enviam o contexto completo do workspace para processamento. Um .env esquecido no diretório de trabalho pode vazar credenciais de produção.
Código proprietário em servidores de terceiros
Quando você usa Claude Code, Copilot, Cursor ou Windsurf, trechos do seu código são enviados para servidores das empresas para gerar sugestões. Isso pode ser:
- Código de cliente: expondo lógica de negócio proprietária
- Algoritmos core: a vantagem competitiva do seu produto
- Bancos de dados e schemas: revelando a arquitetura interna
- Chaves de API e endpoints internos: abrindo vetores de ataque
Algumas ferramentas oferecem modos “offline” ou “anônimos”, mas o padrão é envio para cloud.
Supply chain attack via AI
Este é um risco emergente e talvez o mais perigoso. Imagine:
- Um pacote npm legítimo é comprometido
- A AI tool, treinada em dados públicos que incluem esse pacote, sugere usá-lo
- O desenvolvedor aceita sem questionar
- O código malicioso entra no seu projeto via dependência recomendada pela AI
Não é teoria. Em 2024, pesquisadores demonstraram que era possível envenenar datasets de treinamento para que AI coding tools sugerissem código com vulnerabilidades específicas. O ataque é sofisticado, mas o potencial de dano é imenso.
Boas práticas para manter o código seguro
1. Permissões mínimas (princípio do menor privilégio)
Configure suas AI tools com o mínimo de acesso necessário:
Cursor / Windsurf:
- Desative permissão para executar comandos de terminal automaticamente
- Restrinja o escopo de arquivos que a ferramenta pode ler
- Ative modo “review before apply” para qualquer modificação
Claude Code:
- Use a flag
--dangerously-skip-permissionscom moderação (nunca em produção) - Prefira o modo interativo onde cada ação requer confirmação
- Configure
allowedToolsnoclaude.jsonpara limitar o que a ferramenta pode fazer
Copilot:
- Use a política de “excluded paths” para ignorar arquivos sensíveis
- Configure o modo “anônimo” para código de clientes
2. Nunca inclua secrets no workspace da AI
# Crie um .env.example sem valores reais
# E mantenha .env no .gitignore
# Regra de ouro: se a AI tool pode ler, não coloque secrets lá
Use gerenciadores de secrets (1Password CLI, Doppler, AWS Secrets Manager, Vault da HashiCorp) para injetar credenciais no ambiente de execução, não no código.
3. Revise TODO código gerado por AI
Nunca aceite código de AI sem revisão humana. Pontos críticos:
- Autenticação e autorização: a AI pode implementar algo que parece seguro mas tem falhas
- Sanitização de input: SQL injection, XSS, command injection
- Manipulação de arquivos: paths arbitrários, diretórios sensíveis
- Criptografia: a IA tende a usar algoritmos inseguros ou implementações caseiras
Regra prática: Se você não entende completamente o código que a AI gerou, não faça merge.
4. Mantenha suas ferramentas atualizadas
O bug do VSCode foi corrigido em horas, mas só protege quem atualizou. Configure:
- Atualizações automáticas para editor e extensões
- Verificações regulares de versão das AI tools
- Acompanhamento de CVEs relacionadas ao ecossistema (siga @GitHubSecurity, @vscode, e os security advisories das ferramentas)
5. Isole ambientes de desenvolvimento
Use containers ou máquinas virtuais para projetos sensíveis:
# Dockerfile.dev: ambiente isolado para AI coding seguro
FROM node:20-slim
# Sem tokens de produção no container
# Use variáveis de ambiente injetadas via docker-compose ou orquestrador
# Limite de rede
# --network=host só se absolutamente necessário
# Volume montado só para o código necessário
# Nada de ~/.ssh, ~/.config dentro do container
Para projetos de clientes, considere um ambiente separado onde a AI tool não tem acesso à rede corporativa ou a repositórios de produção.
6. Configure políticas de segurança do GitHub
- Habilite branch protection rules para branches principais
- Use CODEOWNERS para exigir revisão de código de membros específicos do time
- Ative push protection para não permitir push de secrets
- Configure Dependabot para alertar sobre dependências vulneráveis (inclusive as sugeridas pela AI)
Ferramentas e configurações para manter o código seguro
Extensões e plugins
| Ferramenta | Propósito |
|---|---|
| Secret Scanner (GitHub) | Detecta secrets no código |
| TruffleHog | Escaneia repositórios por credenciais vazadas |
| GitLeaks | Verifica secrets em commits |
| Semgrep | Regras de segurança para AI-generated code |
| Socket.dev | Detecta supply chain attacks em npm/pip |
Configuração prática para Cursor/Windsurf
// .cursorrules ou .windsurfrules
{
"security": {
"blockCommands": ["rm -rf", "curl | bash", "eval"],
"allowedPaths": ["src/", "tests/"],
"blockedPaths": [".env", ".ssh", "secrets/", "config/prod/"],
"requireApproval": ["fileWrite", "commandExecution", "npmInstall"]
}
}
CI/CD seguro com AI
Adicione etapas de segurança no pipeline que escaneiam especificamente código gerado ou modificado por AI:
# .github/workflows/security.yml
name: AI Code Security Scan
on: [pull_request]
jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Scan for secrets
uses: trufflesecurity/trufflehog@v3
- name: Check for vulnerable dependencies
run: npm audit --audit-level=high
- name: SAST scan
uses: github/codeql-action/analyze@v3
Conclusão
Ferramentas de AI coding não vão desaparecer — e nem deveriam. Elas aumentam produtividade de forma real. Mas o entusiasmo por velocidade não pode ignorar segurança.
O bug do VSCode que expôs tokens GitHub, a estatística de 1 em cada 5 devs com acesso total, os riscos de supply chain — tudo isso aponta para uma conclusão: segurança em AI coding tools é responsabilidade de quem as usa, não de quem as cria.
Trate AI tools como trataria um estagiário talentoso mas inexperiente: dê acesso supervisionado, revise o trabalho, e nunca compartilhe senhas.
Na Haruo, construímos pipelines de desenvolvimento que integram AI coding com segurança desde o início — revisão obrigatória, escaneamento automatizado, e ambientes isolados para código sensível. O resultado é produtividade sem exposição desnecessária.
Quer ajuda para implementar segurança em ferramentas de AI coding no seu time? Fale com a Haruo → (/#contato)
Quer levar isso para produção?
Na Haruo, implementamos agents de IA, automações e sistemas escaláveis para empresas que querem resultados reais. Vamos conversar sobre seu projeto.
Falar com a Haruo →