Tox

Início/Cibersegurança

Revisão de código com foco em segurança

Algumas falhas só aparecem lendo o código. Uma rota entre centenas que esqueceu de conferir a permissão. Uma função de banco que monta SQL com texto do usuário. Uma chave de produção que ficou num arquivo de teste de dois anos atrás e continua no histórico do repositório.

Combinamos ferramentas de análise estática, que cobrem o código inteiro, com leitura manual das partes que mais importam: autenticação, autorização, pagamento e qualquer lugar onde entra dado de fora.

Solicitar proposta

Quando faz sentido

  • Antes de uma versão importante ir para produção.
  • Na aquisição de uma empresa ou de um sistema, como parte da due diligence técnica.
  • Quando o sistema foi construído com ajuda intensa de IA e ninguém revisou a segurança do que foi gerado.
  • Para complementar um pentest com a visão de dentro.

O que é revisado

Autorização em cada rota
Inventário de todas as rotas e verificação de que cada uma confere o usuário e a propriedade do registro. Relatórios anteriores nossos já encontraram mais de cem pontos de uma mesma falha repetida num único sistema.
Entrada de dados
Rastreio do que vem do usuário até o banco, o sistema de arquivos, comandos e respostas HTML.
Segredos
Busca por chaves e senhas no código atual e em todo o histórico do repositório.
Atribuição em massa
Rotas que gravam o objeto recebido inteiro, permitindo que o usuário altere campos como papel, plano ou empresa.
Tratamento de erro
Respostas que devolvem a mensagem crua do banco, com nome de tabela e coluna, e exceções que liberam acesso em vez de negar.
Dependências
Bibliotecas com vulnerabilidade conhecida e o quanto cada uma é de fato usada pelo código.

O que você recebe

  • Lista de achados ordenada por risco, com arquivo, linha, explicação e alteração sugerida.
  • Identificação de padrões repetidos, com a correção centralizada em vez de ponto a ponto.
  • Sessão com os desenvolvedores para explicar as causas.

Referências

  • OWASP ASVS 5.0
  • OWASP Code Review Guide
  • CWE Top 25 (2025)
  • NIST SP 800-218 (SSDF), prática PW.7

Perguntas frequentes

Qual a diferença para o pentest?

O pentest ataca o sistema em funcionamento, de fora. A revisão lê o código-fonte, de dentro. O pentest demonstra que uma falha pode ser explorada; a revisão alcança trechos que o teste externo não chega a exercitar, como rotas administrativas pouco usadas e tratamento de erro. As duas abordagens se complementam.

Qual a diferença entre SAST, DAST e revisão manual?

O SAST analisa o código parado com ferramentas e cobre o repositório inteiro em pouco tempo. O DAST testa a aplicação rodando, enviando requisições como um atacante faria. A revisão manual é a leitura feita por uma pessoa que entende a regra de negócio, e é ela que percebe, por exemplo, que um usuário consegue abrir o pedido de outra empresa trocando um número na URL.

Já temos análise estática no pipeline. Ainda faz sentido uma revisão manual?

Faz. A própria OWASP registra que é difícil automatizar a busca por falhas de autenticação, controle de acesso e uso inseguro de criptografia, e que essas ferramentas geram muitos falsos positivos. A falta de verificação de autorização (CWE-862) subiu para o 4º lugar do CWE Top 25 de 2025. A revisão manual concentra o tempo nesses pontos e usa o resultado da ferramenta como ponto de partida.

Como fica a confidencialidade do nosso código?

O acesso é de leitura, temporário e limitado aos repositórios do escopo, com acordo de confidencialidade assinado antes do início. O código não é enviado a ferramentas ou serviços externos sem autorização por escrito, e o acesso é revogado ao fim do trabalho.

Quanto tempo leva uma revisão?

Depende do tamanho do código, das linguagens e de quanto dele entra no escopo, por isso o prazo é definido depois de uma leitura inicial do repositório. Em sistemas grandes, é comum começar pelos módulos de maior risco, como autenticação, permissões, pagamento e integrações, e ampliar depois.

O que precisamos preparar?

Acesso de leitura ao repositório e a indicação do commit ou da versão a revisar, para que todos analisem o mesmo código. Uma visão geral da arquitetura, a lista de perfis de usuário e o contato de um desenvolvedor que conheça o sistema também ajudam. Se houver ambiente de homologação, ele serve para confirmar os achados.

O sistema foi construído com ajuda de IA. A revisão muda?

Os critérios são os mesmos. O que muda é a atenção a padrões repetidos, porque o código gerado tende a replicar a mesma solução em muitos arquivos. Quando uma rota esquece de conferir a permissão, é comum que dezenas de outras tenham o mesmo problema, e a correção precisa ser feita no ponto central.

Encontramos uma chave no histórico do repositório. Basta apagar o arquivo?

Não basta. A orientação do próprio GitHub é revogar ou trocar a chave primeiro, porque o conteúdo continua acessível em clones, forks e caches mesmo depois de reescrever o histórico. Com a chave revogada, o que ficou no histórico deixa de servir para acesso.

O relatório serve para due diligence, auditoria ou questionário de cliente?

Serve. Cada achado indica arquivo, linha, risco e correção sugerida, com referência à categoria CWE e ao requisito correspondente do OWASP ASVS. A revisão de código também é uma das práticas previstas no Secure Software Development Framework do NIST (SP 800-218, prática PW.7), que costuma aparecer em questionários de fornecedores.

Setores e serviços relacionados

Artigos sobre o tema

Fale com a Tox

Conte o que precisa. Respondemos com uma proposta de escopo, prazo e preço.

Solicitar proposta