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.
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.
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
- Validação de Input e Codificação de Output
- Gerenciamento Seguro de Dependências
- OWASP ASVS: Padrão de Verificação de Segurança de Aplicações
- Técnicas de Revisão Segura de Código