Examinando os resultados da verificação de segurança avançada do GitHub
Agora há o GitHub Advanced Security em execução em nosso repositório Juice Shop e já devemos ter alguns resultados. Antes de analisarmos, vamos dar algumas etapas para gerar mais alguns resultados para que possamos ver as proteções do GitHub Advanced Security em ação. Em seguida, analisaremos os resultados da verificação e aprenderemos sobre algumas das ações que podemos realizar em resposta.
A TELUS irá mais uma vez compartilhar algumas práticas recomendadas.
Neste guia, você aprenderá:
Como visualizar os resultados de Dependabot, varredura de código e verificação de segredo
Como descartar resultados falsos positivos na verificação de segredo
Como corrigir vulnerabilidades automaticamente com o Dependabot
1. Adicione um segredo inválido ao repositório do Juice Shop.
Abra o arquivo README.md
do seu repositório do Juice Shop.
Cole o seguinte segredo (não se preocupe, ele já foi invalidado e não funcionará) em qualquer lugar do documento:
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
Faça commit das alterações.
Você receberá uma mensagem "Segredo detectado" informando que a proteção push para segredos encontrou um token pessoal de acesso do GitHub em uma linha específica do arquivo.
Você terá a opção de cancelar o commit ou permitir o segredo selecionando uma das três opções a seguir:
Ele é usado em testes
Ele é um falso positivo
Eu vou consertar isso mais tarde
Essas opções possibilitam avançar mesmo quando a proteção contra push detecta um segredo em potencial. Se você fizer commit em um segredo, o motivo selecionado aqui será registrado para revisão futura.
Queremos ver o alerta que a verificação secreta irá gerar, então selecione I'll fix this later e depois Allow Secret. Fazer commit da alteração.
A opção I’ll fix this later deve ser usada com moderação, se for o caso. Ela solicitará que você insira um motivo pelo qual está fazendo commit do segredo agora e crie um log para que o motivo possa ser revisado no futuro. O GitHub também cria alertas na verificação de segredo e por e-mail para o autor do commit, administrador do repositório, gerentes de segurança e qualquer outra pessoa que opte por receber alertas por e-mail.
2. Veja os alertas do Dependabot.
Na página GitHub.com do repositório do Juice Shop, clique em Settings abaixo do nome do repositório. Se você não conseguir ver a guia Security, selecione o menu suspenso “...” e clique em Security.
Clique na seção Dependabot na barra lateral.
Deve haver uma lista de resultados, com os alertas mais críticos no topo.
É possível filtrar esses resultados por Pacote, Ecossistema, Manifesto ou Gravidade e classificar por prioridade, data, gravidade e muito mais. É possível criar diferentes visualizações e marcar os URLs para voltar a eles.
O que os desenvolvedores realmente querem saber, entretanto, é como corrigir um problema. Clique no alerta Verification Bypass in jsonwebtoken.
O botão Review security update significa que um patch está disponível para esta vulnerabilidade. Clique nele para criar automaticamente uma pull request para corrigir o problema.
3. Veja os resultados da varredura de código.
Na página GitHub.com do repositório do Juice Shop, clique em Security abaixo do nome do repositório. Se você não conseguir ver a guia Security, selecione o menu suspenso “...” e clique em Security.
Clique em Code scanning na barra lateral.
Deve haver uma notificação de status na parte superior desta página para informar que a ferramenta está funcionando.
Assim como nos resultados do Dependabot, deve haver uma lista de vulnerabilidades, ordenadas por criticidade. E mais uma vez, é possível filtrá-los ou classificá-los com base em vários critérios, incluindo idioma, ferramenta e ramificação, ou classificá-los com base na data de criação ou atualização.
Clique no primeiro alerta de Code injection.
Tudo na página deste alerta foi projetado tendo em mente a correção. Há uma explicação do problema e uma maneira recomendada de corrigi-lo, completa com exemplos de código específicos da linguagem.
Siga o link Show paths. Isso exibe um fluxo de dados de ponta a ponta mostrando onde a vulnerabilidade começa e onde termina.
4. Veja os resultados da verificação de segredo.
Na página GitHub.com do repositório do Juice Shop, clique em Security abaixo do nome do repositório. Se você não conseguir ver a guia Security, selecione o menu suspenso “...” e clique em Security.
Clique em Secret scanning na barra lateral.
Deve haver apenas um alerta para o token pessoal de acesso do GitHub inválido que apresentamos anteriormente. Como você pode ver, os resultados não informam apenas que um segredo foi encontrado, mas também o tipo específico de segredo.
Clique neste alerta.
A página de alerta contém informações sobre onde o segredo foi encontrado, neste caso dentro do README.md
arquivo e algumas recomendações sobre como corrigir o problema.
Clique no segredo. A partir daqui, é possível ver que contornamos esse alerta secreto antes e quando fizemos isso.
6. Veja a visão geral da segurança.
Acesse a página da sua organização em GitHub.com e clique na guia Security. Se você não conseguir ver a guia Security, selecione o menu suspenso “...” e clique em Security.
A partir daqui, é possível ver alertas do Dependabot, varredura de código ou verificação de segredo para cada repositório da sua organização. É possível visualizar alertas por nível de risco ou com base na ferramenta que os gerou. Também é possível verificar quais repositórios estão ou não protegidos atualmente pelo GitHub Advanced Security e visualizar métricas como tempo médio de resolução (MTTR) e quantos segredos foram bloqueados ou ignorados.
A seguir: Resumo dos princípios básicos do GitHub Advanced Security
Vamos revisar o que aprendemos até agora e ver o que mais podemos fazer com o GitHub Advanced Security.