back to top
Tuesday, November 12, 2024
spot_img
Iníciointeligência artificialCódigo Gerado por IA: Quando a Confiança Pode Ser Um Risco

Código Gerado por IA: Quando a Confiança Pode Ser Um Risco

A adoção do GPT-4 e outros modelos de IA generativa (GenAI) na comunidade de desenvolvimento de software tem sido rápida.

A adoção do GPT-4 e outros modelos de IA generativa (GenAI) na comunidade de desenvolvimento de software tem sido rápida. Eles oferecem benefícios surpreendentes, mas seu fascínio pode distrair os desenvolvedores da realidade de que essa tecnologia não é infalível. Se um olho cego for virado para a devida diligência, o código gerado por IA a partir de prompts inocentes do desenvolvedor pode inadvertidamente introduzir vulnerabilidades de segurança em seu código. Por esse motivo, é crucial destacar as limitações do GenAI como ferramentas de codificação, por que elas criam uma falsa sensação de confiança e os perigos que resultam quando a devida diligência não é realizada no código gerado por IA.

A espada de dois gumes da codificação com IA generativa

A IA generativa pode acelerar significativamente o desenvolvimento de código e tem o potencial de oferecer aos desenvolvedores eficiência e capacidade sem precedentes. No entanto, ela também apresenta riscos de segurança significativos.

Para entender como vulnerabilidades de segurança inadvertidas podem encontrar seu caminho para o código de um desenvolvedor, precisamos cobrir casos de uso típicos do GenAI no desenvolvimento de software. Para tarefas do dia a dia, os desenvolvedores consultam modelos GenAI para identificar bibliotecas de código e receber recomendações de pacotes de software de código aberto (OSS) para ajudar a resolver desafios de codificação.

Para tais consultas, seja para Java, Python ou JavaScript/TypeScript, surgiu um fio condutor comum: os resultados da consulta GenAI são inconsistentes. Essa inconsistência produz uma falsa sensação de segurança porque, mais cedo ou mais tarde, um resultado variado escolhido por um desenvolvedor conterá uma instância de código inseguro.

Somando-se a esse risco, uma pesquisa publicada recentemente pela Universidade de Stanford concluiu que o uso prolongado do GenAI por um desenvolvedor pode afetar gradualmente sua motivação para parar de validar o código completamente, sem perceber com que frequência as recomendações podem conter riscos incorporados. Essa confiança equivocada pode levar à integração de trechos de código inseguros, comprometendo, em última análise, a segurança geral do aplicativo.

Como a IA generativa pode introduzir vulnerabilidades de código

Os sinais de alerta de código potencialmente inseguro presentes nas recomendações geradas por IA para desenvolvedores vêm em várias formas, embora os sinais mais comuns sejam:

● Pacotes OSS desatualizados: A due diligence em pacotes OSS suspeitos recomendados pelo GPT-4 frequentemente revela que eles estão desatualizados, sugerindo que essas versões de pacotes tinham vulnerabilidades conhecidas. Conjuntos de dados estáticos usados ​​para treinar LLMs são frequentemente os culpados nesses casos.

● Orientação de validação de pacote pouco clara: isso pode se manifestar de algumas maneiras, como nenhuma instrução dada para verificar atualizações para os pacotes de software desatualizados ou orientação afirmando que usar pacotes de versão atual é “bom de se ter” em vez de necessário. Sem instruções explícitas para verificar a versão mais recente dos pacotes, os desenvolvedores podem ceder com o tempo e usar os pacotes recomendados sem questionar.

● Riscos de Pacotes Fantasmas: A orientação dada pelo GPT-4 pode levar ao uso direto de pacotes OSS indiretos sem incluí-los no manifesto. Esses cenários “fantasmas” ocorrem quando o GPT-4 não tem o contexto completo de toda a base de código. Na prática, um pacote vulnerável é definido pelo pacote transitivo que o introduziu, em vez de um desenvolvedor anterior. Como resultado, os desenvolvedores podem não estar cientes dessas dependências ocultas, o que pode introduzir vulnerabilidades de segurança que não são facilmente detectáveis ​​por meio de verificações de dependência convencionais baseadas em manifesto. Isso complica muito o gerenciamento de vulnerabilidades e os esforços de remediação.

Evolução de práticas de codificação seguras em paralelo com a evolução das ferramentas de desenvolvimento

À medida que novas ferramentas de programação chegam aos desenvolvedores, o número de maneiras pelas quais códigos inseguros são inadvertidamente escritos cresce. A história também nos mostrou que novas práticas de codificação segura evoluem e crescem para abordar novas deficiências. O mesmo acontecerá com as ferramentas de codificação GenAI. Para esse fim, aqui estão algumas práticas de codificação seguras fundamentais, técnicas e gerenciais que podemos empregar agora mesmo:

Crie um programa DevSecOps maduro

Um programa DevSecOps bem desenvolvido cria uma base segura para os desenvolvedores construírem sua prática de código gerado por IA. A marca registrada de um programa maduro são os pontos de verificação de segurança incorporados em todo o ciclo de vida de desenvolvimento de software (SDLC), incluindo modelagem de ameaças, varredura de código estático e automação de testes. Fatorando essas qualidades com loops de feedback caracteristicamente rápidos, você pode absorver com segurança o risco aumentado que a geração de IA representa à medida que sua organização se familiariza com as novas ferramentas de desenvolvimento.

Conscientização e treinamento

Antes que o GenAI seja amplamente adotado pela equipe de desenvolvimento, eles e as equipes de segurança devem ser educados para identificar recomendações de código potencialmente inseguras e armadilhas comuns de escrita de código que o GenAI pode introduzir. Essa prática ajudará os desenvolvedores e as equipes de segurança a aprender como os resultados do GenAI são originados e produzidos e a entender suas limitações.

Aplicar um código de conduta para conjuntos de ferramentas GenAI

Estabelecer práticas de codificação seguras adaptadas à programação assistida por IA deve ser tratado como algo dado, mas estabelecer conjuntos de ferramentas GenAI aprovados pela empresa é menos discutido. Essas medidas servem para evitar os riscos de ferramentas não verificadas e para investigar e diagnosticar melhor as vulnerabilidades de segurança antes que o código seja enviado para produção. Da mesma forma, estabelecer casos de uso para certas ferramentas GenAI ajudará os desenvolvedores a operar dentro de suas limitações. Por exemplo, o GenAI é ideal para automatizar tarefas repetitivas e manuais, como funções de código de preenchimento automático. No entanto, quando codificação mais complexa e dependências de código entram em jogo, os desenvolvedores devem confiar menos nas ferramentas GenAI.

Perspectiva futura: navegando no cenário de desenvolvimento orientado por IA

Integrar IA generativa ao desenvolvimento de software é inevitável, trazendo oportunidades e desafios. À medida que a GenAI continua a revolucionar as práticas de codificação, os desenvolvedores aumentarão sua dependência dessas ferramentas. Uma mudança de prática dessa escala exigirá uma evolução paralela nas práticas de segurança adaptadas aos novos desafios de codificação que ela introduzirá, e estudos de pesquisa de terceiros destacam o papel crítico da vigilância e medidas de segurança proativas contra os riscos não intencionais do código gerado por IA. Ainda assim, não devemos ter medo de adotar as melhores ferramentas e estratégias para aproveitar seu potencial. Já vivenciamos revoluções tecnológicas como a computação em nuvem , onde a segurança de aplicativos teve que se atualizar. Aqui, temos a oportunidade de nos preparar e permanecer um passo à frente dos desafios de segurança esperados, ao mesmo tempo em que capitalizamos os imensos benefícios que a IA pode trazer ao mundo da codificação.

Domingos Massissa
Domingos Massissahttps://mambosdeit.com
IT professional with over eight years of experience in IT Consulting and Systems Administration. Specializes in developing and implementing secure and efficient solutions with expertise in configuring and maintaining Windows Server systems, information security policies, virtualization, and cloud migration. Proven track record in remote and in-person technical support with advanced Microsoft certifications. Passionate about optimizing processes and promoting organizational success through technological innovation and robust IT practices.MLSA Beta Microsoft
POSTAGEM RECENTES

DEIXE UMA RESPOSTA

Por favor digite seu comentário!
Por favor, digite seu nome aqui

- Advertisment -
Google search engine

ARTIGOS

POSTAGEM POPULAR

TUTORIAL

POSTAGENS

Recent Comments