Skip to content
Logo EnforceCore Logo EnforceCore

EnforceCore

Framework d'enforcement runtime léger et open source pour tout agent IA basé sur Python.

Version actuelle : v1.0.1 (stable) — Première version stable, API de production, 1 510 tests, 22 invariants formels. Disponible sur PyPI.

EnforceCore est un framework d'enforcement modulaire qui intercepte chaque appel externe de votre agent — appels d'outils, requêtes API, accès fichiers — et applique des vérifications de politique obligatoires, la rédaction de données personnelles, la détection de secrets, les règles de contenu, le rate limiting, les limites de ressources et un journal d'audit inviolable.

Il opère à la frontière d'exécution — la seule couche qui ne peut être ni contournée, ni piratée, ni manipulée par injection de prompt. Le décorateur @enforce() agit comme un moniteur runtime dans la tradition de la vérification runtime : un observateur qui intercepte les événements système, les évalue selon une spécification, et émet un verdict avant que l'action ne soit autorisée.


Pourquoi EnforceCore

L'écosystème des agents IA augmente la capacité des systèmes autonomes. Mais presque personne ne construit la couche de contrôle.

La plupart des solutions de « sécurité » sont des garde-fous au niveau du prompt — des suggestions au LLM qui peuvent être contournées ou cassées. Elles opèrent à la mauvaise couche.

EnforceCore applique les règles à la frontière du code. Les politiques sont obligatoires, pas consultatives. Si un appel viole la politique, il est bloqué — avant même son exécution.

Garde-fous Prompt EnforceCore
Couche À l'intérieur du LLM Frontière d'appel runtime
Contournable ? Oui (jailbreaks, injection de prompt) Non (enforcement au niveau du code)
Auditable ? Non Oui (pistes chaînées Merkle)
Testé formellement ? Non Oui (22 propriétés Hypothesis)
Aligné EU AI Act ? Non Oui (voir avertissement)

Enforce, pas suggérer

Les politiques sont obligatoires. Un appel d'outil refusé ne s'exécute jamais. Il n'y a pas de prompt de « contournement ».

Agnostique du framework

Fonctionne avec LangGraph, CrewAI, AutoGen ou du Python pur. Aucun verrouillage.

Vérifiable

Chaque appel produit une entrée d'audit chaînée par Merkle en SHA-256. La piste complète est inviolable et vérifiable cryptographiquement. 22 propriétés formelles sont vérifiées via Hypothesis à chaque exécution CI.

Léger

~0,056 ms de surcharge E2E (P50). Négligeable par rapport à la latence des appels d'outils (100 ms–10 s).

EnforceCore vs. sécurité OS : EnforceCore opère à la couche sémantique applicative — il comprend les appels d'outils, les données personnelles et les budgets de coût. Il ne remplace pas SELinux, AppArmor, seccomp ou le sandboxing conteneur. Ces outils sont complémentaires — utilisez les deux pour une défense en profondeur.


Composants Principaux

Composant Fonction
Policy Engine Politiques déclaratives YAML + Pydantic v2. Outils autorisés/refusés, conditions, gestion des violations. Composition avec extends: et Policy.merge().
Rédacteur PII Détection regex de 6 catégories. Rédaction auto entrées/sorties. Protection unicode (NFC, homoglyphes, URL/HTML). ~0,1–0,5 ms.
Scanner de Secrets 11 catégories intégrées (AWS, GitHub, GCP, Azure, DB URIs, SSH, etc.). Patterns personnalisés via PatternRegistry. Filtrage entropie Shannon.
Moteur Règles de Contenu 4 catégories : injection shell, traversée de chemin, injection SQL, exécution de code. Extensible via RuleEngine.
Rate Limiter Limitation par outil et globale avec fenêtre glissante.
Enforcement Réseau DomainChecker avec listes allow/deny à wildcards.
Auditeur Merkle Piste SHA-256 chaînée. 4 backends (JSONL, Null, Callback, Multi). Fichiers append-only OS. 3 backends witness (Callback, File, Log). Rotation + gzip.
Resource Guard Temps, mémoire, coûts. Multi-plateforme. Pool de threads partagé, détection de fuites.
Système de Hooks 4 hooks de cycle de vie avec décorateurs et HookRegistry.
CLI 6 commandes : info, validate, verify, eval, dry-run, inspect.
Observabilité OpenTelemetry + webhooks pour événements violation/coût/audit.
Adaptateurs LangGraph, CrewAI, AutoGen. ~20–50 lignes chacun.
Suite d'Évaluation 20 scénarios adversariaux, 10 catégories de menaces, 15 benchmarks.

Installation

pip install enforcecore

Python 3.11+ requis. Dépendances : Pydantic v2, PyYAML, structlog, cryptography.

Note : EnforceCore est en bêta (v1.0.0b5). L'API de 30 symboles Tier 1 est gelée — aucun changement jusqu'à v2.0.0.


Démarrage Rapide

from enforcecore import enforce

@enforce(policy="policy.yaml")
async def search_web(query: str) -> str:
    return await api.search(query)

# Si "search_web" n'est pas dans allowed_tools → bloqué. Point final.
# Données personnelles → rédaction automatique avant l'appel.
# Chaque appel → entrée d'audit cryptographique.

Consultez le guide de démarrage rapide pour le tutoriel complet — politique, hooks, vérification d'audit et renforcement anti-falsification en moins de 5 minutes.


À qui s'adresse EnforceCore ?

  • Développeurs d'agents qui ont besoin de sécurité production sans réécrire leur stack
  • Entreprises déployant des agents IA dans des environnements réglementés (finance, santé, juridique)
  • Chercheurs étudiant la vérification runtime et les garanties formelles pour les agents
  • Équipes préparant la conformité au règlement européen sur l'IA

Vérifié par Conception

EnforceCore appuie ses garanties par des preuves mesurables :

  • 1 510 tests, 95% de couverture, 22 invariants formels (Hypothesis)
  • Modèle de menaces formel — 4 types d'adversaires, 4 propriétés de sécurité, pistes d'audit avec append-only OS + backends witness
  • 20 scénarios adversariaux sur 10 catégories de menaces, 15 benchmarks de performance
  • 0,056 ms de surcharge E2E (P50) — négligeable

Voir la page Architecture pour les invariants formels, le modèle de menaces et la défense en profondeur. Voir la Suite d'Évaluation pour les benchmarks reproductibles.


Pour les Chercheurs

EnforceCore applique des principes établis d'informatique — vérification runtime, moniteurs de référence, contrôle de flux d'information — au problème de la sécurité des agents IA.

Travaux antérieurs :

  • Vérification Runtime — Leucker & Schallhart (2009), Havelund & Goldberg (2005)
  • Moniteurs de Référence — Anderson (1972)
  • Contrôle de Flux d'Information — Sabelfeld & Myers (2003)
  • Intégrité d'Audit — Merkle (1987), Crosby & Wallach (2009)
  • Anti-Falsification — Wallach (2026, retours de conception sur les mitigations append-only + witness)

Citation

@software{enforcecore2026,
  title  = {EnforceCore: Runtime Enforcement Layer for Agentic AI Systems},
  author = {{AKIOUD AI}},
  year   = {2026},
  url    = {https://github.com/akios-ai/EnforceCore},
  license = {Apache-2.0}
}

Open Source

EnforceCore est sous licence Apache 2.0.


Mentions Légales

EnforceCore est fourni « tel quel », sans garantie d'aucune sorte. C'est un outil d'enforcement technique — pas une certification de conformité. Voir DISCLAIMER et LICENSE.

ESC