Evidências de Segurança
Auditoria gerada em 11/09/2026 11:07 por cecilio.perez@awnet.com.br.
Score de postura
B
18 verificações automáticas
Críticos em aberto
0
Nenhum achado crítico
Altos em aberto
3
Priorizar no ciclo atual
Médios em aberto
2
Acompanhar no próximo ciclo
Postura de segurança verificada
Postura calculada
Última varredura registrada: Wiz em 10/09/2026 17:36.
5 item(ns) em aberto
- Alto Políticas permissivas restritas à whitelist2 política(s) fora da whitelist: change_order_opcoes.co_opcoes_select, seguro_obra_dispensas.seguro_obra_dispensas_select_all_auth
- Alto SECURITY DEFINER não expostas a anônimos1 função(ões) executáveis por anon: guard_fase_passivo_contingente
- Alto Superfície pública do schema (sem grants a anon/PUBLIC)1 função(ões) SECURITY DEFINER executáveis por anon: guard_fase_passivo_contingente
- Médio Prompts de IA (banco) alinhados com o fallback do código1 divergência(s): analyze-peticao-trabalhista/analise-peticao-trabalhista
- Médio RAG saudável (embeddings coerentes com as análises)Divergências: delta=11
Evidências coletadas no servidor
Políticas permissivas fora da whitelist
change_order_opcoes.co_opcoes_select(SELECT)seguro_obra_dispensas.seguro_obra_dispensas_select_all_auth(SELECT)
SECURITY DEFINER executáveis por anônimo
guard_fase_passivo_contingente()
RAG (analise_embeddings)
- UNIQUE(processo_id): sim
- model_versions:
google/gemini-embedding-001 - embeddings: 131 · análises concluídas: 120 · delta: 11
Superfície pública do schema
SECURITY DEFINER executáveis por anônimo
guard_fase_passivo_contingente()
Prompts de IA do banco contra o fallback do código
Divergências detectadas
analyze-peticao-trabalhista/analise-peticao-trabalhista(prompts_ia)banco: 02/07/2026 00:50 · código: 03/09/2026 15:52banco: Você é um analista jurídico especializado em Direito do Trabalho brasileiro. Sua tarefa é ler uma petição inicial trabalhista e extrair os campos abaixo em JSON. REGRAS: 1. Devolva APENAS um objeto JSON válido (sem markdown, sem comentáriocódigo: Você é um analista jurídico especializado em Direito do Trabalho brasileiro. Sua tarefa é ler uma petição inicial trabalhista e extrair os campos abaixo em JSON. REGRAS: 1. Devolva APENAS um objeto JSON válido (sem markdown, sem comentário
Cobertura: o check compara apenas os prompts cujo fallback está registrado em prompt_fallback_versions. Rotas com prompt fixo no código, sem leitura do banco, não entram na comparação.
Snapshot externo: 0 críticos · 0 altos · 0 médios · 0 baixos. Corrigidos desde a varredura anterior: 0 altos, 0 medios, 0 criticos.
Controle de acesso
Quem pode entrar e o que pode fazer.
Login obrigatório
Auto-cadastro bloqueado
Proteção contra senhas vazadas (HIBP)
Controle previsto para a fase de infraestrutura definitiva.
Usuários anônimos desativados
authenticated (sessão do app, via comUsuario)admin (via has_role)Tráfego de saída
Para onde os dados podem ir.
Permitidos ao navegador
Apenas servidor (não passa pelo navegador)
qualquer outro domínio é bloqueado pelo Content-Security-Policy
Armazenamento de arquivos
Buckets de documentos do sistema.
| Bucket | Arquivos | Listagem pública |
|---|---|---|
documentossomente autenticado (rota /api/arquivos com sessão; exclusão restrita a admin) | 56 | desativada |
cc-fornecedorsomente autenticado (rota /api/arquivos com sessão; exclusão restrita a admin) | 12 | desativada |
solicitacoessomente autenticado (rota /api/arquivos com sessão; exclusão restrita a admin) | 21 | desativada |
notificacoes-distratossomente autenticado (rota /api/arquivos com sessão; exclusão restrita a admin) | 14 | desativada |
processos-trabalhistassomente autenticado (rota /api/arquivos com sessão; exclusão restrita a admin) | 17 | desativada |
change-order-anexossomente autenticado (rota /api/arquivos com sessão; exclusão restrita a admin) | 18 | desativada |
Rotas de API protegidas
Endpoints verificados no próprio código a cada carga desta tela, não em uma lista mantida à mão.
Exigem sessão
194
Por chave de API
1
Públicas por desenho
5
Rotas de integração (header x-api-key)
/api/admin/contratos-assinados(comparação em tempo constante)
Rotas sem sessão
/api/auth/login/api/publico/formulario/[token]/api/publico/formulario/[token]/enviar/api/publico/formulario/[token]/upload/api/publico/formulario/[token]/verificar-email
Login e formulário público do fornecedor são as únicas rotas que podem dispensar sessão: o formulário é protegido por token de uso único.
Cadeia de custódia da IA
Para onde vão os dados quando uma análise é executada.
Fluxo da requisição
- O navegador chama uma rota de API do próprio sistema, com o cookie de sessão.
- A rota confere sessão, papel e capacidade do usuário antes de qualquer chamada externa.
- O servidor chama o provedor de IA, servidor a servidor, sobre TLS 1.2 ou superior.
- A resposta volta pelo mesmo caminho; o navegador recebe apenas o resultado processado.
- A análise fica registrada na trilha de auditoria, com usuário, entidade e horário.
A credencial do provedor vive apenas em variável de ambiente do servidor. O navegador nunca chama provedores de IA diretamente. Nenhuma credencial está configurada neste ambiente: nenhum conteúdo sai do servidor.
Provedores que podem processar o conteúdo
Uso no sistema: Análise de documentos (RFI, RFP, minutas), comparação A|W, petições trabalhistas, checklists e relatórios.
Rota: Rota de API do app (autenticada) → api.anthropic.com, servidor a servidor, TLS 1.2+
Retenção: API Claude: o conteúdo não é usado para treinamento. Retenção de até 30 dias apenas para detecção de uso indevido (Trust Center).
Uso no sistema: Indexação semântica dos trechos analisados, para busca por similaridade. Só é acionado quando EMBEDDINGS_PROVIDER está configurado.
Rota: Rota de API do app (autenticada) → provedor configurado, servidor a servidor
Retenção: Sem provedor configurado, nenhum texto sai do servidor: a busca cai para o próprio Postgres.
Riscos residuais, fora do controle técnico
Os itens abaixo dependem de política interna e de comportamento humano. O sistema não consegue impedi-los tecnicamente:
- Usuário copiar conteúdo de um RFP/contrato e colar em ChatGPT/Gemini/Claude públicos (fora do sistema).
- Usuário exportar PDF, print de tela ou tirar foto e enviar por canais não controlados (e-mail pessoal, WhatsApp).
- Compartilhamento de credenciais entre pessoas: qualquer ação fica registrada como o dono da credencial.
- Ferramentas de IA executadas localmente na máquina do usuário (extensões de navegador, plugins).
Recomendação: incluir na política de uso aceitável e no treinamento de integração dos usuários.
Tabelas monitoradas
82 tabelas com políticas de acesso ativas, 117.625 registros no total.
acordo_parcelas78 reg.acordos_trabalhistas8 reg.alertas0 reg.analise_embeddings131 reg.analise_feedback0 reg.api_payload_versoes0 reg.art_rrt_dispensas5 reg.art_rrt_validacoes121 reg.audiencia_notas1 reg.audiencias_trabalhistas42 reg.audit_logs110.220 reg.cc355 reg.cc_aw_importadas0 reg.cc_aw_sync_state1 reg.cc_documentos147 reg.cc_eventos13 reg.cc_fornecedor7 reg.cc_fornecedor_cadastro0 reg.cc_info229 reg.cc_notas294 reg.cc_notificacoes_distratos25 reg.cc_notificacoes_distratos_movimentacoes33 reg.cc_notificacoes_distratos_notas0 reg.cc_notificacoes_distratos_tarefas5 reg.cc_notificacoes_distratos_valores_cd1 reg.cc_sub_fornecedor214 reg.cc_substituicoes7 reg.cc_trilha_eventos1.235 reg.change_order_anexos0 reg.change_order_opcoes7 reg.change_order_status_history2 reg.change_orders1 reg.contencioso_casos_embeddings142 reg.contencioso_licoes11 reg.contencioso_licoes_embeddings10 reg.dens17 reg.documento_analise_risco8 reg.documento_assinatura_verificacao132 reg.documento_extracoes401 reg.documento_timeline1 reg.documentos_processo_trabalhista94 reg.escritorios_externos0 reg.form_definitions1 reg.form_submissions0 reg.form_tokens4 reg.fornecedores5 reg.hubspot_deal_vinculos40 reg.hubspot_deals_ignorados0 reg.lembretes4 reg.movimentacoes_processo_trabalhista20 reg.obra_contatos8 reg.obras16 reg.parametros_aw18 reg.password_history11 reg.pedidos_processo_trabalhista0 reg.process_views2 reg.processo_dens146 reg.processo_distribuicao_tarefas0 reg.processo_entrega_historico37 reg.processo_ficha_contrato6 reg.processo_ficha_contrato_edicoes2 reg.processo_ficha_passagem37 reg.processo_notas1.281 reg.processo_relatorio_checklist_rfp21 reg.processo_reunioes_den2 reg.processo_trabalhista_pedidos860 reg.processos163 reg.processos_trabalhistas699 reg.profiles16 reg.prompt_fallback_versions6 reg.prompts_ia18 reg.relatorio_execucoes11 reg.relatorio_modelos1 reg.security_scan_snapshots18 reg.seguro_obra_dispensas0 reg.seguro_obra_validacoes104 reg.solicitacoes0 reg.solicitacoes_mensagens0 reg.tipos_pedido_trabalhista22 reg.user_capabilities26 reg.user_preferences6 reg.user_roles16 reg.Histórico de varreduras
Snapshots registrados de varreduras externas e da postura calculada.
| Corrigidos | Notas | ||||||
|---|---|---|---|---|---|---|---|
| 10/09/2026 17:36 | Wiz | 0 | 0 | 0 | 0 | — | — |
| 23/08/2026 23:20 | Lovable Security | 0 | 0 | 0 | 0 | — | — |
| 23/08/2026 23:20 | Wiz | 0 | 0 | 0 | 0 | — | — |
| 23/08/2026 23:20 | Lovable Security | 0 | 1 | 2 | 0 | — | Snapshot da postura calculada — score B. Registrado via botão em /seguranca. |
| 14/07/2026 12:54 | Auditoria manual | 0 | 0 | 0 | 0 | — | — |
| 14/07/2026 12:54 | Lovable Security | 0 | 0 | 0 | 0 | — | — |
| 14/07/2026 12:54 | Wiz | 0 | 0 | 0 | 0 | — | — |
| 14/07/2026 12:54 | Lovable Security | 0 | 0 | 0 | 0 | true public_surface_leak · true definer_exposed_to_anon | Snapshot da postura calculada — score A+. Registrado via botão em /seguranca. |
| 05/07/2026 20:34 | Lovable Security | 0 | 0 | 0 | 0 | true public_surface_leak · true definer_exposed_to_anon | Snapshot da postura calculada — score A+. Registrado via botão em /seguranca. |
| 05/07/2026 18:16 | Lovable Security | 0 | 0 | 0 | 0 | — | — |
Últimos 50 logins
Rastreabilidade completa dos acessos, direto da trilha de auditoria.
cecilio@athie.com.br11/09/2026 10:58lucca@athie.com.br11/09/2026 10:58luiz@couto.co11/09/2026 10:57cecilio@athie.com.br11/09/2026 10:57cecilio@athie.com.br11/09/2026 10:57lucca@athie.com.br11/09/2026 10:57lucca@athie.com.br11/09/2026 10:57luiz@couto.co11/09/2026 10:57luiz@couto.co11/09/2026 10:57luiz@couto.co11/09/2026 10:56luiz@couto.co11/09/2026 10:56luiz@couto.co11/09/2026 10:34luiz@couto.co11/09/2026 10:32luiz@couto.co11/09/2026 10:32luiz@couto.co11/09/2026 10:28luiz@couto.co11/09/2026 10:16cecilio.perez@awnet.com.br10/09/2026 17:50cecilio.perez@awnet.com.br10/09/2026 17:49cecilio.perez@awnet.com.br10/09/2026 17:35sfe@gnadvogados.com.br10/09/2026 17:32fernanda.jordao@awnet.com.br10/09/2026 17:30sfe@gnadvogados.com.br10/09/2026 17:15hannah.lamano@awnet.com.br10/09/2026 16:56wilton.queiroz@awnet.com.br10/09/2026 16:34atendimento04@rcproseguros.com.br10/09/2026 16:32wilton.queiroz@awnet.com.br10/09/2026 16:16sfe@gnadvogados.com.br10/09/2026 16:15sfe@gnadvogados.com.br10/09/2026 16:03sfe@gnadvogados.com.br10/09/2026 15:59sfe@gnadvogados.com.br10/09/2026 15:10sfe@gnadvogados.com.br10/09/2026 15:07cecilio.perez@awnet.com.br10/09/2026 14:48cecilio.perez@awnet.com.br10/09/2026 14:31hannah.lamano@awnet.com.br10/09/2026 14:17cecilio.perez@awnet.com.br10/09/2026 12:43cecilio.perez@awnet.com.br10/09/2026 11:39cecilio.perez@awnet.com.br10/09/2026 11:05fernanda.jordao@awnet.com.br09/09/2026 21:04fernanda.jordao@awnet.com.br09/09/2026 20:06fernanda.jordao@awnet.com.br09/09/2026 19:04atendimento04@rcproseguros.com.br09/09/2026 19:02fernanda.jordao@awnet.com.br09/09/2026 18:55adriana.lourido@awnet.com.br09/09/2026 18:47hannah.lamano@awnet.com.br09/09/2026 18:34sfe@gnadvogados.com.br09/09/2026 18:03fernanda.jordao@awnet.com.br09/09/2026 17:39hannah.lamano@awnet.com.br09/09/2026 17:32hannah.lamano@awnet.com.br09/09/2026 17:19isabella.messias@awnet.com.br09/09/2026 17:19sfe@gnadvogados.com.br09/09/2026 15:28