Proteja seu fluxo de build no Bitbucket Pipes com a Snyk
Noa Korem
5 de março de 2019
0 minutos de leituraTemos 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:

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:

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:
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.
No pipeline, a Snyk impede a implantação de aplicativos vulneráveis por meio da integração com CI/CD.
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:

Veja a seguir um exemplo do pipe da Snyk, com npm definido como gerenciador de pacotes:
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:
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.


