Saltar al contenido
Luiz Hogrefe

AnyAudit

Demostrador de investigación para la evidencia de auditoría en el software de la era de la IA

Demostrador de investigación

¿Qué necesita registrar un sistema, y cómo, para que su comportamiento pueda auditarlo después alguien que no lo construyó?

Visión general

AnyAudit extrae de AnyDPP la capa de evidencia de auditoría y la convierte en una biblioteca reutilizable. Propaga un contexto de traza a través de las solicitudes, escribe eventos de auditoría versionados que solo almacenan un hash de su contenido y los añade a una cadena de hashes SHA-256 que puede verificarse de extremo a extremo.

Usa deliberadamente una cadena de hashes y no una blockchain: el objetivo es hacer visible cualquier manipulación dentro de un sistema, no lograr consenso entre desconocidos.

Una cadena que revela manipulaciones

Una cadena que revela manipulaciones
  1. Evento 1review.acceptedtraza: 7f3a-19c2hash del contenido: f5e10178anterior: 00000000
  2. Evento 2attribute.updatedtraza: 7f3a-19c2hash del contenido: 64f2c5a3anterior: f5e10178
  3. Evento 3passport.composedtraza: 7f3a-19c2hash del contenido: e298dad5anterior: 64f2c5a3
  4. Evento 4credential.issuedtraza: 7f3a-19c2hash del contenido: 77c82a49anterior: e298dad5

Verificar cadena: Cadena intacta

Modifique un evento y la verificación falla a partir de ese punto.

Descripción en texto del diagrama

Cuatro eventos de auditoría en fila, cada uno con su identificador de traza, el hash de su contenido y el hash de la entrada anterior. Cuando se modifica el segundo evento, su hash deja de coincidir con aquel con el que se comprometió la tercera entrada, y la verificación señala la ruptura.

Componentes básicos

  • Contexto de traza

    Un identificador que se propaga por cada solicitud, tarea y servicio que interviene en una operación.

  • Evento de auditoría

    Un esquema de eventos versionado que almacena un hash del contenido, no el contenido en sí.

  • Cadena de hashes

    Cada entrada se compromete con la anterior, de modo que una entrada modificada o eliminada rompe todos los eslabones posteriores.

  • Verificación de la cadena

    Una función que recorre la cadena e indica dónde se rompe.

  • Decorador y middleware

    Formas de añadir auditoría a código existente sin reescribirlo.

Qué obtiene un auditor

  1. 1

    Un revisor acepta un valor en un flujo de trabajo de pasaportes.

  2. 2

    La solicitud lleva un identificador de traza a través de la API y de la tarea en segundo plano.

  3. 3

    Un evento de auditoría registra quién hizo qué, bajo qué versión, con un hash del contenido.

  4. 4

    Meses después, un auditor verifica la cadena y sigue la traza desde la recepción hasta la publicación.

En qué se diferencia

  • AnyAuditAnyTracePrototipo de investigación · no publicado

    AnyTrace registra la procedencia de cosas del mundo real. AnyAudit registra el comportamiento del software.

    AnyTrace
  • AnyAuditAnyVerifyPrototipo de investigación · no publicado

    AnyVerify juzga si la evidencia respalda una afirmación. AnyAudit no emite ningún juicio; mantiene un registro que puede comprobarse.

    AnyVerify
  • AnyAuditAnyValidPrototipo de investigación · no publicado

    AnyValid consulta a una autoridad externa. AnyAudit no consulta a nadie; demuestra que su propio registro no ha cambiado.

    AnyValid

Estado

Demostrador de investigación

Implementado como demostrador de investigación, presentado en anyaudit.eu, con la biblioteca en el repositorio de AnyLAI.

Limitaciones

  • Hace visible la manipulación, no la impide: una cadena muestra que algo cambió, pero no lo detiene.
  • No está anclada fuera del sistema que la escribe.
  • Un registro de auditoría es evidencia para una auditoría, no el resultado de una auditoría.

Volver a Proyectos