fix: corrigir bugs críticos de segurança e memory leaks (v1.2.4)

- fix(pagination): SQL injection em cursor pagination - validação de nomes de campos
- fix(transaction): substituir Math.random() por crypto.randomBytes() para jitter
- fix(monitoring): memory leak - adicionar .unref() ao setInterval
- docs: adicionar relatório completo de bugs (BUG-REPORT-2026-01-31.md)
- chore: actualizar versão para 1.2.4
This commit is contained in:
2026-01-31 16:09:25 +00:00
parent 22601e1680
commit 0329a1179a
22 changed files with 2868 additions and 67 deletions

View File

@@ -2,14 +2,24 @@
## Estado Actual
**MCP Outline PostgreSQL v1.2.1** - DESENVOLVIMENTO COMPLETO
**MCP Outline PostgreSQL v1.2.3** - DESENVOLVIMENTO COMPLETO + SECURITY HARDENED
- 164 tools implementadas em 33 módulos
- Build passa sem erros
- Repositório: https://git.descomplicar.pt/ealmeida/mcp-outline-postgresql
- Configurado em `~/.claude.json` como `outline-postgresql`
- **Security Score: 8.5/10** (após auditorias v1.2.2 e v1.2.3)
## Módulos Implementados (31 total, 160 tools)
## Security Fixes (v1.2.3)
- Cryptographic random generation (`crypto.randomBytes()`) para OAuth secrets, API keys, share URLs
- API keys armazenam apenas hash (SHA-256), nunca texto plain
- Validação URL HTTP(S) para prevenir javascript:, data:, file: XSS
- Validação de inteiros para IDs externos (Desk CRM)
- Memory leak fix no rate limiter (lifecycle com start/stop)
- Graceful shutdown handler no index.ts
## Módulos Implementados (33 total, 164 tools)
### Core (50 tools)
- documents (19) - CRUD, search, archive, move, templates, memberships
@@ -90,7 +100,8 @@ Continuo o trabalho no MCP Outline PostgreSQL.
Path: /home/ealmeida/mcp-servers/mcp-outline-postgresql
Estado: v1.2.0 completo com 160 tools em 31 módulos.
Estado: v1.2.3 completo com 164 tools em 33 módulos.
Security hardened após auditorias (SQL injection, crypto, URL validation, transactions).
O MCP está configurado em ~/.claude.json como "outline-postgresql".
```
@@ -104,5 +115,19 @@ O MCP está configurado em ~/.claude.json como "outline-postgresql".
- `SPEC-MCP-OUTLINE.md` - Especificação completa
- `CHANGELOG.md` - Histórico de alterações
## Utils Disponíveis (v1.2.3)
```
src/utils/
├── security.ts # Validações, rate limiting, URL validation
├── transaction.ts # Transacções com retry logic
├── query-builder.ts # Query builder parametrizado
├── validation.ts # Validação Zod-based
├── audit.ts # Audit logging
├── monitoring.ts # Pool health monitoring
├── pagination.ts # Cursor-based pagination
└── logger.ts # Logging
```
---
*Última actualização: 2026-01-31*
*Última actualização: 2026-01-31 (v1.2.3)*