Skip to content

Adicionar políticas de segurança e automação de dependências#12

Merged
albertomandlate merged 8 commits intomainfrom
claude/vigorous-saha
Apr 16, 2026
Merged

Adicionar políticas de segurança e automação de dependências#12
albertomandlate merged 8 commits intomainfrom
claude/vigorous-saha

Conversation

@albertomandlate
Copy link
Copy Markdown
Contributor

Resumo

Adiciona duas novas camadas de segurança ao projecto BridgeBank:

  1. SECURITY.md — Política de segurança completa
  2. .github/dependabot.yml — Automação de monitoramento de dependências

O que mudou

SECURITY.md (novo)

  • ✅ Procedimento de divulgação responsável de vulnerabilidades (GitHub Advisory + email privado)
  • ✅ Boas práticas para dados sensíveis (extractos, contas, transacções)
  • ✅ Exemplos de código para autenticação, validação e criptografia
  • ✅ Configuração de logs de auditoria
  • ✅ Conformidade com RGPD, PCI DSS e legislação moçambicana
  • ✅ Referências a normas do Banco de Moçambique

.github/dependabot.yml (novo)

  • ✅ Monitoramento automático de dependências NuGet
  • ✅ Monitoramento de imagens Docker
  • ✅ Monitoramento de GitHub Actions
  • ✅ Agrupamento inteligente de PRs (produção vs desenvolvimento)
  • ✅ Schedule semanal (segundas, 03:00-05:00 Maputo)
  • ✅ Atribuição automática de labels e reviewers

Por quê

O BridgeBank processa dados bancários sensíveis, tornando a segurança crítica:

  • Utilizadores precisam de orientação clara sobre divulgação de vulnerabilidades
  • Dependências desatualizadas são o principal vetor de ataque
  • Automação reduz carga manual de auditoria de segurança
  • Conformidade regulatória é obrigatória em operações financeiras

Para Reviewers

  • O SECURITY.md segue as recomendações de OWASP e Microsoft Security Best Practices
  • O dependabot.yml está configurado para ser não-intrusivo (agrupa PRs, limita simultaneidade)
  • Ambos os ficheiros estão em português de Moçambique, conforme a política do projecto
  • Nenhuma mudança de código — apenas documentação e configuração

🔒 Segurança em Primeiro Lugar

albertomandlate and others added 2 commits April 16, 2026 08:36
Inclui o arquivo CLAUDE.md com orientações detalhadas para uso do Claude Code no repositório. O documento cobre visão geral do projeto, comandos de build, testes, execução da API, uso de Docker, geração de SDKs, arquitetura dos diretórios, pontos de extensibilidade, convenções de código (com nomes em português) e estratégia de branches baseada em GitHub Flow. Facilita a colaboração, automação e padronização no desenvolvimento do toolkit de reconciliação bancária.
- SECURITY.md: Guia completo de segurança com procedimentos de divulgação responsável,
  boas práticas para dados sensíveis, validação de entrada e conformidade regulatória
- .github/dependabot.yml: Configuração de automação Dependabot para monitorar
  dependências NuGet, Docker e GitHub Actions com agrupamento inteligente

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 16, 2026 06:55
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adiciona documentação e configuração para reforçar segurança operacional do repositório e automatizar actualizações de dependências.

Changes:

  • Adiciona uma política de segurança em SECURITY.md com processo de disclosure e recomendações de hardening.
  • Introduz configuração do Dependabot para NuGet/Docker/GitHub Actions em .github/dependabot.yml.
  • Adiciona CLAUDE.md com orientações de desenvolvimento/arquitectura para o Claude Code.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 9 comments.

File Description
SECURITY.md Nova política de segurança e boas práticas para uso/integração do BridgeBank.
.github/dependabot.yml Automação de updates de dependências (NuGet/Docker/Actions) via Dependabot.
CLAUDE.md Guia de comandos, arquitectura e convenções para assistência de tooling (Claude).

Comment thread CLAUDE.md Outdated
Comment on lines +1 to +8
# CLAUDE.md

Este ficheiro fornece orientação ao Claude Code (claude.ai/code) quando trabalha com o código neste repositório.

## Sobre o Projecto

Toolkit .NET 10 open-source para reconciliação bancária em sistemas ERP moçambicanos. Publicado como pacotes NuGet (`Simansoft.BridgeBank.*`) e imagem Docker. Expõe também uma API REST com SDKs gerados para Python, TypeScript e Java.

Copy link

Copilot AI Apr 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

O PR descreve apenas a adição de SECURITY.md e dependabot.yml, mas este ficheiro (CLAUDE.md) também está a ser introduzido. Actualize a descrição do PR para reflectir esta mudança adicional, ou mova CLAUDE.md para um PR separado se estiver fora do escopo.

Copilot uses AI. Check for mistakes.
Comment thread SECURITY.md Outdated

## Processo de Divulgação

1. **Recepção:** Acknowledgeamos a recepção do relatório dentro de 48 horas
Copy link

Copilot AI Apr 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A frase mistura inglês com português (“Acknowledgeamos”). Para manter a política clara/profissional, substitua por português correcto (ex.: “Confirmamos/Acusamos a recepção do relatório dentro de 48 horas”).

Suggested change
1. **Recepção:** Acknowledgeamos a recepção do relatório dentro de 48 horas
1. **Recepção:** Confirmamos a recepção do relatório dentro de 48 horas

Copilot uses AI. Check for mistakes.
Comment thread SECURITY.md Outdated
Se o seu sistema processa dados pessoais (ex: NUIT, nomes), cumpra:

- **LEI MOÇAMBICANA DE PROTEÇÃO DE DADOS** (se aplicável)
- **RGPD** (se utilizadores da EU)
Copy link

Copilot AI Apr 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

“EU” em português normalmente é “UE” (União Europeia). Ajustar evita confusão em documentação de conformidade.

Suggested change
- **RGPD** (se utilizadores da EU)
- **RGPD** (se utilizadores da UE)

Copilot uses AI. Check for mistakes.
Comment thread SECURITY.md Outdated
Comment on lines +299 to +302
Para questões de segurança confidenciais, entre em contacto com:

- **Email:** [segurança do projecto]
- **GitHub Security Advisory:** [Reportar via GitHub](https://github.com/SimansoftMZ/BridgeBank/security/advisories)
Copy link

Copilot AI Apr 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

O contacto de segurança está como placeholder (“[segurança do projecto]”). Para a política ser accionável, defina um email real (ou remova a opção de email e mantenha apenas GitHub Security Advisory).

Copilot uses AI. Check for mistakes.
Comment thread .github/dependabot.yml Outdated
Comment on lines +16 to +19
dependency-type:
patterns:
- "dependency-type:production"
- "dependency-type:development"
Copy link

Copilot AI Apr 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Os padrões de agrupamento definidos aqui não correspondem a nomes reais de pacotes NuGet do repo (ex.: NPOI, Microsoft.ML, etc.), então as actualizações não serão agrupadas como pretendido. Ajuste os groups para usar padrões que casem com IDs de pacotes (ou a abordagem suportada pelo Dependabot para separar produção vs desenvolvimento).

Suggested change
dependency-type:
patterns:
- "dependency-type:production"
- "dependency-type:development"
dependencias-nuget:
patterns:
- "*"

Copilot uses AI. Check for mistakes.
Comment thread .github/dependabot.yml Outdated
labels:
- "dependencies"
- "chore"
# Auto-merge para patches e minor versions
Copy link

Copilot AI Apr 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

O comentário diz “Auto-merge para patches e minor versions”, mas esta secção (allow) apenas filtra quais dependências podem ser actualizadas; não activa auto-merge por si só. Para evitar confusão operacional, ajuste o comentário ou documente onde/como o auto-merge é efectivamente configurado (ex.: regras do repositório/workflow).

Suggested change
# Auto-merge para patches e minor versions
# Permitir apenas actualizações de dependências de desenvolvimento e indirectas

Copilot uses AI. Check for mistakes.
Comment thread SECURITY.md Outdated

- **Não envie segredos** — Revise seus commits antes de push; evite expor chaves, tokens ou dados sensíveis
- **Testes de segurança** — Teste casos extremos e entrada malformada
- **Dependências** — Use versões knowns de bibliotecas; revise `csproj` para dependências desatualizadas
Copy link

Copilot AI Apr 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Há um anglicismo/erro (“knowns”) no meio de uma frase em português. Troque por “conhecidas” (ou outra formulação em português) para evitar ambiguidade.

Suggested change
- **Dependências** — Use versões knowns de bibliotecas; revise `csproj` para dependências desatualizadas
- **Dependências** — Use versões conhecidas de bibliotecas; revise `csproj` para dependências desatualizadas

Copilot uses AI. Check for mistakes.
Comment thread SECURITY.md Outdated

| Versão | Assunto | Data |
|--------|---------|------|
| 1.0.0+ | Versão inicial | [data] |
Copy link

Copilot AI Apr 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

O histórico de versões contém um placeholder (“[data]”). Se não houver data real, considere remover a linha/tabela ou preencher com uma data concreta para evitar informação incompleta em release/políticas.

Suggested change
| 1.0.0+ | Versão inicial | [data] |
| 1.0.0+ | Versão inicial | 2026-04-16 |

Copilot uses AI. Check for mistakes.
Comment thread .github/dependabot.yml Outdated
Comment on lines +41 to +44
# Monitorar dependências Docker
- package-ecosystem: "docker"
directory: "/"
schedule:
Copy link

Copilot AI Apr 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A configuração Docker está a apontar para directory: "/", mas o Dockerfile do projecto está em src/BridgeBank.Api/Dockerfile. Assim, o Dependabot pode não actualizar a imagem base (mcr.microsoft.com/dotnet/*) usada pela API. Considere adicionar uma entrada separada para package-ecosystem: docker com directory: "/src/BridgeBank.Api" (mantendo outra para o docker-compose.yml na raiz, se desejado).

Copilot uses AI. Check for mistakes.
@albertomandlate
Copy link
Copy Markdown
Contributor Author

@copilot apply changes based on the comments in this thread

Agent-Logs-Url: https://github.com/SimansoftMZ/BridgeBank/sessions/95fa79cc-c17a-4a95-8ba2-ba7301146ab8

Co-authored-by: albertomandlate <14326204+albertomandlate@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 16, 2026

@copilot apply changes based on the comments in this thread

Apliquei as alterações pedidas no thread no commit 23a62b3: corrigi os pontos de linguagem e placeholders em SECURITY.md, ajustei o dependabot.yml (group NuGet, comentário allow, e monitorização Docker para /src/BridgeBank.Api) e removi CLAUDE.md deste PR para manter o escopo.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 6 comments.

Comment thread .github/dependabot.yml Outdated
Comment thread .github/dependabot.yml Outdated
Comment thread SECURITY.md Outdated
Comment thread SECURITY.md Outdated
Comment thread SECURITY.md Outdated
Comment thread SECURITY.md Outdated
@albertomandlate
Copy link
Copy Markdown
Contributor Author

@copilot apply changes based on the comments in this thread

Copilot AI and others added 2 commits April 16, 2026 07:40
Agent-Logs-Url: https://github.com/SimansoftMZ/BridgeBank/sessions/88e06d28-a00e-4ae8-afa0-7444346d2df5

Co-authored-by: albertomandlate <14326204+albertomandlate@users.noreply.github.com>
Agent-Logs-Url: https://github.com/SimansoftMZ/BridgeBank/sessions/88e06d28-a00e-4ae8-afa0-7444346d2df5

Co-authored-by: albertomandlate <14326204+albertomandlate@users.noreply.github.com>
Copilot AI review requested due to automatic review settings April 16, 2026 07:42
@albertomandlate albertomandlate review requested due to automatic review settings April 16, 2026 07:42
Agent-Logs-Url: https://github.com/SimansoftMZ/BridgeBank/sessions/88e06d28-a00e-4ae8-afa0-7444346d2df5

Co-authored-by: albertomandlate <14326204+albertomandlate@users.noreply.github.com>
Copilot AI review requested due to automatic review settings April 16, 2026 07:44
@albertomandlate albertomandlate review requested due to automatic review settings April 16, 2026 07:44
Agent-Logs-Url: https://github.com/SimansoftMZ/BridgeBank/sessions/88e06d28-a00e-4ae8-afa0-7444346d2df5

Co-authored-by: albertomandlate <14326204+albertomandlate@users.noreply.github.com>
Copilot AI review requested due to automatic review settings April 16, 2026 07:45
@albertomandlate albertomandlate review requested due to automatic review settings April 16, 2026 07:45
Copilot AI review requested due to automatic review settings April 16, 2026 07:46
@albertomandlate albertomandlate review requested due to automatic review settings April 16, 2026 07:46
Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 16, 2026

@copilot apply changes based on the comments in this thread

Aplicado no thread com os commits 6528a00, 48fa25e, 27f69fc, 0ab2b8c e fe2e83c: removi allow restritivo e a entrada Docker redundante no Dependabot, e actualizei os exemplos do SECURITY.md (ficheiro temporário seguro, HSTS por ambiente, AES-GCM com validação de chave/AAD, correcções gramaticais e nota de compatibilidade). Screenshot UI: N/A (sem alterações de interface).

@albertomandlate albertomandlate merged commit c3b0153 into main Apr 16, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants