Intégrité Cryptographique (SHA-256)
Pour garantir l'admissibilité juridique des preuves lors des audits de conformité réglementaire (EU AI Act, RGPD Art. 25, SOC 2 Type II), Boundry applique un chaînage cryptographique immuable sur tous les logs.
Fonctionnement du chaînage de hash
Chaque événement N incorpore le hash cryptographique de l'événement précédent N-1 selon la formule :
Hash(N) = SHA-256( Timestamp + AgentID + ToolName + ToolInput + Status + Hash(N-1) )
+---------------------+ +---------------------+ +---------------------+
| Événement N-1 | | Événement N | | Événement N+1 |
| Hash: 4a9f...12 | ----> | Hash: 8b3c...90 | ----> | Hash: 1e7d...44 |
+---------------------+ +---------------------+ +---------------------+
Si une ligne de log est modifiée, supprimée ou insérée a posteriori dans la base de données, la chaîne de hachage est mathématiquement rompue dès l'événement altéré.
Script Python d'auto-audit pour auditeurs
Les RSSI et auditeurs externes peuvent vérifier eux-mêmes l'intégrité d'un export JSON généré par la console :
verify_audit_trail.py
import hashlib
import json
def verify_audit_trail(export_file_path: str) -> bool:
with open(export_file_path, "r", encoding="utf-8") as f:
data = json.load(f)
logs = data.get("logs", [])
prev_hash = "GENESIS_HASH"
for idx, entry in enumerate(logs):
raw_string = f"{entry['timestamp']}:{entry['agent_id']}:{entry['tool_name']}:{prev_hash}"
calculated_hash = hashlib.sha256(raw_string.encode("utf-8")).hexdigest()
if calculated_hash != entry.get("hash"):
print(f"❌ ALERTE : Altération détectée à l'événement index {idx} (ID: {entry.get('id')})")
return False
prev_hash = calculated_hash
print(f"✅ SUCCÈS : {len(logs)} événements vérifiés cryptographiquement. Chaîne 100% intègre.")
return True
if __name__ == "__main__":
verify_audit_trail("boundry_compliance_export.json")