Pular para o conteúdo principal

👨‍💻 Developer

Visão Geral

Developers são a linha da frente da implementação prática de security by design.
É no ato de escrever código que se materializam grande parte das práticas de segurança prescritas no SbD-ToE.

Responsabilidades Principais

  • Escrevem código em conformidade com guidelines de segurança (Cap. 06)
  • Corrigem vulnerabilidades identificadas em revisões e scans
  • Contribuem para o threat modeling e fornecem informação técnica sobre fluxos de dados (Cap. 03)
  • Garantem que o software cumpre requisitos funcionais e de segurança de forma robusta e rastreável

Contexto Organizacional

O papel do Developer é transversal a quase todo o manual. A responsabilidade é dupla: entregar funcionalidade e garantir segurança. Sem a colaboração ativa dos developers, nenhuma política de segurança se concretiza.

Enquadramento Regulatório

O trabalho do Developer concretiza obrigações de:

  • NIS2: Práticas seguras de desenvolvimento e gestão de vulnerabilidades
  • DORA: Resiliência digital em sistemas financeiros
  • GDPR: Princípios de security by design
  • AI Act: Segurança e transparência em sistemas de IA

Atividades por Capítulo

Cap. 01 - Classificação da Criticidade

Fornecer informação técnica sobre dependências, integrações e impacto operacional da aplicação, contribuindo para a avaliação de risco e determinação do nível de criticidade (L1/L2/L3).

User Stories:

Cap. 02 - Requisitos de Segurança

Implementar requisitos mínimos de segurança derivados da classificação, integrando-os no definition of done e garantindo conformidade em cada entrega.

User Stories:

Cap. 03 - Threat Modeling

Participar ativamente em sessões de threat modeling, traduzindo diagramas e cenários de ameaças em controlos práticos implementados no código.

User Stories:

Cap. 04 - Arquitetura Segura

Garantir que a implementação respeita os padrões arquiteturais definidos. Manter a ficha de arquitetura atualizada quando ocorrem alterações críticas.

User Stories:

Cap. 05 - Dependências e SBOM

Declarar explicitamente todas as bibliotecas e dependências utilizadas, suportando a criação de inventários auditáveis (SBOM) essenciais para gestão de vulnerabilidades.

User Stories:

Cap. 06 - Desenvolvimento Seguro

Seguir guidelines de código seguro, utilizar linters e validações automáticas, corrigir findings de SAST. Prevenir vulnerabilidades triviais através de ferramentas integradas no workflow de desenvolvimento.

User Stories:

Cap. 07 - CI/CD Seguro

Colaborar com DevOps na configuração de pipelines seguros, garantindo que o código passa por gates de segurança (SAST, dependency check) antes de ser merged ou deployed.

User Stories:

Cap. 08 - IaC (Infraestrutura como Código)

Colaborar na escrita e validação de templates IaC seguros, garantindo que infraestrutura é versionada e auditável.

User Stories:

Cap. 09 - Containers e Imagens

Construir imagens a partir de bases confiáveis e versionadas (digest SHA256). Garantir que Dockerfiles seguem melhores práticas de segurança.

User Stories:

Cap. 10 - Testes de Segurança

Executar SAST automático no PR com comentários inline, corrigindo vulnerabilidades antes do merge. Criar testes de regressão para findings corrigidos.

User Stories:

Cap. 11 - Deploy Seguro

Manter versionamento semântico com changelog técnico e de segurança. Garantir que apenas artefactos validados são promovidos entre ambientes.

User Stories:

Cap. 12 - Monitorização e Operações

Implementar logging estruturado e centralizado, gerando eventos com contexto suficiente para deteção e investigação de incidentes.

User Stories:

Cap. 13 - Formação e Onboarding

Participar em programas de capacitação contínua e, como Security Champion, liderar sessões de threat modeling por feature, épico ou refactor.

User Stories:

Cap. 14 - Governança e Contratação

Submeter exceções de segurança em fluxo formal com roteamento automático por nível de risco. Manter repositório estruturado de conformidade para cada aplicação (com Dev Lead).

User Stories:


Referências aos Capítulos

Para contexto e enquadramento completo: