Close

Integre o Snyk ao Atlassian Open DevOps

Foto de rosto de Warren Marusiak
Warren Marusiak

Evangelista tecnológico sênior

Para demonstrar como desenvolver, implementar e gerenciar aplicativos usando o Jira Software e várias ferramentas conectadas, nossa equipe criou o ImageLabeller, um aplicativo de demonstração simples gerado na AWS que usa aprendizado de máquina para aplicar etiquetas às imagens.

Esta página aborda como integrar o Snyk com o Bitbucket. Antes de começar, recomendamos a leitura da página Introdução ao ImageLabeller para contextualizar.

Como conectar o Bitbucket e o Snyk

Há algumas maneiras de trabalhar com o Snyk no Bitbucket. A primeira é habilitar a integração nativa do Snyk com o Bitbucket por meio da guia Segurança na tela do seu repositório. A segunda é adicionar uma etapa do Snyk a um arquivo bitbucket-pipelines.yml. Não há nenhuma desvantagem em fazer as duas coisas. A integração do Synk no Bitbucket oferece acesso rápido aos dados de vulnerabilidade para qualquer pessoa que veja o repositório no Bitbucket. Em seguida, você pode clicar no site da Snyk para obter informações adicionais sobre cada vulnerabilidade encontrada. A etapa Snyk em um arquivo bitbucket-pipelines.yml permite a verificação automática de cada commit em um pipeline.

Como adicionar a integração do Snyk ao Bitbucket

Para adicionar o Snyk a um repositório do Bitbucket, clique na guia Segurança, encontre a Integração com o Snyk e Tentar agora.

Imagem de como adicionar a integração do Snyk ao Bitbucket

Conceda acesso e clique em Conectar o Bitbucket com o Snyk.

Conecte o Bitbucket e o Snyk

Depois que a integração estiver configurada, feche a guia.

Guia de integração bem-sucedida

Clique na nova opção Snyk que aparece no painel de navegação à esquerda. Em seguida, clique no arquivo go.mod para aprofundar-se e ver mais dados das informações. O repositório Golang usa módulos go para gerenciar dependências neste exemplo. Para outros tipos de repositórios, vai haver diferentes arquivos de dependência.

Tela do Snyk

Para saber mais sobre como corrigir cada vulnerabilidade, clique em visitar o Snyk para acessar o respectivo site.

visite o snyk

Essa visualização no app Snyk é semelhante à tela de informações renderizadas no Bitbucket. Essa tela mostra uma lista de vulnerabilidades, junto com informações adicionais sobre cada vulnerabilidade.

Captura de tela do site Snyk

Abaixo está um exemplo de um relatório de vulnerabilidade no Snyk. Uma hierarquia de origem da vulnerabilidade é mostrada na seção Caminhos detalhados. No exemplo abaixo, você pode ver que o SubmitImage herda essa vulnerabilidade do AWS Golang SDK. O Snyk resume o status de todos os problemas à esquerda. Nesse caso, nenhum dos problemas é solucionável. Observe que há cinco problemas Sem correção disponível em Capacidade de correção. Isso significa que não há mitigação atual disponível para esses problemas. Os desenvolvedores podem monitorar a integração e aplicar as correções assim que estiverem disponíveis.

Captura de tela das informações da vulnerabilidade

Adicione uma etapa do Snyk ao bitbucket-pipelines.yml

Além de acessar o Snyk por meio da interface de usuário do Bitbucket, a funcionalidade do Snyk pode ser acessada por meio de Bitbucket Pipelines adicionando etapas aos arquivos bitbucket-pipelines.yml. Isso significa que a verificação automática de vulnerabilidades vai ocorrer em cada commit e vai alertar você sobre quaisquer vulnerabilidades de segurança.

Abaixo estão dois trechos de bitbucket-pipelines.yml para executar testes do Snyk como parte de um Pipeline.

Como adicionar o Snyk ao Bitbucket Pipelines para Golang

Este exemplo ilustra como executar snyk test para um projeto Golang usando módulos Go para gerenciamento de dependências.

definitions:
  steps:
    -step: &runsnyktest
        name: run snyk test
        image: snyk/snyk:golang
        script:
          - snyk auth $SNYK_TOKEN
          - cd submitImage
          - go mod graph
          - snyk test
pipelines:
  default:
    - step: *runsnyktest

Como adicionar o Snyk ao Bitbucket Pipelines para Python

Este exemplo ilustra como executar snyk test para um projeto Python usando Pip para gerenciamento de dependências.

definitions:
  steps:
    -step: &runsnyktest
        name: run snyk test
        image: snyk/snyk:python
        script:
          - snyk auth $SNYK_TOKEN
          - cd src
          - snyk test --skip-unresolved
          - cd ../tst
          - snyk test --skip-unresolved
pipelines:
  default:
    - step: *runsnyktest

Aqui está a aparência quando a etapa runsnyktest é executada em um pipeline do Bitbucket.

etapa runsnyktest no Bitbucket Pipelines

Conclusão...

A prática de integrar a segurança em seu pipeline de IC/CD (integração/implementação contínuas) é um princípio fundamental do DevSecOps. Com o DevSecOps, a segurança deve ser aplicada em cada fase do pipeline de DevOps tradicional: planejar, codificar, criar, testar, lançar e implementar. Ao incorporar a segurança ao seu fluxo de trabalho, ela se torna uma parte ativa e integrada do processo de desenvolvimento, em vez de uma ideia posterior. Isso implica em aplicativos mais seguros, menos incidentes e clientes mais satisfeitos.

Warren Marusiak
Warren Marusiak

Warren is a Canadian developer from Vancouver, BC with over 10 years of experience. He came to Atlassian from AWS in January of 2021.


Compartilhe este artigo

Leitura recomendada

Marque esses recursos para aprender sobre os tipos de equipes de DevOps ou para obter atualizações contínuas sobre DevOps na Atlassian.

Ilustração do DevOps

Comunidade de DevOps

Ilustração do DevOps

Caminho de aprendizagem de DevOps

Ilustração do mapa

Comece gratuitamente

Inscreva-se para receber a newsletter de DevOps

Thank you for signing up