Skip to main content

Exibindo informações de segurança da Snyk no GitHub code scanning

Escrito por

7 de outubro de 2020

0 minutos de leitura

Muitos usuários da Snyk usam o GitHubpara hospedar o código-fonte. Em geral, isso significa consultar um lugar (o GitHub) para ver o código-fonte e outro (a Snyk) para obter informações sobre vulnerabilidades. A Snyk sempre buscou levar as informações de segurança até onde os desenvolvedores estão, por exemplo, com ferramentas locais (como nossa CLI e nossos plugins de IDE), além de pull requests e verificações de status no GitHub.

Com o lançamento do GitHub code scanning, ficamos felizes em poder integrar ainda mais as informações de segurança (da Snyk) ao fluxo de trabalho nativo dos desenvolvedores, com atualizações nas nossas GitHub Actions para oferecer suporte ao code scanning.

GitHub code scanning

O code scanning adiciona um novo recurso à guia Security do GitHub e está disponível para todos os usuários do GitHub a partir de hoje. Com o code scanning, você pode conectar todas as suas ferramentas de segurança em um só lugar e ver todas as vulnerabilidades e os problemas de segurança relacionados aos seus repositórios.

O code scanning identifica problemas de segurança nos seus repositórios antes que eles cheguem à produção. Isso pode incluir código-fonte de aplicações, recursos, arquivos de configuração etc.

Resultados da análise de código do GitHub filtrados para vulnerabilidades abertas do Snyk, incluindo problemas de alta gravidade no SQLite3 e na validação de entrada do sistema.
Vulnerabilidades do Snyk Container na análise de código do GitHub

Snyk Container e Snyk Infrastructure as Code

Hoje, tanto o Snyk Container (para analisar imagens de contêiner) quanto o Snyk Infrastructure as Code (para detectar configurações incorretas em arquivos de configuração do Kubernetes e código do Terraform) oferecem suporte ao GitHub code scanning por meio das nossas Snyk GitHub Actions existentes.

Veja um exemplo que usa a Snyk Action para testar uma imagem Docker em busca de vulnerabilidades e, em seguida, enviar um arquivo SARIF para o code scanning. SARIF é um padrão aberto da OASIS usado pelo code scanning como formato de intercâmbio para problemas de segurança.

name: Snyk Container and GitHub Security example
on: push
jobs:
  snyk:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Build an image
      run: docker build . -t some-image       
    - name: Run Snyk to check image for vulnerabilities
      continue-on-error: true
      uses: snyk/actions/docker@master
      env:
        SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
      with:
        image: some-image
        args: --file=Dockerfile
    - uses: github/codeql-action/upload-sarif@v1
      with:
        sarif_file: snyk.sarif

Assim, com apenas três linhas adicionais no nosso fluxo de trabalho para usar a ação upload-sarif, podemos transferir dados da Snyk para o GitHub.

O novo produto Infrastructure as Code da Snyk também funciona com o GitHub code scanning. Com ele, podemos detectar configurações incorretas nos seus arquivos JSON e YAML do Kubernetes ou no código do Terraform e exibir esses problemas diretamente no GitHub. O fluxo de trabalho a seguir apresenta um exemplo simples:

name: Snyk Infrastructure as Code and GitHub Security example
on: push
jobs:
  snyk:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Run Snyk to check Kubernetes manifest file for issues
      continue-on-error: true
      uses: snyk/actions/iac@master
      env:
        SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
      with:
        file: your/kubernetes-manifest.yaml
    - uses: github/codeql-action/upload-sarif@v1
      with:
        sarif_file: snyk.sarif

Com o fluxo de trabalho acima em execução, as configurações incorretas de segurança identificadas pela Snyk aparecerão no GitHub.

Relatório do Snyk Infrastructure as Code mostrando uma configuração incorreta de severidade média em um Deployment do Kubernetes, relacionada aos recursos de securityContext.
Detalhes sobre um problema encontrado pelo Snyk Infrastructure as Code

Aqui, você pode ver os detalhes do problema, o contexto da linha que contém o erro e o commit que o introduziu.

Atualmente, a Snyk Infrastructure as Code Action oferece suporte apenas a arquivos de configuração do Kubernetes, mas em breve lançaremos suporte ao Terraform e, mais adiante, a outros formatos de configuração.

Próximas etapas

Experimente as Snyk GitHub Actions e o novo suporte ao GitHub code scanning e conte para nós o que achou. Já temos ótimas ideias para aprimorar as Actions e ampliar o suporte ao GitHub code scanning para todas as funcionalidades da Snyk. Fique de olho: teremos ainda mais recursos para integrar a segurança ao centro do fluxo de trabalho dos desenvolvedores.

Comece a jogar Capture the Flag

Aprenda a resolver desafios de Capture the Flag assistindo à gravação sob demanda do nosso workshop virtual introdutório.

Leia mais

feature customer snowflake
Article

Segurança desde o início: conheça a integração do Snyk Studio com o Snowflake Cortex Code

O Snyk Studio se integra ao Snowflake Cortex Code para detectar vulnerabilidades em código gerado por IA, dependências e contêineres durante o desenvolvimento.

blog feature pypi spoof
Article

A Snyk AI Security Platform completa, grátis para mantenedores de projetos open source

Mantenedores de projetos open source estão sobrecarregados com relatórios reais de vulnerabilidades e precisam de ajuda para priorizar, corrigir e lançar correções mais rápido. O Secure Developer Program da Snyk dá aos projetos qualificados acesso gratuito à Snyk AI Security Platform.

feature insights announcement
Blog

Comprometimento da cadeia de suprimentos do node-gyp: um worm npm que se autopropaga e se esconde em binding.gyp

Um novo worm do npm está explorando binding.gyp para acionar o node-gyp durante a instalação, permitindo que pacotes maliciosos executem código sem scripts de ciclo de vida. Ele rouba credenciais, mantém persistência no GitHub e se propaga entre contas de mantenedores.