Skip to main content

Ajudando desenvolvedores Python a antecipar a segurança com um novo plugin para PyCharm

Escrito por
Python feature

8 de setembro de 2020

0 minutos de leitura

Temos o prazer de anunciar o novo plugin da Snyk para PyCharm, que ajuda desenvolvedores Python a encontrar e corrigir problemas de segurança e licenciamento nas dependências de código aberto desde as primeiras linhas de código!

Tratar vulnerabilidades dentro do IDE é uma parte importante de antecipar a segurança e permitir que desenvolvedores assumam mais responsabilidade pela segurança em seus fluxos de trabalho. O relatório da ESG “Segurança no desenvolvimento moderno de aplicações”, de 2020, destaca essa capacidade como um dos 10 elementos essenciais de um programa eficaz de AppSec.

Este novo plugin para PyCharm complementa a lista de integrações de IDE já oferecidas pela Snyk para IntelliJ e Eclipse, proporcionando ampla cobertura a desenvolvedores em diversos ecossistemas e permitindo que antecipem a segurança o máximo possível.

Snyk para Python

Como uma das linguagens de programação mais populares da atualidade, não é surpresa que a Snyk monitore milhares de projetos Python por mês. Ajudar nossos usuários de Python — e toda a comunidade Python — a manter suas aplicações seguras e em conformidade é uma prioridade para nós. Por isso, investimos continuamente na criação de novos recursos e no aprimoramento dos existentes.

As aplicações Python podem ser testadas pela CLI ou por meio das nossas integrações baseadas em Git para GitHub, Bitbucket e GitLab. No início deste ano, adicionamos suporte à correção automatizada, ajudando desenvolvedores Python não apenas a encontrar vulnerabilidades, mas também a corrigi-las rapidamente com a criação automática de pull requests quando uma nova vulnerabilidade é detectada.

Oferecer uma integração nativa com o PyCharm foi o próximo passo. Como essa é a ferramenta mais popular para desenvolvimento Python (com participação combinada de 54% entre as edições Professional e Community do PyCharm, segundo a pesquisa JetBrains State of Developer Ecosystem de 2020), queríamos garantir que desenvolvedores Python pudessem integrar facilmente testes de segurança e conformidade de licenças à sua ferramenta de desenvolvimento favorita.

Principais recursos do plugin para PyCharm

O plugin da Snyk para PyCharm identifica vulnerabilidades de segurança e problemas de conformidade de licenças nas dependências de código aberto. Ele é executado automaticamente e destaca os problemas no IDE para que possam ser corrigidos rapidamente.

  • Fácil de usar: o plugin pode ser instalado com facilidade diretamente no PyCharm ou pela loja de plugins.

  • Completo e prático: os resultados mostram vulnerabilidades de segurança e problemas de licenciamento, acompanhados de informações contextuais e práticas para a correção. O plugin é compatível com Pip, pipenv e PyPi.

  • Preciso: o plugin se baseia na CLI da Snyk, que analisa suas dependências e correlaciona as descobertas com o banco de dados de vulnerabilidades Snyk Intel — o banco de dados de vulnerabilidades mais completo, atualizado e preciso do mercado.

Como começar

O plugin da Snyk para PyCharm é gratuito, mas você precisa ter uma conta Snyk para usá-lo.

Antes de começar, verifique se você está conectado ao app da Snyk e se as dependências Python foram instaladas.

Para instalar o plugin diretamente no PyCharm, acesse Preferências †’ Plugins e pesquise por Snyk.

Marketplace de plugins do PyCharm mostrando a página do plugin Snyk Vulnerability Scanner e o botão Instalar

Clique no botão Instalar — o PyCharm baixa e instala a versão mais recente da CLI da Snyk, e uma nova aba da Snyk aparece na parte inferior do PyCharm.

O PyCharm exibe um arquivo requirements.txt do Python, com a aba Snyk destacada na barra inferior da janela de ferramentas.

Antes de iniciar sua primeira análise, autentique sua conta Snyk. Para isso, basta obter seu token de API na Snyk e adicioná-lo às configurações do plugin, em Preferências > Ferramentas > Snyk:

Janela de Preferências do PyCharm mostrando as configurações de Tools > Snyk com campos para token, endpoint personalizado, organização e parâmetros adicionais.

Depois de autenticar, abra a aba da Snyk e clique no botão Analisar para iniciar os testes de segurança da Snyk. Em poucos segundos, se o plugin identificar vulnerabilidades, uma lista de problemas será exibida:

Plugin da Snyk no PyCharm exibindo 17 vulnerabilidades em um arquivo requirements.txt do Python, incluindo uma vulnerabilidade de cross-site scripting de gravidade média.

Os resultados da análise trazem muitas informações para ajudar você a corrigir os problemas rapidamente, incluindo o nível de gravidade da vulnerabilidade (com base no CVSS) e o título e tipo da vulnerabilidade. Os detalhes adicionais mostram como ela foi introduzida e informam sobre explorações disponíveis na prática, enquanto uma visão geral explica como ela pode ser explorada.

Para corrigir os problemas, o plugin da Snyk recomenda a atualização necessária para eliminar a vulnerabilidade. A Snyk sempre sugere o caminho mínimo para corrigir o problema específico e reduzir ao máximo o risco de falhas.

Um link na parte inferior dos detalhes do problema leva você ao banco de dados de vulnerabilidades da Snyk, onde é possível consultar outras informações, como CVE, CWE, pontuação CVSS e muito mais:

Página de vulnerabilidades da Snyk mostrando um problema de execução arbitrária de código de alta gravidade que afeta o pacote numpy do Python, com pontuação CVSS de 9,8.

Observações finais

Esta é a primeira versão do plugin, e planejamos fazer novas melhorias em breve. Enquanto isso, fique à vontade para compartilhar seus comentários conosco para que possamos priorizar o próximo conjunto de recursos!

Boa programação!

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.