From 845229547d9844bde22610b8d0c25624dd52265e Mon Sep 17 00:00:00 2001 From: Ramon Cordini Date: Thu, 16 Jul 2026 11:21:32 -0300 Subject: [PATCH 1/2] Add security adherence documentation --- SECURITY_ADHERENCE.md | 70 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 SECURITY_ADHERENCE.md diff --git a/SECURITY_ADHERENCE.md b/SECURITY_ADHERENCE.md new file mode 100644 index 0000000..83f46de --- /dev/null +++ b/SECURITY_ADHERENCE.md @@ -0,0 +1,70 @@ +# Aderência à Segurança da Informação + +Este documento declara como este repositório atende às diretrizes da **NSI.04 – Norma de Desenvolvimento Seguro** (SciELO/FapUNIFESP), alinhada à NBR ISO/IEC 27.001:2022 e à LGPD. + +> Preencher e manter atualizado a cada mudança relevante de arquitetura, dependências críticas ou classificação de dados. Revisar no mínimo a cada release maior. + +## 1. Identificação + +| Campo | Valor | +|---|---| +| Nome do sistema | *(ex: OJS/PKP, SciELO Data, ARQUIWEB...)* | +| Responsável técnico | | +| Classificação da informação tratada | Pública / Interna / Restrita / Sigilosa | +| Dados pessoais tratados (LGPD)? | Sim / Não — se sim, quais categorias | +| Ambiente de produção | *(ex: Kubernetes on-prem, Rocky Linux 9...)* | + +## 2. Controles de segurança aplicados (NSI.04 §3) + +- [ ] Segregação entre ambientes de dev, teste e produção (§3.1) +- [ ] Controle de acesso ao banco de dados com permissões mínimas necessárias, sem uso de usuário root (§3.2) +- [ ] Senhas e segredos gerenciados fora do código-fonte (§3.3) — informar cofre utilizado: *(ex: GitHub Secrets, Vault...)* +- [ ] Comunicação via HTTPS/TLS em todas as interfaces expostas (§3.4) +- [ ] Prevenção a SQL Injection, XSS e quebra de autenticação/sessão (§3.5) +- [ ] Logs de auditoria implementados conforme criticidade do sistema (§3.6) +- [ ] Procedimento de backup e teste de restauração definido (§3.7) +- [ ] Dados sensíveis criptografados em trânsito e em repouso, sem algoritmos obsoletos (MD5, SHA1, DES/3DES, RC2/RC4, MD4) (§3.8) + +## 3. Pipeline de CI/CD e verificação automatizada + +| Ferramenta | Finalidade | Gate obrigatório? | +|---|---|---| +| SonarQube | Qualidade de código e SAST | Sim/Não | +| Trivy | Vulnerabilidades na imagem de container | Sim/Não | +| SBOM | Inventário de dependências (software bill of materials) | Sim/Não | +| ArgoCD | Deploy controlado em homologação/produção | Sim/Não | + +Critério de aprovação do gate: *(ex: zero vulnerabilidades críticas/altas sem exceção documentada)* + +## 4. Ciclo de vida (NSI.04 §4) + +- [ ] Requisitos de segurança levantados junto às partes interessadas (§4.1) +- [ ] Riscos de segurança avaliados no planejamento (§4.2) +- [ ] Separação de ambientes validada na análise (§4.3) +- [ ] Revisão de código por membro qualificado antes do merge (§4.4) +- [ ] Testes com dados fictícios/anonimizados, ambiente de teste isolado (§4.5) +- [ ] Plano de implantação com procedimento de rollback (§4.6) +- [ ] Processo de manutenção com aplicação de patches e gestão de mudanças — GMUD (§4.7) + +## 5. Desenvolvimento terceirizado (se aplicável, NSI.04 §6) + +- [ ] Contrato prevê cláusulas de confidencialidade e propriedade intelectual +- [ ] Acesso do terceiro limitado ao estritamente necessário +- [ ] Revisões de código e auditorias técnicas realizadas + +## 6. Exceções e riscos aceitos + +Registrar aqui qualquer desvio das diretrizes acima, com justificativa técnica, aprovação e prazo de mitigação, conforme previsto na NSI.04 (seção 3, introdução). + +| Desvio | Justificativa | Aprovado por | Prazo de mitigação | +|---|---|---|---| +| | | | | + +## 7. Histórico + +| Data | Alteração | Responsável | +|---|---|---| +| | Criação do documento | | + +--- +*Referência normativa: NSI.04 - Norma de Desenvolvimento Seguro, v3.2 (07/07/2025).* From f844b6a2ad03614b0860c35b7314e77f9e68f033 Mon Sep 17 00:00:00 2001 From: Ramon Cordini Date: Thu, 16 Jul 2026 11:23:38 -0300 Subject: [PATCH 2/2] Add pull request template --- .github/PULL_REQUEST_TEMPLATE.md | 63 ++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 .github/PULL_REQUEST_TEMPLATE.md diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..fea5d71 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,63 @@ +## O que esse PR faz? + +Fale sobre o propósito do pull request, como por exemplo: quais problemas ele soluciona ou quais features ele adiciona. + +## Onde a revisão poderia começar? + +Indique o caminho do arquivo e o arquivo onde o revisor deve iniciar a leitura do código. + +## Como este poderia ser testado manualmente? + +Estabeleça os passos necessários para que a funcionalidade seja testada manualmente pelo revisor. + +## Algum cenário de contexto que queira dar? + +Indique um contexto onde as modificações se fazem necessárias ou passe informações que contextualizam o revisor a fim de facilitar o entendimento da funcionalidade. + +## Screenshots + +Quando aplicável e se fizer possível, adicione screenshots que remetem à situação gráfica do problema que o pull request resolve. + +## Quais são os tickets relevantes? + +Indique uma issue à qual o pull request faz relacionamento. + +## Referências + +Indique as referências utilizadas para a elaboração do pull request. + +--- + +## Segurança da informação (NSI.04) + +> Seção obrigatória. Marque as opções aplicáveis e justifique quando necessário. Referência: NSI.04 - Norma de Desenvolvimento Seguro. + +**Este PR manipula dados sensíveis ou pessoais (LGPD)?** +- [ ] Sim — descreva os controles de proteção aplicados (criptografia, mascaramento, anonimização, etc.): +- [ ] Não + +**Este PR altera autenticação, autorização, controle de acesso ou gerenciamento de sessão?** +- [ ] Sim — descreva o que mudou e por quê: +- [ ] Não + +**Este PR introduz, atualiza ou remove dependências de terceiros?** +- [ ] Sim — as novas dependências foram verificadas no SBOM/Trivy sem vulnerabilidades críticas/altas em aberto? + - [ ] Verificado e aprovado + - [ ] Pendente / vulnerabilidade aceita com justificativa: +- [ ] Não + +**Este PR foi validado pelo pipeline de segurança (SonarQube / Trivy)?** +- [ ] Sim — link do job: +- [ ] Não aplicável a este PR (justifique): + +**Este PR concatena, monta ou executa comandos SQL, HTML ou JavaScript a partir de entrada externa?** +- [ ] Sim — confirme que há sanitização/parametrização (prepared statements, escaping, etc.): +- [ ] Não + +**Este PR expõe novos endpoints, telas ou serviços?** +- [ ] Sim — HTTPS obrigatório está garantido e o acesso segue o princípio de menor privilégio? +- [ ] Não + +**Algum segredo, senha, chave ou token está sendo adicionado ao código-fonte?** +- [ ] Não, nenhum segredo foi commitado +- [ ] Sim (bloquear merge e corrigir antes de prosseguir)