🤖 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-ToE | Como GenIA contribui |
|---|---|
addon/01 - Boas práticas de código | Sugere estruturas seguras, nomes expressivos, separação de lógica |
addon/02 - Linters e validações | Propõe código que evita más práticas comuns (eval, concat, hardcode) |
addon/07 - Guidelines de equipa | Facilita documentação de padrões e refatorações |
addon/08 - Validação de código | Auxilia a perceber falhas óbvias e propor correções |
addon/09 - Anotações e evidência | Gera 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.