
Application des politiques, identité zero-trust, sandboxing d'exécution et journalisation d'audit pour les agents IA autonomes. Couvre 10/10 du Top 10 Agentic de l'OWASP avec une gouvernance déterministe et à fermeture en cas de défaillance.
🚀 Démarrage rapide · 📋 Spécifications · 📦 PyPI · 📝 Changelog
[!IMPORTANT] Aperçu public — versions d’aperçu public de qualité production. Des changements cassants sont possibles avant la disponibilité générale.
Application des politiques, identité, sandboxing et SRE pour agents IA autonomes. Un seul pip install, n’importe quel framework.
Vos agents IA appellent des outils, naviguent sur le web, interrogent des bases de données et délèguent à d’autres agents. Une fois déployés, ils prennent des décisions de manière autonome. Vous avez besoin de réponses à trois questions :
1. Cette action est-elle autorisée ? Un agent ayant accès à send_email et query_database ne devrait pas pouvoir drop_table. Les portées OAuth et les rôles IAM contrôlent les services qu’un agent peut atteindre, pas ce qu’il fait une fois connecté.
2. Quel agent a fait cela ? Dans un système multi-agent, cinq agents peuvent partager une seule clé API. Quand quelque chose tourne mal, « un agent l’a fait » n’est pas une réponse pour l’incident.
3. Pouvez-vous prouver ce qui s’est passé ? Les auditeurs et les autorités de régulation ont besoin d’enregistrements infalsifiables de chaque décision : quelle politique était active, ce que l’agent a demandé, et pourquoi cela a été autorisé ou refusé.
La sécurité au niveau des invites (« veuillez suivre les règles ») n’est pas une surface de contrôle. C’est une demande polie à un système stochastique. OWASP LLM01:2025 le dit explicitement : « il n’est pas clair s’il existe des méthodes infaillibles de prévention contre l’injection d’invites. » Les chiffres publiés le confirment. Andriushchenko et al. (ICLR 2025) rapportent un taux de succès d’attaque de 100 % sur GPT-4o, GPT-3.5, Claude 3 et Llama-3 en utilisant des attaques adaptatives avec accès aux logprobs et optimisation de suffixe, évaluées via le benchmark JailbreakBench (Chao et al., NeurIPS 2024). L’Agent de cybersécurité IA de Microsoft formalise le taux de succès d’attaque (ASR), le taux de violations de politique sous entrée adverse, comme la métrique canonique pour cette classe de défaillances. Leçons tirées de la cybersécurité de 100 produits d’IA générative renforce le point : « les mesures d’atténuation n’éliminent pas complètement le risque » et la cybersécurité doit être un processus continu car les défenses au niveau du modèle sont probabilistes par construction.
AGT ne tente pas de gagner cette bataille à l’intérieur de l’invite. Chaque appel d’outil, chaque envoi de message et chaque délégation est intercepté dans le code applicatif déterministe avant que l’intention du modèle n’atteigne le réseau. Les actions que le noyau AGT refuse ne sont pas « improbables ». Elles sont structurellement impossibles. C’est la différence entre demander à un agent de bien se comporter et le rendre incapable de mal se comporter.
Prérequis : Python 3.10+```bash pip install agent-governance-toolkit[full]
Pour Claude Code, ajoutez AGT comme marketplace de plugins et installez le plugin de gouvernance :```text
/plugin marketplace add microsoft/agent-governance-toolkit
/plugin install agt-governance@agent-governance-toolkit
Gérer n'importe quelle fonction d'outil en deux lignes :```python from agentmesh.governance import govern
safe_tool = govern(my_tool, policy="policy.yaml") # every call checked, logged, enforced
C'est tout. `safe_tool` évalue votre politique YAML à chaque appel, enregistre la décision et lève `GovernanceDenied` si l'action est bloquée.```yaml
# policy.yaml
apiVersion: governance.toolkit/v1
name: production-policy
default_action: allow
rules:
- name: block-destructive
condition: "action.type in ['drop', 'delete', 'truncate']"
action: deny
description: "Destructive operations require human approval"
- name: require-approval-for-send
condition: "action.type == 'send_email'"
action: require_approval
approvers: ["security-team"]
Please provide the Markdown content to translate.```python
safe_tool(action="read", table="users") {'table': 'users', 'rows': 42}
safe_tool(action="drop", table="users") GovernanceDenied: Action denied by policy rule 'block-destructive': Destructive operations require human approval
Ou utilisez l'API complète `PolicyEvaluator` pour un contrôle programmatique :
<details>
<summary><b>Exemple de PolicyEvaluator</b></summary>```python
from agent_os.policies import (
PolicyEvaluator, PolicyDocument, PolicyRule,
PolicyCondition, PolicyAction, PolicyOperator, PolicyDefaults
)
evaluator = PolicyEvaluator(policies=[PolicyDocument(
name="my-policy", version="1.0",
defaults=PolicyDefaults(action=PolicyAction.ALLOW),
rules=[PolicyRule(
name="block-dangerous-tools",
condition=PolicyCondition(
field="tool_name",
operator=PolicyOperator.IN,
value=["execute_code", "delete_file"]
),
action=PolicyAction.DENY, priority=100,
)],
)])
result = evaluator.evaluate({"tool_name": "web_search"}) # Allowed
result = evaluator.evaluate({"tool_name": "delete_file"}) # Blocked
TypeScript```typescript import { PolicyEngine } from "@microsoft/agent-governance-sdk";
const engine = new PolicyEngine([ { action: "web_search", effect: "allow" }, { action: "shell_exec", effect: "deny" }, ]); engine.evaluate("web_search"); // "allow" engine.evaluate("shell_exec"); // "deny"
**.NET**```csharp
using AgentGovernance;
using AgentGovernance.Extensions.ModelContextProtocol;
using AgentGovernance.Policy;
var kernel = new GovernanceKernel(new GovernanceOptions
{
PolicyPaths = new() { "policies/default.yaml" },
});
var result = kernel.EvaluateToolCall("did:mesh:agent-1", "web_search",
new() { ["query"] = "latest AI news" });
// MCP server integration
builder.Services.AddMcpServer()
.WithGovernance(options => options.PolicyPaths.Add("policies/mcp.yaml"));
Rust```rust use agent_governance::{AgentMeshClient, ClientOptions};
let client = AgentMeshClient::new("my-agent").unwrap(); let result = client.execute_with_governance("data.read", None); assert!(result.allowed);
**Go**```go
import agentmesh "github.com/microsoft/agent-governance-toolkit/agent-governance-golang"
client, _ := agentmesh.NewClient("my-agent",
agentmesh.WithPolicyRules([]agentmesh.PolicyRule{
{Action: "data.read", Effect: agentmesh.Allow},
{Action: "*", Effect: agentmesh.Deny},
}),
)
result := client.ExecuteWithGovernance("data.read", nil)
Outils CLI:```bash agt doctor # check installation agt verify # OWASP compliance check agt verify --evidence ./agt-evidence.json --strict # fail CI on weak evidence agt red-team scan ./prompts/ --min-grade B # prompt injection audit agt lint-policy policies/ # validate policy files
Full walkthrough: [quickstart.md](https://github.com/microsoft/agent-governance-toolkit/blob/HEAD/docs/quickstart.md) -- de zéro à des agents gouvernés en 5 minutes.
🌍 Aussi en: [日本語](https://github.com/microsoft/agent-governance-toolkit/blob/HEAD/docs/i18n/quickstart.ja.md) | [简体中文](https://github.com/microsoft/agent-governance-toolkit/blob/HEAD/docs/i18n/quickstart.zh-CN.md) | [한국어](https://github.com/microsoft/agent-governance-toolkit/blob/HEAD/docs/i18n/quickstart.ko.md)
---
## Comment ça marche```
Agent ──► Policy Engine ──► Identity ──► Audit Log
(YAML/OPA/Cedar) (SPIFFE/DID/mTLS) (Tamper-evident)
│ │
├── Allowed ──► Tool executes │
└── Denied ──► GovernanceDenied │
▼
Decision Record
Chaque couche est optionnelle. Commencez par govern() et ajoutez des couches à mesure que votre profil de risque évolue. La plupart des équipes utilisent l'application des politiques + la journalisation d'audit et n'ont jamais besoin de la pile complète.
Les cinq SDK de langage implémentent la gouvernance de base (politiques, identité, confiance, audit). Python dispose de la pile complète. Copilot CLI et Claude Code sont des surfaces développeur de première partie construites sur le SDK TypeScript. Voir Matrice des fonctionnalités par langage pour une couverture détaillée par langage.
Depuis la v4.1.0, 45 paquets ont été consolidés en 5 distributions de premier niveau :
AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET pour les fonctionnalités intégrées à AzureListe complète : Intégrations de frameworks · Exemples de démarrage rapide
Chaque composant majeur dispose d'une spécification formelle RFC 2119 avec des tests de conformité. Ces spécifications définissent le contrat comportemental : ce que les implémentations DOIVENT, DEVRAIENT et PEUVENT faire.
992 tests de conformité garantissent que le code reste aligné sur les spécifications. 29 enregistrements de décisions d'architecture documentent pourquoi.
AGT applique la gouvernance au niveau middleware de l'application, pas au niveau noyau du système d'exploitation. Le moteur de politiques et les agents partagent la même limite de processus.
Recommandation de production : Exécutez chaque agent dans un conteneur séparé pour une isolation au niveau OS. Voir Architecture : Limites de sécurité.
| Outil | Couverture |
|---|---|
| CodeQL | SAST Python + TypeScript |
| Gitleaks | Analyse des secrets sur PR/push/hebdomadaire |
Voir Limitations connues pour les limites de conception honnêtes et la défense en couches recommandée.
Guide de contribution · Communauté · Discord · Politique de sécurité · Journal des modifications
Vous utilisez AGT ? Ajoutez votre organisation à ADOPTERS.md.
Si vous utilisez Agent Governance Toolkit pour créer des applications qui fonctionnent avec des frameworks ou services d'agents tiers, vous le faites à vos propres risques. Nous vous recommandons de passer en revue toutes les données partagées avec des services tiers et de tenir compte des pratiques des tiers en matière de conservation et de localisation des données.
Les seules sources officielles d'Agent Governance Toolkit sont :
L'équipe du projet ne maintient ni n'approuve aucun site web, paquet ou site de documentation tiers se présentant comme officiel. Si vous rencontrez un site ou un paquet suspect utilisant le nom Agent Governance Toolkit, veuillez le signaler via les canaux décrits dans SECURITY.md.
Ce projet est sous licence MIT.
Ce projet peut contenir des marques ou logos pour des projets, produits ou services. L'utilisation autorisée des marques ou logos de Microsoft est soumise et doit suivre les Directives sur les marques et la marque de Microsoft. L'utilisation des marques ou logos de Microsoft dans des versions modifiées de ce projet ne doit pas créer de confusion ni suggérer un parrainage de Microsoft. Toute utilisation de marques ou logos tiers est soumise aux politiques de ces tiers.
| Paquet | Description |
|---|
| Agent OS | Moteur de politiques, cycle de vie de l'agent, porte de gouvernance |
| Agent Control Specification (README) | Exécution de décision de politique sans état, déterministe, à fermeture garantie en cas d'échec (noyau Rust) soutenant la couche de politiques AGT |
| Agent Mesh | Découverte, routage et maillage de confiance des agents |
| Agent Runtime | Bac à sable d'exécution avec quatre anneaux de privilèges |
| Agent SRE | Interrupteur d'arrêt, surveillance des SLO, tests de chaos |
| Agent Compliance | Vérification OWASP, linting des politiques, contrôles d'intégrité |
| Agent Marketplace | Gouvernance des plugins et évaluation de la confiance |
| Agent Lightning | Gouvernance de l'entraînement RL avec pénalités pour violation |
| Agent Hypervisor | Audit d'exécution, moteur de delta, suivi des engagements en mémoire, application de la liste d'interdiction de commandes |
| Capacité | Description |
|---|
| MCP Security Gateway | Détection d'empoisonnement d'outils, surveillance des dérives, typosquatting, analyse des instructions cachées (Spécification) |
| Shadow AI Discovery | Trouver les agents non enregistrés dans les processus, configurations et dépôts (Discovery) |
| Governance Dashboard | Visibilité en temps réel de la flotte pour la santé, la confiance et la conformité (Tableau de bord) |
| PromptDefense Evaluator | Audit d'injection de prompt à 12 vecteurs (Evaluator) |
| Contributor Reputation | Vérification des auteurs de PR/issues contre l'ingénierie sociale. Action GitHub réutilisable (Action) |
| Langage | Paquet | Commande |
|---|
| Python | agent-governance-toolkit | pip install agent-governance-toolkit[full] |
| TypeScript | @microsoft/agent-governance-sdk | npm install @microsoft/agent-governance-sdk |
| Copilot CLI | @microsoft/agent-governance-copilot-cli | npx @microsoft/agent-governance-copilot-cli install |
| Claude Code | @microsoft/agent-governance-claude-code | claude --plugin-dir ./agent-governance-claude-code |
| OpenCode | @microsoft/agent-governance-opencode | npm install @microsoft/agent-governance-opencode |
| .NET | Microsoft.AgentGovernance | dotnet add package Microsoft.AgentGovernance |
| .NET MCP | Microsoft.AgentGovernance.Extensions.ModelContextProtocol | dotnet add package Microsoft.AgentGovernance.Extensions.ModelContextProtocol |
| Rust | agent-governance | cargo add agent-governance |
| Go | agent-governance-toolkit | go get github.com/microsoft/agent-governance-toolkit/agent-governance-golang |
| Distribution | PyPI | Ce qui est inclus |
|---|
agent-governance-toolkit-core | agent-governance-toolkit-core | Moteur de politiques, modèle de capacités, audit, passerelle MCP, identité zéro-confiance, évaluation de la confiance, ponts A2A/MCP/IATP |
agent-governance-toolkit-runtime | agent-governance-toolkit-runtime | Anneaux de privilèges, orchestration saga, contrôle de terminaison, validation des plans d'exécution, application de la liste d'interdiction de commandes |
agent-governance-toolkit-sre | agent-governance-toolkit-sre | SLO, budgets d'erreur, ingénierie du chaos, disjoncteurs |
agent-governance-toolkit-cli | agent-governance-toolkit-cli | CLI agt, vérification OWASP, contrôles d'intégrité, linting des politiques |
agent-governance-toolkit[full] | agent-governance-toolkit | Méta-paquet installant tout ce qui précède |
Les noms de paquets précédents (agent-os-kernel, agentmesh-platform, agentmesh-runtime, agent-sre, agent-discovery, agent-hypervisor, agentmesh-marketplace, agentmesh-lightning) restent installables en tant que paquets stubs qui redirigent vers les distributions consolidées.
| Framework | Intégration |
|---|
| Microsoft Agent Framework | Middleware natif |
| Semantic Kernel | Natif (.NET + Python) |
| AutoGen | Adaptateur |
| LangGraph / LangChain | Adaptateur |
| CrewAI | Adaptateur |
| OpenAI Agents SDK | Middleware |
| Claude Code | Paquet de plugin de gouvernance |
| Google ADK | Adaptateur |
| LlamaIndex | Middleware |
| Haystack | Pipeline |
| Mastra | Adaptateur |
| Dify | Plugin |
| Azure AI Foundry | Guide de déploiement |
| GitHub Copilot CLI | Installateur de gouvernance |
| Exemple | Framework | Ce qu'il démontre |
|---|
| openai-agents-governed | OpenAI Agents SDK | Appels d'outils contrôlés par politiques avec niveaux de confiance |
| crewai-governed | CrewAI | Gouvernance multi-agents avec politiques basées sur les rôles |
| smolagents-governed | HuggingFace smolagents | Gouvernance légère d'agent |
| maf-integration | MAF | Intégration Microsoft Agent Framework |
| mcp-trust-verified-server | MCP | Implémentation de serveur MCP vérifié par confiance |
| cedarling-governed | Cedar/Cedarling | Intégration du moteur de politiques Janssen Cedarling |
| governance-dashboard | Streamlit | Tableau de bord de visibilité en temps réel de la flotte |
| Spécification | Portée | Tests |
|---|
| Agent OS Policy Engine | Évaluation des politiques, fusion de règles, sémantique de fermeture garantie en cas d'échec | 68 |
| Agent Control Specification | Exécution de politique sans état au point d'intervention, verdicts, transformation, fermeture garantie en cas d'échec | -- |
| AgentMesh Identity and Trust | Identifiants, évaluation de confiance, chaînes de délégation | 135 |
| Agent Hypervisor Execution Control | Anneaux de privilèges, orchestration saga, interrupteur d'arrêt | 80 |
| AgentMesh Trust and Coordination | Négociation de confiance entre pairs, politique à l'échelle du maillage | 62 |
| Agent SRE Governance | SLO, budgets d'erreur, chaos, disjoncteurs | 111 |
| MCP Security Gateway | Empoisonnement d'outils, détection de dérive, instructions cachées | 127 |
| Agent Lightning Fast-Path | Gouvernance de l'entraînement RL, pénalités pour violation | 100 |
| Framework Adapter Contract | 10 intégrations d'adaptateurs, chaîne d'intercepteurs | 152 |
| Audit and Compliance | Audit Merkle, cartographie de conformité, BOM de décision | 157 |
| AgentMesh Wire Protocol | Format de message, routage, sérialisation | -- |
| Norme | Couverture |
|---|
| OWASP Agentic AI Top 10 | Toutes les catégories de risque ASI mappées avec des contrôles déterministes |
| NIST AI RMF 1.0 | Alignement complet GOVERN, MAP, MEASURE, MANAGE |
| EU AI Act | Cartographie de conformité avec preuves automatisées |
| SOC 2 | Cartographie des contrôles avec export de piste d'audit |
| AARM Extended | Toutes les exigences R1–R9 satisfaites ; vérifié le 14 juin 2026 |
| ATF | Les cinq éléments mappés : Agent Mesh (identité), Agent OS (politiques), Agent Compliance (gouvernance), Agent Runtime (bac à sable), Agent SRE (réponse aux incidents) |
| ClusterFuzzLite | 7 cibles de fuzzing (politiques, injection, MCP, bac à sable, confiance) |
| Dependabot | 13 écosystèmes |
| OpenSSF Scorecard | Score hebdomadaire + téléchargement SARIF |
| Catégorie | Liens |
|---|
| Démarrage | Démarrage rapide · Tutoriels (60+) · FAQ |
| Architecture | Conception système · Modèle de menace · ADR (29) |
| Spécifications | Toutes les spécifications (10 spécifications formelles, 992 tests de conformité) |
| Référence API | Agent OS · AgentMesh · Agent SRE |
| Conformité | OWASP · EU AI Act · NIST AI RMF · SOC 2 · AARM Extended · ATF |
| Déploiement | Azure · AWS · GCP · Docker Compose |
| Extensions | VS Code · Intégrations de frameworks |
| Document | Objectif |
|---|
| GOVERNANCE.md | Prise de décisions, rôles, échelle des contributeurs |
| CHARTER.md | Charte technique (format LF Projects) |
| MAINTAINERS.md | Mainteneurs et organisations |
| SECURITY.md | Signalement des vulnérabilités et SLA de réponse |
| CODE_OF_CONDUCT.md | Code de conduite Open Source de Microsoft |
| ANTITRUST.md | Lignes directrices sur le droit de la concurrence pour les participants |
| TRADEMARKS.md | Politique d'utilisation des marques |
| Ressource | Emplacement |
|---|
| Code source | github.com/microsoft/agent-governance-toolkit |
| Documentation | microsoft.github.io/agent-governance-toolkit |
| Paquets Python | pypi.org/user/agentgovtoolkit |
| Paquets npm | @microsoft/agent-governance-sdk sur npmjs.com |
| Paquets NuGet | Microsoft.AgentGovernance.* sur nuget.org |
| Crates Rust | agent-governance, agent-governance-mcp sur crates.io |