No último post sobre DevSecOps, demonstramos como instalar o componente do WhiteSource Bolt no Azure DevOps e utilizá-lo nas definições de Build do seu pipeline. É altamente recomendável incluir verificações de vulnerabilidades no seu processo de desenvolvimento, e assim evitar o deploy de aplicações suscetíveis a invasões.

Componentes desatualizados, alertas e relação dos dados com políticas pré-definidas da empresa são os principais recursos da ferramenta. O gráfico abaixo da Forrester Wave™: Software Composition Analysis (SCA) Q1 2017 exibe a presença de mercado do WhiteSource Bolt e a comparação com outras soluções.

Forrester wave

Após a execução do Build da aplicação, veja que o histórico de scan e relatórios de vulnerabilidades ficam na área de Pipelines > WhiteSource Bolt. Na parte superior, fica disponível as definições de Build que utilizaram o componente e as últimas verificações. Também há um botão para exportar o relatório. Na parte de Security há um resumo distribuído em quatro quadros:

  • Vulnerability Score: resumo da classificação – Low | Med | High das aplicações analisadas, de acordo com a National Vulnerability Database (NVD).
  • Vulnerable Libraries: quantifica os componentes e bibliotecas vulneráveis. O quadro verde exibe a quantidade de itens analisados e que não foram encontradas vulnerabilidades; o vermelho exibe a quantidade de itens com vulnerabilidade.
  • Severity Distribution: dos itens classificados como vulneráveis, quantos são de risco alto, médio e baixo.
  • Aging Vulnerable Libraries: há quanto tempo foi identificada a vulnerabilidade.

whitesource-bolt-vsts

O relatório de Security Vulnerabilities traz todas as vulnerabilidades encontradas e a ação recomendada para corrigi-las. A coluna Description aponta o risco identificado naquele componente. E a coluna Top Fix descreve a recomendação para corrigir. Entre as principais estão a atualização de versão e substituição por outro componente.

security-vulnerabilities

Em seguida, o License Distribution identifica os tipos de licenças associadas aos componentes utilizados e a classificação de risco para cada uma. O link presente em cada linha direciona para o site oficial daquele provedor. O histograma (na direita) facilita a visualização, agrupando por tipo de risco. O tipo Unknown identifica as licenças que não foram analisadas por especialistas legais da WhiteSource.

license-risks

Por fim, o Outdated Libraries relaciona os componentes e bibliotecas presentes nas aplicações analisadas e que não estão atualizadas em suas últimas versões. O Inventory  é o inventário de todos os componentes open source identificados.

outdated-librariesinventory

Para mais detalhes, sugiro acessar a documentação completa no site da WhiteSource Bolt.