Skip to main content

Proteja suas dependências de código aberto com a extensão Snyk para Visual Studio Code

Escrito por
blog feature oss vscode

23 de novembro de 2021

0 minutos de leitura

Temos o prazer de anunciar novas funcionalidades na extensão Snyk Vulnerability Scanner para Visual Studio Code, que facilitam para os desenvolvedores encontrar e corrigir vulnerabilidades e problemas de licença nas dependências de código aberto!

Para ajudar os desenvolvedores a assumir mais responsabilidade pela segurança de suas aplicações, as ferramentas de segurança precisam se integrar perfeitamente aos fluxos de trabalho existentes e às ferramentas usadas no dia a dia. Usado por 71% dos desenvolvedores, o Visual Studio Code é uma dessas ferramentas.

Usar uma extensão para encontrar vulnerabilidades nas dependências de código aberto adicionadas a um projeto e outra para identificar problemas de segurança, isolamento e qualidade no código dos desenvolvedores leva à alternância entre contextos e consome tempo. Ao combinar análise de composição de software (SCA) e testes estáticos de segurança de aplicações (SAST), a extensão Snyk Vulnerability Scanner para Visual Studio Code facilita a visualização unificada de todos os diferentes problemas de segurança e qualidade no código, ajudando os desenvolvedores a proteger toda a base de código desde o início do desenvolvimento.

Baseada na Snyk CLI, a nova extensão é compatível com todas as linguagens de programação aceitas pelo Snyk Open Source, incluindo JavaScript, Java, .NET, Python, Go, Ruby, PHP, Swift e Objective-C.

Análise de vulnerabilidades do Snyk no VS Code mostrando um problema de travessia de diretório no pacote JavaScript adm-zip e os detalhes da correção

E como começar? É fácil. Você pode configurar a extensão no Visual Studio Code em duas etapas rápidas e simples: instalar e conectar!

Vamos explicar tudo isso neste artigo, mas, se quiser saber ainda mais, recomendamos assistir às transmissões ao vivo de Building Secure Apps in VS Code no YouTube ou no Twitch, em 29 de novembro, às 14h UTC.

Instale a extensão Snyk no Visual Studio Code

Primeiro, acesse Preferências, Extensões (no seu IDE), pesquise por Snyk no Marketplace do Visual Studio Code e clique em Instalar para baixar e instalar a extensão. Isso deve levar alguns segundos. Em seguida, a extensão será adicionada à barra lateral.

Visualização de extensões do Visual Studio Code mostrando a extensão Snyk Vulnerability Scanner instalada e sua página de detalhes

Conecte o Visual Studio Code ao Snyk

Em seguida, conecte a extensão à sua conta Snyk. Se você ainda não tem uma, crie sua conta gratuita no Snyk .

Para fazer isso, clique no ícone do Snyk na barra lateral e, na visualização da extensão, clique no botão Conectar o VS Code ao Snyk.

Uma janela do navegador será aberta automaticamente para você se autenticar.

Página de autenticação da Snyk para a CLI, com um botão “Authenticate” e instruções para executar o comando snyk auth.

Clique em Autenticar para concluir o processo. Depois que a conexão for estabelecida, a extensão iniciará automaticamente sua primeira verificação do Snyk no Visual Studio Code:

Visual Studio Code exibindo uma análise de vulnerabilidades do Snyk com 86 problemas e um alerta detalhado de injeção de código para dustjs-linkedin.

Todo o processo, do início ao fim, não deve levar mais de um minuto.

Corrija problemas nas dependências de código aberto

A nova extensão apresenta uma lista dos diferentes tipos de problemas identificados pelo Snyk, divididos em três categorias:

  • Segurança de código aberto Novidade! - Vulnerabilidades conhecidas nas dependências de código aberto diretas e indiretas (transitivas) adicionadas ao projeto

  • Segurança de código - Falhas de segurança identificadas no seu próprio código

  • Qualidade do código - Problemas de qualidade no seu próprio código

Use o … no canto superior direito da visualização da extensão para escolher se quer ver apenas uma categoria de problemas. 

Vamos nos concentrar na nova categoria disponível na extensão — Segurança de código aberto — que mostra vulnerabilidades nas dependências de código aberto. Para cada vulnerabilidade identificada, a extensão exibe uma série de informações para ajudar você a corrigi-la rapidamente.

Selecione uma das vulnerabilidades para ver essas informações.

Detalhes da vulnerabilidade no Snyk para um problema de poluição de protótipo no dustjs-linkedin, com versões afetadas e corrigidas, medidas de correção e informações sobre exploração.

Na parte superior da visualização da vulnerabilidade, você verá metadados de segurança padrão (1), incluindo o CWE, a pontuação CVSS e o ID do Snyk.

Em seguida, a extensão explica como a vulnerabilidade foi introduzida e apresenta o caminho para a correção, recomendando para qual versão da dependência você deve atualizar (2).

A extensão também indica se há uma exploração da vulnerabilidade em circulação e se ela é madura ou não (3). No exemplo acima, há uma prova de conceito de exploração disponível para o problema de poluição de protótipo na dependência dustjs-linkedin. Vulnerabilidades com exploits representam um risco maior, pois são mais fáceis de transformar em ataques.

Abaixo dessas informações, a extensão mostra mais detalhes sobre como a dependência foi introduzida no projeto e o caminho para corrigir o problema (4).

Por fim, a extensão apresenta uma descrição detalhada da própria vulnerabilidade (5) — os tipos de ataque e como evitá-los.

Agora só falta atualizar a versão da dependência no arquivo de manifesto — neste caso, na aplicação JavaScript usada aqui, o arquivo package.json.

Proteja TODO o seu código desde o início

Como mencionamos acima, a extensão Snyk para Visual Studio Code oferece uma visão abrangente de todos os problemas na sua aplicação e também revela problemas de segurança e qualidade no seu próprio código. A extensão destaca fluxos de dados específicos e indica os arquivos e as linhas de código relevantes para o problema. Além de mostrar o que está errado no código, o plugin também apresenta exemplos de como outras pessoas corrigiram o problema para ajudar você a agir mais rápido (consulte nossa documentação para saber mais sobre como usar a extensão).

Ao testar o código dentro de um IDE, os problemas são sinalizados no início do desenvolvimento, antes de o código ser enviado para um sistema de gerenciamento de código-fonte. Em vez de encontrar uma vulnerabilidade crítica mais adiante no processo de desenvolvimento de software e ter que refazer o código repetidamente, testar o código assim que ele é adicionado é simplesmente mais eficiente e produtivo.

Desenvolver com rapidez é uma exigência dos negócios. Mas também é essencial não expor o desenvolvedor nem a organização em que trabalha a riscos de segurança. A nova extensão Snyk para Visual Studio Code ajuda os desenvolvedores a atender a esses dois requisitos sem abrir mão de nenhum deles. Instale hoje mesmo a extensão Snyk Vulnerability Scanner para Visual Studio Code.

Se quiser saber mais sobre como usar a extensão Snyk para Visual Studio Code, confira as transmissões ao vivo de Building Secure Apps in VS Code no YouTube ou no Twitch, em 29 de novembro, às 14h UTC.

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.

Leia mais

feature insights context
Blog

Os ataques autônomos já chegaram. A defesa precisa acompanhar o ritmo.

Os atacantes autônomos estão reduzindo o tempo disponível para a defesa. Saiba como a descoberta, a correção, a validação e a prevenção contínuas ajudam as equipes de segurança a acompanhar esse ritmo.

illustration hero ai
Blog

O furacão da IA chegou

A IA está acelerando tanto a criação de software quanto os ataques cibernéticos. As lideranças devem proteger agentes e código desde o início, aplicar controles em tempo de execução e validar as defesas de forma independente.

feature insights context
Blog

A prevenção é essencialmente um problema resolvido?

A prevenção em código gerado por agentes está resolvida do ponto de vista arquitetural — mas escolher controles que protejam a segurança sem desacelerar o desenvolvimento continua sendo um desafio.