Auditorias: Brakeman
O curso usa o Brakeman, um analisador estático para Rails, sobre um relatório real deste repositório. Eram seis avisos: três de validação de formato, ligados às âncoras de regex, e três de possível injeção de SQL numa consulta de busca. Cada aviso passa por triagem, rastreando a origem dos valores e verificando se a segurança é local. As aulas separam confiança de gravidade e tratam de CI, linhas de base e arquivos de exclusão. Também mostram o que nenhum scanner acha e terminam com um fluxo que junta ferramentas e revisão humana.
O que você vai aprender
- ✓Como o Brakeman rastreia dados não confiáveis de fontes até destinos perigosos
- ✓Por que regexes de validação no Ruby precisam das âncoras \A e \z
- ✓Um método de quatro perguntas para triar avisos de injeção de SQL
- ✓A diferença entre a confiança de um aviso e a gravidade dele
- ✓Brakeman na CI com linhas de base e arquivos de exclusão com notas
- ✓Quais problemas de segurança exigem revisão humana porque nenhum scanner os acha
Rodando o Brakeman neste repositório
O curso anterior terminou com uma auditoria e uma lista de coisas que uma pessoa precisa procurar. O Brakeman é a parte dessa lista que um programa consegue fazer: ele lê o seu código Rails, segue dados da entrada até chamadas perigosas, e reporta o que encontra.
Ler a aula completa grátis →Currículo
7 aulasRodando o Brakeman neste repositório
Roda o Brakeman neste repositório e explica análise estática, fontes e destinos, níveis de confiança e limites.
Os avisos de validação de formato
Mostra por que uma regex de URL sem \z aceita quebras de linha e centraliza a correção num objeto.
Os avisos de injeção de SQL
Rastreia três valores no SQL de uma busca, conclui que não são exploráveis e troca a interpolação por literais.
Confiança e triagem
Separa confiança de gravidade e propõe quatro perguntas de triagem com três desfechos: corrigir, ignorar com motivo ou aceitar.
Convivendo com ele: CI e linhas de base
Trata do Brakeman na CI, de chegar a zero avisos, de linhas de base com notas e de flags úteis.
Além do Brakeman
Compara o Brakeman com outras ferramentas e lista falhas que só a revisão humana pega, como autorização faltando.
Juntando tudo: um fluxo de segurança
Resolve os seis avisos, monta quatro jobs de segurança em paralelo na CI e define um ritmo de revisões.