Cyber Security Academy · Aula

Técnicas de Revisão Segura de Código

Identifique problemas de segurança na revisão de código: fluxos de dados, limites de confiança, APIs perigosas e controles ausentes.

Aula 4 de 413 etapas

Técnicas de Revisão Segura de Código é uma aula grátis de Cyber Security Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cyber Security Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cyber Security Academy inclui 4 aulas no total.

Objetivo da Revisão Segura de Código

A revisão segura de código identifica vulnerabilidades de segurança no código-fonte antes da implantação. Diferentemente da revisão funcional de código, ela se concentra em limites de confiança, fluxos de dados, APIs perigosas, controles ausentes e erros na lógica de segurança — não em correção ou estilo.

Revisão Manual versus Automatizada

As ferramentas SAST automatizadas (Semgrep, SonarQube, CodeQL) detectam rapidamente padrões conhecidos, mas não identificam falhas na lógica de negócio, vulnerabilidades complexas que envolvem vários componentes e problemas dependentes do contexto. A revisão manual identifica o que a automação não detecta. Ambas são necessárias.

Análise dos Pontos de Entrada

Comece a revisão de segurança mapeando todos os pontos de entrada: endpoints HTTP, manipuladores de filas de mensagens, uploads de arquivos, tarefas agendadas, webhooks e argumentos da CLI. Cada ponto de entrada que aceita dados externos é um possível ponto de injeção que exige análise cuidadosa.

Rastreamento do Fluxo de Dados

Rastreie os dados controlados pelo usuário desde o ponto de entrada até seu uso final na aplicação. Eles chegam a uma consulta de banco de dados? A um comando de shell? A um modelo HTML? A uma chamada de API? Acompanhe o fluxo de dados e verifique cada etapa de transformação e sanitização.

Análise dos Limites de Confiança

As decisões de segurança ocorrem nos limites de confiança — onde os dados passam de um contexto menos confiável (uma solicitação HTTP) para um mais confiável (um banco de dados ou o OS). Cada passagem por um limite de confiança deve validar, sanitizar ou autorizar os dados.

Lista de Verificação de APIs Perigosas

Sinalize o uso de: eval(), exec(), system(), shell_exec(), innerHTML, dangerouslySetInnerHTML, deserialize(), pickle.loads(), Runtime.exec(), ProcessBuilder, analisadores XML sem a expansão de entidades desativada e primitivas criptográficas usadas diretamente em vez de APIs de alto nível.

Revisão de Autenticação e Autorização

Verifique: todo endpoint sensível é protegido por autenticação? A autorização é verificada no servidor para cada ação? Um usuário pode acessar os dados de outro usuário alterando um parâmetro de ID (IDOR)? As operações sensíveis estão protegidas contra CSRF?

Revisão do Tratamento de Erros

Procure blocos catch que ignoram exceções silenciosamente. Verifique se as mensagens de erro exibidas aos usuários não revelam caminhos internos, rastreamentos de pilha ou a estrutura do banco de dados. Confirme se as exceções de segurança (AuthenticationException) são registradas e não simplesmente ignoradas.

Revisão de Criptografia

Sinalize: MD5 ou SHA-1 para hash de senhas (use bcrypt/Argon2), chaves simétricas ou IVs codificados diretamente no código, criptografia no modo ECB (use GCM ou CBC com HMAC), implementações criptográficas personalizadas e geradores de números aleatórios que não sejam criptograficamente seguros.

Revisão de Dependências e Configuração

Revise o package.json/pom.xml em busca de dependências desatualizadas. Verifique na configuração da aplicação se o modo de depuração está ativado em produção, se há páginas de erro detalhadas, credenciais de administrador em arquivos de configuração e cabeçalhos de segurança ausentes (HSTS, CSP, X-Frame-Options).

Ferramentas: Semgrep e CodeQL

As regras do Semgrep correspondem a padrões de sintaxe com consciência semântica. Escreva regras personalizadas para os padrões específicos da sua base de código. O CodeQL trata o código como dados — escreva consultas sobre a AST para encontrar fluxos de dados das fontes aos destinos em arquivos e chamadas de métodos.

Verificação de Conhecimento

O que é uma vulnerabilidade IDOR e onde você procuraria por ela em uma revisão de código?

Resumo

Uma revisão segura de código eficaz combina o mapeamento de pontos de entrada, o rastreamento do fluxo de dados, a análise de limites de confiança, a detecção de APIs perigosas e ferramentas SAST automatizadas. Ela detecta problemas de segurança que a revisão funcional não identifica, especialmente falhas na lógica de negócio e lacunas sutis de autorização.

Grátis para começar

Aprenda Cyber Security Academy com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
76
Aulas
303

Perguntas Frequentes

A aula “Técnicas de Revisão Segura de Código” é grátis?

Sim — o texto completo de “Técnicas de Revisão Segura de Código” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cyber Security Academy, atualize para CoddyKit PRO. O curso de Cyber Security Academy inclui 4 aulas no total.

O que vou aprender em “Técnicas de Revisão Segura de Código”?

Identifique problemas de segurança na revisão de código: fluxos de dados, limites de confiança, APIs perigosas e controles ausentes. Você pratica Cyber Security Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Cyber Security Academy?

Nenhuma experiência prévia é necessária. Cyber Security Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Técnicas de Revisão Segura de Código”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Cyber Security Academy?

Sim. Cada aula de Cyber Security Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Validação de Input e Codificação de Output
  2. Gerenciamento Seguro de Dependências
  3. OWASP ASVS: Padrão de Verificação de Segurança de Aplicações
  4. Técnicas de Revisão Segura de Código
← Voltar para Cyber Security Academy