feat: protect production Snipe-IT operations
This commit is contained in:
@@ -59,6 +59,8 @@ Todas as alterações materiais são registadas neste ficheiro. O formato segue
|
||||
- Máquina de estados passa a admitir incidentes durante preparação/utilização, atrasos e resolução por devolução.
|
||||
- Formulário de requisição apresenta as políticas atuais e o serviço de domínio volta a validá-las antes da transação.
|
||||
- Notificações passam a obter assunto e mensagem dos modelos administrativos, preservando defaults seguros.
|
||||
- Checkout Snipe-IT passa a consultar o estado remoto imediatamente antes do movimento e recusa ativos já atribuídos sem enviar escrita.
|
||||
- Check-in Snipe-IT passa a exigir checkout comprovado pelo portal para o mesmo requisitante e atribuição remota atual ao destinatário esperado.
|
||||
|
||||
### Segurança
|
||||
|
||||
@@ -69,6 +71,7 @@ Todas as alterações materiais são registadas neste ficheiro. O formato segue
|
||||
- Rotas operacionais protegidas por Gate e verificação de perfil também no serviço de domínio; escritas externas não fazem retry automático.
|
||||
- Exportação CSV neutraliza células iniciadas por caracteres de fórmula e limita cada relatório a 366 dias.
|
||||
- Gestão administrativa impede auto-desativação e garante pelo menos um administrador ativo.
|
||||
- Instância Snipe-IT declarada como produção imutável: são proibidas criações, edições, eliminações e testes de escrita; apenas checkout/check-in operacionais permanecem permitidos.
|
||||
|
||||
### Verificado
|
||||
|
||||
@@ -87,3 +90,6 @@ Todas as alterações materiais são registadas neste ficheiro. O formato segue
|
||||
- Autenticação Microsoft simulada criptograficamente: associação explícita, login, `state`, PKCE, tenant e recusa de autoassociação validados.
|
||||
- Backup real criado e restaurado em PostgreSQL 17 temporário, com 12 migrations confirmadas; liveness/readiness validados através do Nginx.
|
||||
- Login local exercitado de ponta a ponta no browser após deteção e reposição documentada de uma base de desenvolvimento migrada mas sem seeders.
|
||||
- Suite backend após as salvaguardas de produção: 108 testes, 609 asserções, Pint e PHPStan sem erros.
|
||||
- Tokens Snipe-IT distintos validados apenas com `GET`; sincronização real de leitura processou 2367 ativos para o cache local sem escrita remota.
|
||||
- TypeScript, ESLint, Prettier, build Vite, Composer Audit, migrations, liveness, readiness e login HTTP validados novamente.
|
||||
|
||||
Reference in New Issue
Block a user