Pular para conteúdo

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