El audit log es la única manera de reconstruir qué pasó en un incidente. también es, si no lo diseñás bien, el archivo más jugoso de tu nave para un atacante.
Hex tiene tres carteles en la pared del SOC:
Cuando un incidente entra, necesitás contestar:
Con esos seis campos podés reconstruir el qué, el cuándo, el quién, el porqué.
API keys. Se rotan, se filtran, pasan a logs replicados. cualquier key que loggeás está comprometida desde el momento que la escribís.
PII en claro. Emails, DNIs, direcciones del usuario afectado. El audit log existe para reconstruir incidentes, no para guardar PII. Si necesitás referenciar al usuario, usá el user_id que apunta a una entrada del vault.
El contenido del system prompt. No solo es secreto operativo, sino que un atacante con acceso al log puede planificar inyecciones específicas a tu prompt.
Para datos que podrían ser útiles para correlacionar (el contenido del input del usuario, el output del modelo), hash con sal o tokenizar. Mañana, si dos incidentes tienen el mismo hash de input, sabés que el atacante usó el mismo payload. sin que vos tengas el payload en plaintext.
Regla de Atlas: un audit log seguro es uno que, si te lo roban, no agrega ningún ataque nuevo. Si tu log filtrado le da al atacante PII, secretos o pistas sobre tu prompt, no tenés audit log. tenés un segundo problema.
A la derecha hay nueve campos posibles para tu log. Clasificá cada uno antes de escribirlo.