O DefectDojo registra uma trilha de auditoria das alterações em seus dados. Todo objeto rastreado
registra automaticamente eventos de criação, atualização e exclusão, e as tabelas de relacionamento
(muitos-para-muitos) registram eventos de adição e remoção.
O rastreamento de auditoria é conduzido por triggers de banco de dados registrados por modelo. Para cada
objeto rastreado, três tipos de evento podem ser disparados:
Tipo de evento
Quando é disparado
Ação
InsertEvent
Um novo registro é criado
Criação
UpdateEvent
Um registro é alterado — apenas quando o valor de um campo realmente muda
Atualização
DeleteEvent
Um registro é excluído
Exclusão
As tabelas de relacionamento muitos-para-muitos (tags, revisores, faixas de IP do firewall) rastreiam
apenas adição (InsertEvent) e remoção (DeleteEvent) — não existe
“atualização” para uma linha de relacionamento.
Quem — o usuário que executou a ação, obtido do contexto da requisição.
Quando — um timestamp.
IP de origem — o endereço remoto, respeitando as cadeias de proxy X-Forwarded-For.
Snapshot antes/depois — os valores completos dos campos do registro.
Contexto / rótulo — agrupa eventos originados da mesma requisição. O rótulo
initial_backfill marca registros históricos importados quando o rastreamento foi
ativado pela primeira vez.
Eventos produzidos por jobs em segundo plano são reconectados ao contexto da
requisição de origem, de modo que uma ação concluída de forma assíncrona ainda é
atribuída ao usuário que a disparou.
Segredos nunca são capturados. As senhas de usuário e os valores de cabeçalho dos webhooks de notificação
são explicitamente excluídos dos snapshots de eventos.
As atualizações só são registradas quando há uma mudança real. Um salvamento que não altera nenhum
valor de campo não gera um evento de atualização; campos gerenciados automaticamente, como
last_updated isoladamente, não disparam um evento.
Eventos de autenticação não são capturados aqui. Apenas
mudanças de dados. As atividades de login, logout e tentativas de login malsucedidas são tratadas separadamente e não fazem parte deste log de auditoria.