Skip to main content

Automatize a análise de vulnerabilidades no AWS CodePipeline com a Snyk

Escrito por
Headshot of Jay Yeras

Jay Yeras

blog hero aws codepipeline snyk

8 de junho de 2021

0 minutos de leitura

Ajudar desenvolvedores a criar software com segurança sempre foi a missão da Snyk. Ajudamos você a encontrar e corrigir vulnerabilidades de segurança no seu código e nas dependências de código aberto, além de facilitar a integração de testes de segurança aos pipelines automatizados de entrega das equipes de desenvolvimento. A Snyk também oferece integrações nativas com as principais plataformas de CI/CD, como Jenkins, TeamCity e CircleCI.

Por isso, temos o prazer de anunciar a mais recente integração da Snyk, com o AWS CodePipeline. Parte do conjunto de ferramentas para desenvolvedores da AWS, o AWS CodePipeline permite que as organizações entreguem recursos aos usuários com rapidez, automatizando o processo de lançamento de software.

Com essa nova integração, quem desenvolve com AWS CodePipeline não precisa mais sair do console para realizar análises de vulnerabilidades. As análises de segurança automatizadas do Snyk Open Source estão disponíveis diretamente na AWS. Além disso, essa integração dispensa a necessidade de integrar outras ferramentas de desenvolvimento, como o AWS CodeCommit.

Como parte do serviço de entrega contínua, a Snyk permite que usuários do AWS CodePipeline incorporem a segurança automaticamente às etapas de build, teste e deploy. Como parceiras, AWS e Snyk ajudam seus usuários e clientes em comum a integrar a segurança aos pipelines modernos e automatizados de CI/CD com mais facilidade e elegância.

Como começar a usar o AWS CodePipeline

A integração da Snyk com o AWS CodePipeline pode ser iniciada diretamente no console do AWS CodePipeline. Se você ainda não tem uma conta na Snyk, pode criar uma gratuitamente.

No console do AWS CodePipeline, você pode adicionar a Snyk a um pipeline novo ou existente em poucas etapas. Depois de qualquer etapa Source, é possível adicionar uma etapa Scan. Clique em Edit e adicione uma etapa Scan. Em seguida, clique em Add an Action Group para abrir a janela Edit Action. Nela, você pode dar um nome à ação, clicar na seta suspensa de Action Provider, selecionar Snyk e clicar em Connect with Snyk para iniciar a conexão.

Caixa de diálogo de edição da ação do AWS CodePipeline, com Snyk em destaque na lista de provedores de ação para uma ação de análise
O Snyk agora está disponível na lista suspensa de provedores de ações do AWS CodePipeline.

Em seguida, você precisará informar suas credenciais da Snyk para permitir que o AWS CodePipeline comece a analisar seu código de código aberto.

Configuração da ação do Snyk no AWS CodePipeline com uma janela de login do Snyk que oferece opções de acesso pelo GitHub, Bitbucket, Google, SSO e Azure AD

Depois de conectar a Snyk, você pode configurar a integração definindo limites de severidade para o relato de problemas. Por exemplo, você pode optar por interromper os builds apenas quando houver vulnerabilidades de alta severidade. Também é possível escolher entre analisar todo o código da aplicação ou focar nos arquivos de manifesto.

Caixa de diálogo de configuração do Snyk para AWS CodePipeline, com seleção de organização, níveis de gravidade e botão Continuar

Análise dos resultados

Quando uma análise é iniciada, a Snyk analisa o arquivo de manifesto da aplicação e compara a lista de dependências com o banco de dados de vulnerabilidades da Snyk. Ao terminar, os resultados aparecem imediatamente no AWS CodePipeline, mostrando os problemas encontrados e como corrigi-los diretamente no console.

Resultados da análise do pipeline da AWS mostrando uma verificação bem-sucedida, detalhes da configuração e resultados de uma atualização da imagem base do Node.js
Visão geral do projeto no Snyk mostrando 78 problemas, incluindo uma vulnerabilidade de gravidade alta de gravação arbitrária de arquivos no adm-zip.

A Snyk oferece relatórios detalhados sobre seu código de código aberto. Acesse Projects e selecione View Report para definir a frequência com que o projeto será verificado em busca de vulnerabilidades.

Em View Report, você também pode selecionar a guia Dependencies para ver quais dependências de código aberto são usadas na criação da aplicação. Ao analisar o arquivo de manifesto da aplicação, a Snyk cria uma árvore completa de dependências e identifica com precisão as dependências diretas e transitivas (as transitivas correspondem a 78% das vulnerabilidades detectadas pela Snyk). Assim, a Snyk mostra exatamente como uma vulnerabilidade foi introduzida na aplicação.

A Snyk recomenda correções que reduzem drasticamente o número de vulnerabilidades no seu código de código aberto, exigindo poucas alterações. Muitas vezes há várias bibliotecas alternativas disponíveis, mas a Snyk sugere a melhor versão da dependência para eliminar o maior número possível de vulnerabilidades. A Snyk também ajuda a corrigir problemas em dependências transitivas, fazendo o menor número possível de atualizações nas dependências diretas. Isso pode acelerar significativamente a triagem para desenvolvedores sem causar problemas de compatibilidade.

No console do AWS CodePipeline, você também pode consultar dados de vulnerabilidades organizados por pontuação de prioridade, explorações conhecidas e várias outras características. Filtre os resultados para exibir apenas problemas de alta severidade, vulnerabilidades com correção disponível ou outras opções que ajudem a priorizar seus esforços de correção.

A parceria contínua da Snyk com o AWS DevOps

A AWS é uma parceira importante para ajudar a Snyk a cumprir sua missão de priorizar a segurança para desenvolvedores. Muitos compradores de tecnologia têm fortes vínculos com o ecossistema AWS e confiam nele. A relação entre AWS e Snyk começou quando nossa empresa foi fundada, em 2015, e se fortalece a cada dia. A Snyk tem muito orgulho de ser parceira APN Advanced Tier, parceira de lançamento do APN Global Startup Program e cliente da AWS.

Além disso, anunciamos recentemente integrações com o conjunto de ferramentas da AWS relacionadas ao Kubernetes: Amazon Elastic Container Registry (ECR) e Amazon Elastic Kubernetes Service (EKS). Essas integrações permitem que você analise contêineres Kubernetes com a Snyk sem sair do console da AWS.

Além do Kubernetes, a Snyk oferece integrações de produtos com soluções de AWS DevOps, serverless e contêineres. Nas próximas semanas e meses, AWS e Snyk devem lançar mais soluções integradas e conteúdos técnicos úteis. Saiba mais na nossa página dedicada à AWS.

Juntas, AWS e Snyk tornaram o processo de identificar e corrigir vulnerabilidades em código de código aberto armazenado no AWS CodePipeline o mais simples possível. Essa integração fácil de usar permite detectar problemas mais cedo e acelerar todo o ciclo de vida de desenvolvimento de software (SDLC). Assim, sua organização pode continuar aprimorando sua postura de segurança sem atrapalhar o trabalho dos desenvolvedores.

Quer saber mais sobre a análise de workflows do AWS CodePipeline? Consulte nossa documentação completa para começar.

Comece a resolver desafios de capture the flag

Aprenda a resolver desafios de capture the flag assistindo sob demanda ao nosso workshop virtual introdutório.