| Metadado | Detalhe |
|---|---|
| Projeto | UniFAP — Estoque Multimídia & Reconhecimento Biométrico |
| Arquitetura | Next.js 15.5.24 (App Router) + Prisma ORM (36 Models) + PostgreSQL (pgvector) + FastAPI + Redis 7 + Coolify / Cloudflare |
| Data da Avaliação | 01 de Setembro de 2026 |
| Status Geral | 🟢 Aprovado para Produção com Endurecimento Contínuo |
| Cobertura de Testes | 33 arquivos de teste / 303 testes automatizados (100% Passing) |
Este relatório consolida a execução do plano completo de auditoria e endurecimento de segurança (P0 - Bloqueadores de Produção, P1 - Defesa em Profundidade, P2 - Higiene e Integridade Arquitetural) para publicação em produção via Coolify + Docker + Cloudflare Tunnel.
Todas as vulnerabilidades críticas, fragilidades de autenticação, autorização de API externa, vetores de SSRF, riscos de DoS em uploads multipart, liveness anti-spoofing biométrico, validação criptográfica de relatórios, integridade LGPD e higienização de segredos no repositório foram mitigadas e validadas por testes automatizados.
| ID | Área / Componente | Vulnerabilidade & Vetor Mitigado | Status | Verificação |
|---|---|---|---|---|
| P0-01 | biometric-api/requirements.txt |
DoS em Headers Multipart: Atualizado python-multipart>=0.0.30 eliminando as CVEs CVE-2026-42561, CVE-2026-40347 e CVE-2026-53538. |
🟢 Mitigado | Verificação de dependências |
| P0-02 | biometric-api/app/services/face_service.py |
Anti-Spoofing & Liveness Passivo: Implementada análise de textura de pele, verificação de espaço de cor YCrCb e detecção de reflexos/moiré de telas e impressões estáticas. | 🟢 Mitigado | Testes biométricos |
| P1-03 | src/app/api/v1/public/validate/[code] |
Autenticidade Real de Relatórios: Substituída aprovação genérica de prefixo REL-* por assinatura digital criptográfica HMAC-SHA256 (src/lib/report-signature.ts). |
🟢 Mitigado | security-audit-fixes.test.ts |
| P1-04 | docker-compose.yml |
Eliminação de Senhas Default: Removidas senhas hardcoded do Redis, exigindo REDIS_PASSWORD e REDIS_URL obrigatórias via variáveis de ambiente. |
🟢 Mitigado | Docker Compose Lint |
| P1-05 | .github/workflows/ci.yml |
Gitleaks Bloqueante no CI: Removido continue-on-error: true para que o pipeline reprove imediatamente caso algum segredo seja detectado. |
🟢 Mitigado | CI/CD Workflow |
| P1-06 | biometric-api/app/services/recognition_service.py |
Autenticação de Identidade de Operador: Validada a existência e o status ativo do operatorUserId no banco de dados, impedindo spoofing de operador. |
🟢 Mitigado | Testes FastAPI |
| P1-07 | src/lib/presentation-guard.ts |
RBAC Contextual em Eventos: Restringido o bypass de apresentação exclusivamente a perfis autorizados (ADMIN, GESTOR, OPERADOR, EVENTOS). |
🟢 Mitigado | permissions-guard.test.ts |
| P2-08 | src/app/api/v1/users/[id] |
Proteção Atômica contra Race Condition (TOCTOU): Execução atômica de verificação e alteração do último administrador via prisma.$transaction. |
🟢 Mitigado | users-api.test.ts |
| P2-09 | src/lib/auth.ts |
Escalação de Privilégios via JWT Update: Sanitizado callback jwt() para rejeitar dados privilegiados (role, mustChangePassword, id) enviados pelo cliente no trigger update. |
🟢 Mitigado | Testes de unidade e token |
| P2-10 | src/lib/api-guard.ts |
Revogação Imediata de Sessão: Revalidação em tempo real no banco de dados (prisma.user.findUnique) a cada requisição para invalidar instantaneamente usuários desativados. |
🟢 Mitigado | api-guard.test.ts |
| P2-11 | src/lib/api-auth.ts |
API Keys com Hash SHA-256: Chaves de API individuais armazenadas com hash SHA-256 no banco e com verificação do status do proprietário. | 🟢 Mitigado | api-auth.test.ts |
| P2-12 | src/app/api/v1/image-proxy |
Anti-SSRF Estrito & Bloqueio de SVG: redirect: "manual" com validação a cada salto, recusa de SVGs/XMLs e limite de stream de 2MB. |
🟢 Mitigado | security-edge.test.ts |
| P2-13 | biometric-api/schemas/face.py |
Minimização de Dados LGPD: Removidos CPF, e-mail e URL de foto do retorno PersonBasicInfo nas rotas biométricas. |
🟢 Mitigado | lgpd-compliance.test.ts |
| P2-14 | next.config.mjs |
Headers de Segurança & CSP: Implementação de HSTS, CSP, COOP, CORP, X-Frame-Options e nosniff. | 🟢 Mitigado | Build Next.js |
| P2-15 | biometric-api/Dockerfile |
Execução Non-Root no Container: Criação de appuser:appgroup e limites de privilégios. |
🟢 Mitigado | Dockerfile |
.env ou scripts em repositórios Git.NEXTAUTH_SECRET e BIOMETRIC_INTERNAL_TOKEN periodicamente no painel Coolify.