Snyk e Atlassian: como integrar a segurança ao desenvolvimento de software com assistência de IA
14 de fevereiro de 2024
0 minutos de leituraAdicionar IA ao ciclo de vida de desenvolvimento de software (SDLC) traz grandes oportunidades — e grandes perigos. Será que os riscos compensam os benefícios?
Esse foi o tema da conversa entre Sascha Wiswedel, engenheiro sênior de soluções da Atlassian, e Simon Maple, principal defensor dos desenvolvedores na Snyk, que se reuniram para falar sobre segurança no ciclo de vida do desenvolvimento de software com assistência de IA.
Para maximizar os benefícios e reduzir os riscos, é preciso garantir que confiança e segurança estejam integradas a todos os processos, projetos e produtos das equipes de software. Isso sempre foi importante, mas agora é ainda mais, pois a IA está mudando profundamente a forma como o código é escrito e mantido.
Os riscos e benefícios da IA no desenvolvimento de software
O primeiro passo para gerenciar a IA de forma eficaz no desenvolvimento de software é entender onde ela está sendo usada. Entre os usos mais comuns da IA no desenvolvimento estão:
Gerar código
Resumir código
Adicionar comentários
Escrever um README
Refatorar código
Fornecer modelos
Programação em dupla
A geração de código, que usa IA generativa para ajudar os desenvolvedores a programar dentro do ambiente de desenvolvimento integrado (IDE), é a área com maior potencial para aumentar a produtividade — e também para introduzir riscos.
“O que mais vemos são desenvolvedores usando ferramentas de IA como GitHub Copilot e Amazon CodeWhisperer, que se tornaram muito populares”, disse Simon. “Mas muitas vezes eles não entendem completamente os riscos associados ao uso dessas ferramentas.”
Sem dúvida, a IA está transformando o desenvolvimento de software na comunidade de tecnologia. O relatório de 2023 da Snyk sobre segurança de código gerado por IA constatou que 96% dos desenvolvedores de software já usam ferramentas de programação com IA, e uma pesquisa da McKinsey concluiu que os desenvolvedores podem concluir tarefas de programação até duas vezes mais rápido com IA generativa.
Ao mesmo tempo, essas ferramentas podem gerar uma falsa sensação de segurança. Tanto o relatório da Snyk sobre IA quanto um estudo de Stanford constataram que desenvolvedores com acesso à IA escrevem códigos significativamente menos seguros, mas acreditam mais que escreveram um código seguro do que aqueles sem acesso.
Problemas da IA generativa no desenvolvimento de software
O uso generalizado de IA generativa entre desenvolvedores trouxe mais agilidade, mas também gerou mais código com mais problemas de segurança. As duas principais causas de problemas no desenvolvimento com assistência de IA são:
Dados de treinamento inadequados
Alucinações
Os grandes modelos de linguagem (LLMs) que impulsionam as ferramentas de programação com IA precisam de enormes volumes de dados de treinamento para funcionar. Isso inclui uma quantidade significativa de código de código aberto que naturalmente contém vulnerabilidades. Como a IA não entende o código de fato nem compreende regras ou sintaxe, muitas vezes gera vulnerabilidades após aprender com repositórios de código aberto. Agentes mal-intencionados podem até mesmo envenenar os dados de treinamento de propósito.
Por outro lado, alucinações ocorrem quando os modelos de IA geram código que não se baseia no que aprenderam com os dados de treinamento. A IA pode “ser criativa” e dar uma resposta sem sentido ou incorreta porque foi programada para completar o próximo token (uma palavra ou linha de código), mesmo sem receber as informações necessárias.
“Ao usar IA generativa para criar uma história ou um poema, posso querer um pouco de imaginação. Mas, em um sistema tão estritamente baseado em regras como o desenvolvimento de software, precisamos nos ater aos fatos”, disse Simon.
Como reduzir os riscos de segurança do código gerado por IA
Qual é a melhor saída quando os desenvolvedores estão avançando a todo vapor com a geração de código por IA, embora essas ferramentas possam errar e não saibam quando isso acontece?
Para começar, é importante criar e manter políticas de IA e diretrizes corporativas que documentem os usos aceitáveis dessa tecnologia. Avalie os requisitos de segurança e privacidade de dados que você precisa cumprir para atender às regulamentações e aos padrões aplicáveis. As políticas também devem proteger sua propriedade intelectual (PI) ao integrar ferramentas de terceiros.
Segundo Simon, “Proteger os dados confidenciais dos clientes é inegociável, mas também é essencial garantir que sua propriedade intelectual permaneça dentro da empresa, separada de quaisquer LLMs públicos.”
No entanto, nem mesmo as políticas mais abrangentes e rigorosas garantem que todos vão segui-las, porque as regras não podem (e não devem!) impedir o avanço. Desenvolvedores que trabalham em empresas com políticas rígidas (por exemplo, que proíbem a IA ou só permitem seu uso em situações específicas) muitas vezes burlam essas políticas para continuar aproveitando os benefícios da IA. De fato, o relatório de 2023 da Snyk sobre segurança de código gerado por IA constatou que 80% dos desenvolvedores burlam as políticas de segurança da empresa para usar IA.
Diante dessas informações, você deve presumir que a maioria dos desenvolvedores usa IA em algum grau no trabalho. Para ter visibilidade sobre o que está sendo usado no desenvolvimento de software e como, é melhor viabilizar o uso seguro de assistentes de programação com IA para aumentar a produtividade. Ao trabalhar com código gerado com assistência de IA, é preciso ter um sistema que permita verificar tudo de acordo com os melhores padrões conhecidos. Uma solução integrada, aprovada pela Gartner e pela Forrester e de última geração, como a Snyk, é uma forma confiável de testar e validar seu código para reduzir os riscos da IA. Veja como funciona:
Os desenvolvedores usam ferramentas de IA para gerar código no IDE.
A Snyk analisa o código em tempo real e sinaliza as vulnerabilidades.
A Snyk recomenda correções que podem ser aplicadas com um clique.
“É preciso uma equipe inteira para manter a qualidade e a segurança no desenvolvimento de software”, disse Sascha. “Mas, quando a equipe entende o que está usando e como implementar as verificações e os controles necessários para que a segurança nunca fique em segundo plano, tudo fica mais fácil e menos caótico.”
Snyk: confiança e segurança na geração de código por IA
Praticar o desenvolvimento de software com assistência de IA sem uma ferramenta automatizada de análise de código é como trabalhar em uma obra sem capacete. Você precisa das medidas de segurança certas para proteger seus funcionários, clientes e negócios.
A Snyk oferece essa camada essencial de proteção, do IDE a todo o pipeline de CI/CD. Leia as 10 práticas recomendadas para desenvolver com segurança usando IA e confira mais dicas sobre como equilibrar pessoas, processos e tecnologia no futuro do desenvolvimento de software.
Comece a proteger o código gerado por IA
Crie sua conta gratuita da Snyk e comece a proteger o código gerado por IA em minutos. Ou agende uma demonstração com um especialista para ver como a Snyk pode atender às necessidades de segurança dos seus desenvolvedores.



