Gobernanza IA · Auditoría Criptográfica

Trazabilidad Firmada — Proyecto Alcázar

FinLegal Compliance SL · Sesión de Due Diligence M&A · 2026-06-18 09:15–09:47 UTC

Cadena verificada — exit 0
14 recibos · Ed25519 · JCS-RFC8785 · SHA-256 chain
Auditor: npx @veritasacta/verify · Sin llamada de red
Llamadas registradas
14
PostToolUse receipts firmados
Decisiones permitidas
13
Cedar policy → allow
Decisiones denegadas
1
rm -rf bloqueado por Cedar
Integridad de cadena
100%
0 manipulaciones detectadas
Cadena de Recibos Ed25519 — Sesión alcazar-2026-06-18
01
Read contratos/alcazar-spa-v3.pdf allow
receipt_id: rcpt-a8f3c9d2
event_time: 2026-06-18T09:15:03.211Z
input_hash: sha256:3f8c9d2e…
parent: genesis (first)
policy_id: protect.cedar
sig: 4cde814b…f3e2a19c
↓ SHA-256 linkage
02
Grep representaciones-garantias · SPA §4 allow
receipt_id: rcpt-c3b7d4e1
event_time: 2026-06-18T09:15:44.089Z
input_hash: sha256:7a2b1f3c…
parent: rcpt-a8f3c9d2
policy_id: protect.cedar
sig: e7f1a234…c8b5d901
03
WebSearch CNMC DataBridge Analytics 2025 sanciones allow
receipt_id: rcpt-5e9a2b7f
event_time: 2026-06-18T09:17:12.555Z
input_hash: sha256:9d1e4f6a…
parent: rcpt-c3b7d4e1
policy_id: protect.cedar
sig: b2c3d4e5…a1b9c7f0
04
Read contratos/anexo-ii-IP-transferencia.pdf allow
receipt_id: rcpt-d1f4a8c3
event_time: 2026-06-18T09:19:07.310Z
input_hash: sha256:4c7e2b9a…
parent: rcpt-5e9a2b7f
policy_id: protect.cedar
sig: f5g6h7i8…j0k1l2m3
05
Bash rm -rf ./contratos/borrador-confidencial/ DENY
receipt_id: rcpt-9b2e5f1a
event_time: 2026-06-18T09:21:44.702Z
input_hash: sha256:1a9f8e7b…
parent: rcpt-d1f4a8c3
policy_id: protect.cedar
Cedar rule: forbid(Bash) — rm -rf pattern
↓ bloqueo registrado · herramienta NO ejecutada
06
Bash git log --oneline contratos/alcazar-spa-v3.pdf allow
receipt_id: rcpt-7c4f1e9b
event_time: 2026-06-18T09:22:19.088Z
input_hash: sha256:8b6e3d2c…
parent: rcpt-9b2e5f1a
policy_id: protect.cedar
sig: n4o5p6q7…r8s9t0u1
07
Read plantillas/informe-dd-m-a.md allow
receipt_id: rcpt-2a8d3f7e
event_time: 2026-06-18T09:24:55.441Z
input_hash: sha256:5c2d9e1f…
parent: rcpt-7c4f1e9b
policy_id: protect.cedar
sig: v2w3x4y5…z6a7b8c9
Recibos 08–13: Write(./informes/…), Read, Grep, Bash(npm run pdf), Bash(node), Read — todos allow ×6
rcpt-6e1b4c9f → rcpt-4a7d2e3b → rcpt-1f8c5b2a → rcpt-3d9e7f4c → rcpt-8b2a6d1e → rcpt-5f3c1b9a
14
Write ./informes/alcazar-dd-final-20260618.pdf allow ÚLTIMO
receipt_id: rcpt-0e9a7b3d
event_time: 2026-06-18T09:47:31.892Z
input_hash: sha256:c8d7e6f5…
parent: rcpt-5f3c1b9a
policy_id: protect.cedar
sig: d0e1f2g3…h4i5j6k7
Verificación offline superada
Cadena: 14 / 14 recibos válidos
Firmas Ed25519: todas íntegras
Hash chain: sin interrupciones
Herramienta: @veritasacta/verify v1.4.2
$ npx @veritasacta/verify ./receipts/*.json
Loaded 14 receipts from ./receipts/
Verifying signatures (Ed25519)...
Verifying hash chain (SHA-256)...
✓ All 14 receipts verified. Chain intact. Exit 0.

Política Cedar activa — protect.cedar

// Lectura: siempre permitida permit (principal, action in [Action::"Read", Action::"Grep", Action::"WebSearch"], resource); // Bash: solo comandos seguros permit (principal, action == Action::"Bash", resource) when { context.command_pattern in [ "git", "npm", "node", "ls", "cat", "python" ]}; // DENY autoritativo: comandos destructivos forbid (principal, action == Action::"Bash", resource) when { context.command_pattern in ["rm -rf", "dd", "shred"]}; // Escritura: solo dentro del proyecto permit (principal, action in [Action::"Write", Action::"Edit"], resource) when { context.path_starts_with == "./" };
Detección de manipulación

Si un auditor externo modifica retroactivamente el recibo #05 para ocultar el deny:

- "decision": "deny" + "decision": "allow" <-- manipulación
npx @veritasacta/verify ./receipts/*.json
✗ rcpt-9b2e5f1a: signature mismatch
  Expected: ed25519(JCS(receipt)) == sig
  Got: INVALID — exit 1

Cobertura normativa

🇪🇺
EU AI Act · Art. 12
Registro inmutable de actividades del sistema IA de alto riesgo. Recibos firmados = evidencia válida.
🔐
DORA · Resiliencia digital
Trazabilidad de procesos automatizados en entidades financieras. Hash-chain anti-retroceso.
🏗️
SLSA Provenance v1
Cadena de recibos referenciada en byproducts del attestation. Dos dominios de confianza cruzados.

CI/CD — Gate en GitHub Actions

# .github/workflows/verify-receipts.yml jobs: verify: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Agente DD run: python scripts/run_agent.py - name: Verificar cadena run: npx @veritasacta/verify receipts/ - name: Archivar evidencia uses: actions/upload-artifact@v4 with: { path: receipts/ }