Comece a desenvolver aplicações Java seguras com a Snyk
23 de junho de 2021
0 minutos de leituraSe você desenvolve em Java e quer criar aplicações mais seguras, está no lugar certo. A Snyk pode ajudar você nessa missão. Neste artigo, explicamos como começar a usar a Snyk para desenvolver em Java com segurança e proteger suas aplicações desde o início.
Se você está começando a usar a Snyk, é importante saber que oferecemos diversas ferramentas e produtos voltados para desenvolvedores. Algumas dessas ferramentas, como nossa CLI e certas integrações com IDEs, são compatíveis com vários produtos. Mas podemos dividir as soluções da Snyk em quatro produtos:
Snyk Open Source - Proteção das dependências de código aberto
Snyk Container - Proteção das imagens de contêiner
Snyk Infrastructure as Code (Snyk IaC) - Proteção da infraestrutura como código
Snyk Code - Proteção do seu código personalizado. Neste artigo, vamos nos concentrar apenas em Java.
Para começar a usar essas ferramentas, você precisa criar uma conta gratuita na Snyk. Para quem desenvolve por conta própria, nosso plano gratuito geralmente atende muito bem às necessidades. Então, pode deixar o cartão de crédito na carteira.
Depois de criar sua conta, há várias formas de usar a Snyk com Java. Vou explicar cada ferramenta separadamente.
Snyk CLI
A Snyk CLI é a ferramenta mais acessível para começar a usar a Snyk com Java. Você pode instalá-la de várias maneiras, por exemplo, usando npm ou brew:
Essa ferramenta é ótima para usar na sua máquina e também pode ser muito útil no seu pipeline de CI. Primeiro, autentique a Snyk CLI definindo seu token de API como uma variável de ambiente (recomendado para sistemas de CI) ou executando snyk auth.
É fácil verificar se há problemas de segurança nas dependências de código aberto do seu projeto Java: basta executar snyk test no diretório raiz do projeto. Dependendo do sistema de build usado em Java, verifique se o Maven ou o Gradle está instalado e disponível. A Snyk CLI usa seu gerenciador de pacotes e o pom.xml ou build.gradle para obter a árvore completa de dependências. Antes de executar snyk test, compile seu projeto com Maven ou Gradle para evitar resultados inesperados.
Se o projeto tiver vários arquivos de manifesto, como vários arquivos pom, use a opção --all-projects para verificar todos os projetos. Isso também funciona, por exemplo, se você tiver um projeto Java com Gradle junto a um frontend em JavaScript que use npm. Por fim, use a opção --help para consultar configurações específicas do Maven ou do Gradle.
Consulte a cola da CLI para ver mais dicas e truques sobre a Snyk CLI. Você também pode usar a mesma CLI para verificar se há problemas de segurança nos seus contêineres e na sua infraestrutura como código (IaC). Além disso, em breve lançaremos a Snyk Code para a CLI, que ajuda a evitar vulnerabilidades de segurança no seu código Java personalizado.
Conecte o repositório Git do seu projeto Java
Outra opção é conectar seu repositório Git. Ao conectar seu repositório Java, como um repositório no GitHub, a Snyk procura automaticamente o arquivo de manifesto do Maven ou do Gradle e verifica suas dependências. Por padrão, essa verificação é repetida diariamente, e você recebe notificações sempre que uma nova vulnerabilidade de segurança ou correção é encontrada no repositório.
O exemplo abaixo mostra um arquivo pom de um projeto de demonstração com vulnerabilidades de segurança conhecidas. Sempre que a Snyk encontra um novo problema, ele aparece no seu painel, com informações sobre a vulnerabilidade e possíveis formas de corrigi-la. Além disso, a integração com o Git também pode verificar Dockerfiles e executar análises da Snyk Code. Para saber mais sobre as análises da Snyk Code em aplicações Java com a integração da Snyk com o Git, confira este artigo do blog: Como resolver problemas de segurança em uma aplicação Spring MVC Java.

Plugins do Maven e do Gradle
Algumas pessoas preferem automatizar os testes de segurança durante o processo de build. Você pode fazer isso em um pipeline de CI, mas talvez seja mais prático configurar a automação na própria ferramenta de build. Se você usa Maven ou Gradle, é nessa etapa que as dependências são baixadas e o artefato é criado. Por que não automatizar as verificações de segurança da mesma forma que fazemos com os testes unitários? A Snyk oferece plugins para Maven e Gradle. Você só precisa de uma chave de API, que pode obter na sua conta gratuita.
Agora, você pode executar manualmente o comando snyk test pelo Maven ou pelo Gradle, ou vinculá-lo a uma tarefa específica durante o build da sua aplicação. Confira os artigos específicos sobre os plugins da Snyk para Maven e Gradle.
Plugins da Snyk para IDEs Java
Alguns desenvolvedores preferem fazer tudo na IDE. Hoje, até certo ponto, a IDE é como um canivete suíço, com uma enorme variedade de opções e recursos extensíveis. Alguns desenvolvedores praticamente vivem dentro da IDE.
Recentemente, no relatório do ecossistema JVM de 2021, descobrimos que IntelliJ IDEA, Eclipse e VS Code são as três IDEs mais usadas no desenvolvimento Java. A Snyk oferece plugins para IDEs nas três.
Confira os artigos a seguir para saber mais sobre cada plugin.
Como corrigir problemas de segurança em Java enquanto você programa no IntelliJ IDEA
Corrija vulnerabilidades de código aberto diretamente na sua IDE Eclipse
É fácil começar a usar a Snyk
Como você viu, começar a usar a Snyk e criar aplicações Java seguras não precisa ser complicado. Escolha as opções que combinam com seu jeito de trabalhar para desenvolver com agilidade e manter a segurança. Também oferecemos diversas integrações com diferentes pipelines de CI/CD, caso prefira. De qualquer forma, a Snyk oferece tudo de que você precisa para desenvolver em Java com segurança desde o início.
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.
