Código-Fonte — Visão Geral
O assessment de código-fonte analisa repositórios Git para identificar problemas de qualidade, segurança, testes, dependências vulneráveis e muito mais. É uma análise 100% determinística — os resultados não dependem de IA e são reproduzíveis a cada execução.
Provedores Git suportados
| Provedor | Autenticação | Repositórios privados |
|---|---|---|
| GitHub | Personal Access Token (PAT) ou GitHub App | Sim |
| GitLab | Personal Access Token ou Project Access Token | Sim |
| Bitbucket | App Password ou Repository Access Token | Sim |
O que é analisado
Linguagens suportadas
O assessment detecta automaticamente as linguagens presentes no repositório e ativa os scanners correspondentes:
| Linguagem | Scanners ativos |
|---|---|
| Go | gosec, staticcheck, análise de módulos |
| JavaScript / TypeScript | eslint, semgrep, análise de package.json |
| Python | bandit, pylint, análise de requirements.txt / pyproject.toml |
| Java | SpotBugs, PMD, análise de pom.xml / build.gradle |
| Kotlin | detekt, análise de build.gradle.kts |
| Ruby | brakeman, análise de Gemfile |
| PHP | phpstan, análise de composer.json |
| C# (.NET) | roslyn analyzers, análise de .csproj / packages.config |
28 Scanners integrados
Os scanners cobrem diversas dimensões:
| Categoria | Exemplos de scanners |
|---|---|
| Segurança de código | Gosec, Bandit, SpotBugs, Brakeman, PHP Stan Security, Semgrep custom rules |
| Qualidade | Staticcheck, ESLint, PMD, Detekt, Pylint |
| Dependências | OSV Scanner (CVEs em todas as linguagens), Retire.js, pip-audit |
| Segredos | Gitleaks, Trufflehog — detecta API keys e senhas expostas |
| Contêineres | Trivy (Dockerfile, manifesto Kubernetes) |
| IaC | Checkov, tfsec — Terraform, Helm, CloudFormation |
| SBOM | Syft — gera Software Bill of Materials |
| Licenças | Detecção de licenças incompatíveis com o uso comercial |
10 Pilares de análise
Os findings são agrupados em 10 pilares temáticos:
| Pilar | O que avalia |
|---|---|
| Qualidade | Complexidade ciclomática, dívida técnica, code smells, duplicações |
| Segurança | Vulnerabilidades de código, injeção SQL, XSS, SSRF, secrets expostos |
| Testes | Cobertura de testes, testes ausentes, qualidade dos testes existentes |
| Dependências | CVEs em dependências, versões desatualizadas, licenças problemáticas |
| Arquitetura | Acoplamento, separação de responsabilidades, padrões de projeto |
| DevOps | CI/CD configurado, pipelines com segurança, Docker, IaC |
| Observabilidade | Logging estruturado, métricas, tracing, alertas |
| Documentação | README, docstrings, comentários, API docs |
| Governança | Gitflow, code review, proteção de branches, changelog |
| Performance/Resiliência | N+1 queries, timeouts, circuit breakers, retry logic, cache |
Modelo de execução segura
Sandbox Docker (padrão)
Por padrão, o assessment de código-fonte roda em um sandbox Docker isolado:
- Contêiner read-only — o código é montado como volume somente leitura
- Sem acesso à rede — o contêiner não faz chamadas externas durante a análise
- Sem persistência — o contêiner é destruído após a análise
- Cada linguagem tem um contêiner específico com as ferramentas pré-instaladas
Por que Docker?
O sandbox evita que código malicioso (ex.: Makefile com comandos destrutivos, scripts de build comprometidos) execute com permissões do servidor da plataforma.
Modo fallback (sem Docker)
Se o Docker não estiver disponível no servidor da plataforma, um subconjunto de scanners é executado diretamente no processo da plataforma (modo --no-docker). Neste modo:
- Scanners que dependem de binários Docker são desativados
- A análise é menos completa mas ainda funcional
- Um banner de aviso é exibido nos resultados indicando o modo fallback
Produção sem Docker
Para o assessment de código-fonte mais completo, certifique-se de que o Docker está disponível no servidor da plataforma. Consulte o guia de Implantação para detalhes.
AI Insights para código-fonte (opcional)
A análise técnica é sempre 100% determinística e não usa IA. Opcionalmente, você pode habilitar os AI Insights para receber uma narrativa executiva gerada pelo Claude:
- Resumo dos principais riscos por pilar
- Priorização de ações de curto prazo
- Análise de tendências (se comparado com execuções anteriores)
A IA é desativada por padrão para código-fonte. Você precisa habilitá-la explicitamente em cada assessment, fornecendo ou confirmando o uso da API key configurada.
Sem dados sensíveis para IA
A IA não recebe o código-fonte — apenas os metadados dos findings (tipo, pilar, severidade, arquivo afetado). O código nunca sai do seu ambiente.
Consulte o guia completo em Insights de IA.
Próximos passos
- Configurar um assessment de código-fonte — passo a passo completo
- Gerenciar allowlist — suprimir falsos positivos