Skip to main content

Correções de segurança geradas por IA no Snyk Code já disponíveis

Escrito por
feature snyk code orange

9 de maio de 2023

0 minutos de leitura

Encontrar e corrigir problemas de segurança no código traz desafios. Um dos principais é a etapa essencial de alterar o código para resolver o problema. O processo envolve analisar os chamados de segurança, entender o que os alertas significam e de onde vêm no código-fonte e, então, decidir como corrigir o problema para poder voltar ao desenvolvimento. Não se preocupe: a IA vai cuidar de tudo, certo? Bem, isso quando ela aprender a produzir código seguro por padrão, sem copiar o trabalho de outras pessoas protegido por propriedade intelectual… nem compartilhar sua propriedade intelectual com o mundo.

No evento SnykLaunch de abril, apresentamos nosso novo recurso, que usa IA para sugerir correções diretamente no IDE. Assim, basta clicar na sugestão para aplicá-la automaticamente ao código. Hoje, temos o prazer de anunciar que essa funcionalidade de correção com IA já está disponível em beta aberto! As correções com IA do Snyk foram desenvolvidas especificamente para resolver problemas de segurança, sem risco de violação de direitos nem de repasse do seu código proprietário a terceiros.

Sugestões de correção com IA do Snyk no IDE: dois exemplos

Corrigindo uma vulnerabilidade de injeção de SQL com a sugestão de correção por IA do Snyk Code
Corrigindo uma vulnerabilidade de injeção de SQL com a sugestão de correção por IA do Snyk Code

No exemplo acima, o Snyk Code identifica uma vulnerabilidade de injeção de SQL. Esse problema de alto risco pode ser especialmente difícil de corrigir, pois o trecho do código que faz a chamada ao banco de dados pode estar completamente separado da parte que monta a consulta e as variáveis. Rastrear a origem desse problema de segurança já é um desafio; decidir como alterar o código para corrigi-lo dá ainda mais trabalho. Mas, aqui, vemos a sugestão de correção com IA do Snyk rastreando a origem do problema e propondo uma correção no IDE.

Corrigindo um problema de credenciais embutidas no código com a sugestão de correção por IA do Snyk Code
Corrigindo um problema de credenciais codificadas com a sugestão de correção por IA do Snyk Code

Neste segundo exemplo, são detectadas credenciais codificadas diretamente no código-fonte. A correção da IA do Snyk remove essas credenciais e as substitui por uma variável de sessão.

IA desenvolvida especificamente para correções de segurança confiáveis

Há muitas demonstrações de ferramentas de IA gerando código que parece interessante. Mas, à medida que engenheiros e especialistas em segurança se aprofundam no assunto e avaliam suas implicações, algumas perguntas vêm à tona:

  • Posso confiar que o código gerado por IA não está introduzindo outros problemas de segurança? 

  • E, se a IA aprende com código disponível em repositórios abertos, corro o risco de incorporar trabalho protegido por direitos autorais de outra pessoa ou código de projetos de código aberto com licenças restritivas? 

Essas preocupações são válidas. As ferramentas de IA que geram código nessas demonstrações não deixam claro de onde vem o código, se ele é realmente seguro nem quais restrições de licença podem se aplicar ao código produzido pela IA.

Como as sugestões de correção com IA do Snyk foram criadas para resolver problemas de segurança, desenvolvemos esse recurso levando essas preocupações em conta. Para isso, treinamos nossos modelos de IA somente com projetos de código aberto que usam código explicitamente licenciado sob licenças permissivas. Além disso, as sugestões de correção da IA do Snyk são pequenas alterações pontuais, em vez de longos trechos de código gerados. As demonstrações acima mostram os tipos de sugestão de correção que a IA do Snyk oferece.

Para garantir que as correções da IA do Snyk não introduzam novos problemas, antes de apresentar uma sugestão a um desenvolvedor, o mecanismo de IA a verifica com o mecanismo de segurança do Snyk Code para confirmar que: (1) ela resolve o problema em questão e (2) não introduz novos problemas. A correção só é apresentada ao desenvolvedor quando o mecanismo de IA tem confiança no resultado do ciclo de feedback de teste do Snyk Code. E, como desenvolvedor, você sempre decide se quer aplicar e aceitar a correção.

Por fim, há dúvidas sobre a segurança e o tratamento adequado do seu próprio código ao usar IA. Os modelos usarão meu código para aprender e, com isso, poderão compartilhar meu código, minha propriedade intelectual e informações confidenciais com outras pessoas? A IA do Snyk não armazena o código dos clientes, exceto em cache temporário necessário para executar a análise de segurança. Nossas políticas estão documentadas com clareza no artigo “Como o Snyk trata seus dados”, que também explica nossa política de treinamento de IA: “O Snyk Code não usa nenhum código de cliente (1) para treinar mecanismos nem (2) para extrair exemplos e apresentar possíveis correções.” 

Como ativar as sugestões de correção com IA do Snyk

Neste beta aberto inicial, o novo recurso está disponível para JavaScript nos plugins de IDE do Snyk para Visual Studio Code e Eclipse. Vamos ampliar gradualmente a cobertura para mais linguagens de programação e continuar aprimorando a experiência. Para receber sugestões de correção, você precisa ativar o recurso na aba Snyk Preview.

Instale ou atualize a extensão do Snyk para Visual Studio Code ou o plugin do Snyk para Eclipse. Para garantir que você está usando a versão mais recente, vale sempre reiniciar o IDE.