Código Gerado por IA: Segurança em primeiro lugar

Código Gerado por IA: Segurança em primeiro lugar

Falando de mais de 20 anos de experiência em desenvolvimento e segurança cibernética, os desenvolvedores precisam usar todas as ferramentas de ponta, que economizam tempo e aumentam a produtividade. É um trabalho meticuloso e demorado para garantir que você se comprometa com código funcional de alta qualidade, e o ciclo de vida do desenvolvimento de software sempre exige mais.

Como tal, hoje em dia, quase todos os desenvolvedores usam alguma forma deCódigo gerado por IA— e eles deveriam absolutamente. Ferramentas de IA facilitam a vida dos desenvolvedores ao alavancar o conhecimento cultivado pela comunidade de desenvolvimento ao longo do tempo e em todo o mundo para superar obstáculos que, embora potencialmente novos e desafiadores para eles, já foram abordados há muito tempo. Eles podem confiar razoavelmente que esse código executará a função que desejam alcançar — e podem testá-lo para ter certeza.

Mas eles podem confiar que esse código é seguro ? Absolutamente não. Com todo esse tempo e trabalho gastos comprometendo código funcional, tanto quanto, se não mais, é gasto navegando no backlog de segurança depois.

O que há de errado com o código gerado por IA?

Plataformas GenAI, como a Copilot, aprendem com códigos postados em sites como o GitHub e têm o potencial de adquirir alguns hábitos ruins ao longo do caminho. Elas buscam e retornam códigos que, antes de tudo, realmente funcionam, mas a segurança é um objetivo secundário (se é que existe). Como você verá mais adiante neste artigo, isso leva a um potencial substancial para vulnerabilidades.

Um par de estudos explorou recentemente o efeito da IA ​​na segurança do código. O primeiro foi um estudo da Universidade de Stanford, " Os usuários escrevem mais código inseguro com assistentes de IA? " e o outro foi um estudo da Universidade de Wuhan, " Explorando as fraquezas de segurança do código gerado pelo copiloto no Github ."

O estudo de Stanford descobriu o seguinte:

  • Os participantes que tiveram acesso a um assistente de IA escreveram códigos significativamente menos seguros do que aqueles sem acesso a um assistente.
  • Os participantes com acesso a um assistente de IA também eram mais propensos a acreditar que escreveram códigos seguros, sugerindo que tais ferramentas podem levar os usuários a ficarem excessivamente confiantes sobre falhas de segurança em seus códigos.
  • Os participantes que investiram mais na criação de suas consultas para o assistente de IA, como fornecer funções auxiliares ou ajustar os parâmetros, tiveram maior probabilidade de oferecer soluções seguras.

O estudo de Wuhan descobriu que quase 30% dos trechos de código gerados pelo Copilot têm falhas de segurança. Focando especificamente em Python, 91 de 277 trechos, ou 33%, continham falhas de segurança; desses 91 trechos, havia 277 instâncias de falhas de segurança. Em outras palavras, o código inseguro era MUITO inseguro.

Como posso proteger meu código?

Neste ponto, não é preciso dizer que, quando se trata de usar GenAI como Copilot para ajudar com seu código, você nunca deve presumir que o que está obtendo é perfeitamente seguro. Você deve abordar o código gerado por IA como aborda o código escrito por humanos com um olhar atento e cético e por meio de protocolos de segurança padrão.

No entanto, com o volume e a prevalência de código de IA potencialmente vulnerável abrindo caminho nos ciclos de vida de desenvolvimento de software, as abordagens reativas tradicionais podem não ser suficientes.

As organizações devem criar e manter uma cultura de segurança que integre a segurança em cada estágio do SDLC e busque identificar vulnerabilidades da forma mais proativa possível. Idealmente, as vulnerabilidades devem ser identificadas conforme os desenvolvedores escrevem o código , garantindo que eles comprometam código seguro e de qualidade, eliminando backlogs para equipes de operações de segurança e tornando todo o ciclo de vida mais eficiente.

Abordar vulnerabilidades dentro do IDE durante a codificação é o ponto final natural das filosofias shift-left e secure-by-design e a maneira mais eficaz e eficiente de integrar a segurança ao ciclo de vida de desenvolvimento de software.

Conteúdo Relacionado

O Rails 8 sempre foi um divisor de águas...
Na era do declínio do império dos Estados Unidos...
Os aplicativos da Web são uma pedra fundamental da...
O mundo da tecnologia tem estado agitado com discussões...
Os desenvolvedores Java enfrentam uma variedade de erros relacionados...
Com várias décadas de experiência, adoro criar aplicativos corporativos...
A escalabilidade é um fator crítico quando se trata...
Ao trabalhar em um projeto de código aberto no...
A Inteligência Artificial (IA) tem se tornado cada vez...
A maioria das organizações enfrenta desafios ao se adaptar...
Quando nós, desenvolvedores, encontramos alguns bugs em nossos logs,...
A cibersegurança é um tópico cada vez mais importante...
A experiência do desenvolvedor (DX) é um tópico cada...
Ao relatar estatísticas resumidas para resultados de testes de...
Explorando as Engrenagens do Kernel Semântico Falei um pouco...
Vissza a blogba

Hozzászólás írása

Felhívjuk a figyelmedet, hogy a hozzászólásokat jóvá kell hagyni a közzétételük előtt.