Pular para o conteúdo principal

🤖 Uso de GenIA no Desenvolvimento Seguro

A integração de ferramentas de inteligência artificial generativa (GenIA) como GitHub Copilot, ChatGPT, Claude, CodeWhisperer, entre outras, tornou-se uma realidade no dia a dia do desenvolvimento - independentemente da existência de políticas formais.

Estas ferramentas passaram a atuar como assistentes contínuos, não apenas de produtividade, mas também de qualidade e segurança. Mesmo sem instruções explícitas, a sua presença influencia a forma como código é escrito, estruturado e comentado.


✅ Porque é relevante no contexto do SbD-ToE

  • GenIA sugere automaticamente práticas seguras: escaping de input, separação de camadas, nomes significativos, modularidade.
  • Funciona como um linter inteligente e adaptativo, especialmente útil para perfis menos experientes.
  • Permite acelerar revisões, gerar comentários explicativos, detectar padrões comuns de falha.
  • Pode ser usada para prototipar melhorias, refatorar código inseguro ou gerar testes a partir de código real.

💡 Em muitos casos, a qualidade do código gerado com apoio de GenIA é superior à média do código legado existente - não por ser perfeita, mas por aplicar boas práticas por omissão.


🔄 Onde reforça práticas do capítulo

Prática SbD-ToEComo GenIA contribui
addon/01 - Boas práticas de códigoSugere estruturas seguras, nomes expressivos, separação de lógica
addon/02 - Linters e validaçõesPropõe código que evita más práticas comuns (eval, concat, hardcode)
addon/07 - Guidelines de equipaFacilita documentação de padrões e refatorações
addon/08 - Validação de códigoAuxilia a perceber falhas óbvias e propor correções
addon/09 - Anotações e evidênciaGera comentários explicativos, TODO e pode ser adaptada a @sec:

🔍 Pontos a observar com atenção crítica

Sem ser uma ameaça, o uso de GenIA levanta pontos que devem ser acompanhados com discernimento técnico:

  • Nem todas as sugestões estão corretas ou seguras - exigem validação humana.
  • Pode reforçar maus hábitos se usada passivamente (ex: copiar sem pensar).
  • A origem das sugestões nem sempre é clara - contexto e licenciamento devem ser tidos em conta.
  • Promove aceleração técnica que precisa de ser acompanhada por controlo e revisão.

📌 Considerações organizacionais

  • O uso da GenIA pode ser benéfico mesmo sem política formal, mas deve ser observado com maturidade técnica.
  • Algumas organizações optam por definir guidelines leves: ex. marcar código assistido, não usar em módulos sensíveis, exigir revisão reforçada.
  • Outras podem evoluir para políticas mais estruturadas (ex: registo de prompts, listas de ferramentas autorizadas), que podem ser abordadas noutros capítulos.

🎯 O mais importante: ignorar o uso de GenIA já não é realista. O que o modelo SbD-ToE propõe é que seja encarado como parte do fluxo de desenvolvimento moderno, com espírito crítico e integração responsável.


🌐 Para além do desenvolvimento: o papel da IA no Security by Design

Embora este ficheiro foque o uso de GenIA durante a escrita e validação de código, existem múltiplas aplicações emergentes de IA em todo o ciclo de vida do Security by Design, incluindo:

  • Arquitetura segura: geração assistida de modelos STRIDE ou mapeamentos ATT&CK.
  • Gestão de requisitos: verificação de ambiguidade, incoerência ou ausência de controlos.
  • Testes de segurança: geração de casos de fuzzing, sugestões de cenários DAST, simulação de exploração.
  • Prioritização de findings: classificação contextual de falhas com base em stack, criticidade, histórico.
  • Formação e cultura técnica: microlearning personalizado com base em erros reais da equipa.

💡 Estes casos reforçam a ideia de que a IA pode e deve ser explorada como aliada do modelo SbD-ToE, não apenas no desenvolvimento, mas em todo o ciclo de vida de segurança.

🧭 Próximos passos sugeridos

O tema “IA aplicada ao Security by Design” será explorado de forma mais estruturada num anexo futuro transversal ou capítulo dedicado, cobrindo:

  • Categorias de uso por fase (arquitetura, requisitos, testes, validação, formação)
  • Exemplos práticos
  • Integração com ferramentas existentes
  • Considerações éticas e operacionais

📌 A GenIA não é um linter, mas complementa-o - com contexto, linguagem natural e capacidade adaptativa. Quando usada com consciência, eleva o patamar de qualidade e segurança do código produzido por qualquer equipa.