Skip to main content

Proteja seu fluxo de build no Bitbucket Pipes com a Snyk

Escrito por
Headshot of Noa Korem

Noa Korem

Finding open source vulnerabilities within the Bitbucket workflow tumb

5 de março de 2019

0 minutos de leitura

Temos o prazer de anunciar que agora a Snyk se integra ao Bitbucket Pipes, permitindo que usuários do Bitbucket protejam seus fluxos de integração e entrega contínuas (CI/CD) ao encontrar, corrigir e monitorar vulnerabilidades de código aberto nas dependências de aplicativos ou imagens Docker. Com esse lançamento, a Snyk tem orgulho de ser parceira do Bitbucket Pipes desde sua estreia.

Na semana passada, a Atlassian lançou o Bitbucket Pipes, que permite aos usuários personalizar e automatizar um fluxo de CI/CD usando um conjunto de tarefas prontas para usar. É possível configurar o pipeline com ações predefinidas, integradas ao fluxo de trabalho de forma repetível. Para adicionar um pipe ao seu fluxo de trabalho, basta copiar o pipe relevante e colá-lo no pipeline, como mostra a imagem abaixo:

Editor YAML do Bitbucket Pipelines na branch master, mostrando etapas de build do Node.js e a configuração de análise do Snyk, ao lado de uma lista de pipes de implantação disponíveis.

Encontre, corrija e monitore vulnerabilidades de código aberto no seu aplicativo.

Depois de adicionado ao fluxo de trabalho do Bitbucket Pipeline, o pipe da Snyk verifica suas dependências em busca de vulnerabilidades de código aberto como parte do fluxo de CI/CD. Se encontrar vulnerabilidades, o pipe da Snyk bloqueia o processo de acordo com a configuração definida pelo usuário. Por exemplo, é possível impedir que vulnerabilidades de alta gravidade avancem pelo build, como mostra a imagem abaixo:

Painel do Bitbucket Pipelines com uma lista de execuções de pipelines, incluindo status de sucesso e falha, horários de início, durações, commits e detalhes da branch master

Para as vulnerabilidades encontradas, o pipe da Snyk inclui um módulo de aplicação de patches que as corrige usando os patches de precisão da Snyk. Esses patches são desenvolvidos e testados rigorosamente em colaboração com os responsáveis pelos pacotes. A Snyk aplica o backport da correção original a todas as versões históricas aplicáveis, sem causar incompatibilidades no código.

Depois que o teste é aprovado, a Snyk monitora o código implantado em busca de novas vulnerabilidades. Quando uma nova vulnerabilidade relevante é descoberta, a Snyk notifica os usuários para minimizar o período de exposição. O banco de dados de vulnerabilidades da Snyk é atualizado constantemente com novas vulnerabilidades para garantir a melhor cobertura para nossos usuários.

Proteja suas imagens Docker

O pipe da Snyk também pode verificar imagens Docker em busca de vulnerabilidades do sistema operacional. A Snyk verifica a imagem base e as camadas adicionais, detectando as vulnerabilidades associadas a cada camada e à imagem base. A Snyk oferece orientações para corrigir os problemas e indica a alternativa de imagem base mais segura, que elimina um grande número de vulnerabilidades e reduz o risco de incompatibilidades no código.

Proteja todo o seu fluxo de trabalho no Bitbucket

A Snyk oferece uma interface de segurança abrangente para as diferentes soluções Bitbucket ao longo do fluxo de desenvolvimento:

  1. Tudo começa no gerenciamento do código-fonte, onde cada pull request é verificado e os pull requests de correção incluem as atualizações recomendadas.

  2. No pipeline, a Snyk impede a implantação de aplicativos vulneráveis por meio da integração com CI/CD.

  3. Por fim, após a implantação, a Snyk salva uma captura das dependências do aplicativo implantado, monitora novos problemas e envia notificações.

A Snyk participará do próximo Atlassian Summit (9 a 11 de abril, em Las Vegas) e apresentará sua solução completa para o Bitbucket. Visite nosso estande, o 102, ou agende uma reunião aqui.

Como adicionar um pipe da Snyk

Para permitir que a Snyk verifique suas dependências em busca de vulnerabilidades, adicione o pipe da Snyk ao seu bitbucket-pipelines.yml, informe um token de API da Snyk (nas configurações da conta) e defina o gerenciador de pacotes/linguagem (por exemplo, “npm”). Confira abaixo o trecho do Snyk Pipe:

Tela de pipeline do Bitbucket com o Snyk, exibindo uma configuração YAML para analisar dependências de aplicações e imagens Docker.

Veja a seguir um exemplo do pipe da Snyk, com npm definido como gerenciador de pacotes:

script:
 – npm install
 – npm test
 – pipe: snyk/snyk-scan:0.2.0
   variables:
     SNYK_TOKEN: $SNYK_TOKEN
     LANGUAGE: “npm”
– npm publish

Depois de incluída nos seus pipes, a Snyk procura os arquivos de manifesto (package.json, package-lock.json) e executa a verificação.

Observação: sempre adicione o pipe da Snyk como uma etapa posterior a qualquer etapa de instalação/build, como `npm install`, `dotnet restore`, `docker build` etc.

Há também duas funcionalidades adicionais que você pode adicionar ao pipe:

  • PROTECT - aplica patches da Snyk com base no arquivo de políticas .snyk, gerado previamente pelo assistente.

  • MONITOR - Se o teste não falhar, registra uma captura das dependências do aplicativo em snyk.io e permite ver o estado do código implantado, monitorá-lo e receber alertas quando novas vulnerabilidades forem encontradas no código.

E quanto ao Docker?

A Snyk também oferece verificação de imagens Docker, permitindo testar a presença de vulnerabilidades:

Para verificar imagens Docker, defina o parâmetro IMAGE_NAME.

Definir TARGET_FILE: “Dockerfile” permite ver orientações para corrigir os problemas da imagem.

Ao adicionar esses comandos, o pipe fica parecido com o exemplo a seguir:

script:
 – docker build -t $IMAGE_NAME .
 – pipe: snyk/snyk-scan:0.2.0
   variables:
     SNYK_TOKEN: $SNYK_TOKEN
     LANGUAGE: “docker”
     IMAGE_NAME: $IMAGE_NAME
     TARGET_FILE: “Dockerfile”
 – docker push $IMAGE_NAME

Entre as variáveis opcionais importantes estão:

  • SEVERITY_THRESHOLD — limita os relatórios da Snyk às vulnerabilidades de maior gravidade

  • DONT_BREAK_BUILD — instrui a Snyk a continuar o build apesar das vulnerabilidades identificadas.

Confira mais documentação aqui.

Leia mais

blog feature ai lilac
Blog

Transforme seu backlog de vulnerabilidades em pull requests com remediação agentiva

O Evo Remediation Agent está em Open Preview e traz a resolução automatizada de dependências para o Evo Agentic AppSec. Agora, as equipes de AppSec podem executar campanhas contínuas de remediação

AI Background min crop
Blog

A IA está acionando todos os riscos que você aceitou: sete insights do painel de segurança de IA sem filtros

A IA está tornando os ataques mais baratos e rápidos, expondo riscos que as organizações já carregam. Quatro líderes de segurança explicam por que a defesa na velocidade das máquinas e a correção mais rápida são essenciais.

blog feature snyk container custom base recommendations
Blog

Conheça o Evo Agentic AppSec: segurança que acompanha o ritmo do desenvolvimento com IA

O desenvolvimento impulsionado por IA está ultrapassando os fluxos de trabalho tradicionais de segurança. O Agentic AppSec da Snyk usa agentes de segurança para encontrar, corrigir e verificar vulnerabilidades continuamente, enquanto as pessoas definem os critérios.