Manutenção: bundle-audit
O curso trata do bundler-audit, uma gem Ruby que cruza cada versão de gem travada no Gemfile.lock com o ruby-advisory-db, um banco comunitário de vulnerabilidades conhecidas. Ele separa esse trabalho do Brakeman e do bin/importmap audit, que já rodam no CI deste app. As aulas passam pelos comandos e flags da CLI do bundle-audit, pelos campos de um Advisory, pela conversão de notas CVSS em severidade e pelo formato do relatório. Também esboçam um job de CI com a checagem que falta, ao lado do step gerado pelo Rails 8.1.
O que você vai aprender
- ✓Como bundler-audit, Brakeman e bin/importmap audit dividem as checagens de segurança
- ✓Os comandos update e check do bundle-audit e as principais flags
- ✓Os 13 campos de um Advisory e como o vulnerable? decide se uma versão é afetada
- ✓Como o criticality converte notas CVSS v3 e v2 em níveis de severidade
- ✓Como ler cada campo do relatório em texto do bundle-audit e o código de saída
- ✓Como uma checagem com bundle-audit poderia entrar num workflow de CI no GitHub Actions
Três ferramentas, três trabalhos: o que o bundler-audit checa
O CI deste app, .github/workflows/ci.yml, roda dois jobs cujos nomes soam como "segurança". scan_ruby roda bin/brakeman --no-pager, e scan_js roda bin/importmap audit. São duas ferramentas com dois alvos diferentes. O Brakeman lê o código-fonte Ruby e ERB deste app, procurando padrões de…
Ler a aula completa grátis →Currículo
7 aulasTrês ferramentas, três trabalhos: o que o bundler-audit checa
Separa o que Brakeman, bin/importmap audit e bundler-audit checam, e mostra que o app não audita gems.
A CLI do bundle-audit: comandos, flags e o ferramental deste app
Apresenta os comandos e flags do bundle-audit, a origem dos dados de advisories e os requisitos do ferramental.
O que existe dentro de um advisory do bundler-audit, lido do código da gem
Lê o Struct Advisory no código da gem, com os auxiliares de id e os métodos criticality e vulnerable?.
Lendo um relatório do bundle-audit, campo por campo
Percorre cada campo impresso de um achado, a checagem de origem insegura, a linha final e o código de saída.
Como seria adicionar o bundle-audit ao CI deste app
Esboça um job scan_gems no formato do scan_ruby e o compara com o step que o Rails 8.1 gera.
bundle-audit, Brakeman e importmap audit: três ferramentas, pouca sobreposição
Compara o que as três ferramentas leem e checam, usando um CVE em helper de view do Rails como fronteira.
Juntando tudo: as checagens de dependências deste app, e classificando severidade você mesmo
Recapitula a auditoria de gems que falta no app, os requisitos atendidos e as duas formas de incluí-la no CI.