AI Agent Governance Toolkit — Policy enforcement, zero-trust identity, execution sandboxing, and reliability engineering for autonomous AI agents. Covers 10/10 OWASP Agentic Top 10.
이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.
🌍 English | 日本語 | 简体中文 | 한국어
!Agent Governance Toolkit
<p align="center"> <strong> 📖 <a href="https://microsoft.github.io/agent-governance-toolkit">문서 사이트</a> · 🚀 <a href="#get-started-in-90-seconds">빠른 시작</a> · 📦 <a href="https://pypi.org/project/agent-governance-toolkit/">PyPI</a> · 📝 <a href="CHANGELOG.md">변경 로그</a> </strong> </p>
[!IMPORTANT]
공개 미리보기 — Microsoft 서명, 프로덕션 품질 릴리스. GA 이전에 호환성이 깨지는 변경이 있을 수 있습니다.
피드백은 GitHub 이슈를 열어주세요.
[!TIP]
v3.5.0이 출시되었습니다! Bedrock 어댑터, 프롬프트 방어 개선, 거버넌스 강화가 포함된 최신 안정 릴리스입니다. 변경 로그 →
AI 에이전트를 위한 런타임 거버넌스 — 결정론적 정책 시행, 제로 트러스트 신원, 실행 샌드박싱, 자율 에이전트를 위한 SRE. OWASP Agentic 위험 10개 전부를 13,000개 이상의 테스트로 다룹니다.
모든 스택과 호환 — AWS Bedrock, Google ADK, Azure AI, LangChain, CrewAI, AutoGen, OpenAI Agents 등 20개 이상. Python · TypeScript ·.NET · Rust · Go.
하는 일: 에이전트 프레임워크와 에이전트가 수행하는 작업 사이에 위치합니다. 모든 도구 호출, 리소스 접근, 에이전트 간 메시지는 실행 전에 정책에 대해 평가됩니다. 결정론적이며 확률적이지 않습니다.
하지 않는 일: 이것은 프롬프트 가드레일이나 콘텐츠 조정 도구가 아닙니다. LLM 입력/출력이 아닌 에이전트 행동을 관리합니다. 모델 수준 안전을 위해서는 Azure AI Content Safety를 참조하세요.
Agent Action ──► Policy Check ──► Allow / Deny ──► Audit Log (< 0.1 ms)
중요한 이유: 프롬프트 기반 안전("규칙을 따라주세요")은 레드팀 테스트에서 26.67%의 정책 위반율을 보입니다. AGT의 결정론적 애플리케이션 계층 시행: 0.00%.
# 1. 설치
pip install agent-governance-toolkit[full]
# 2. 설치 확인
agt doctor
# 3. OWASP 준수 확인
agt verify
# 4. 런타임 증거 확인 (가능한 경우)
agt verify --evidence./agt-evidence.json
# 5. 약한 런타임 증거에 대해 CI 실패
agt verify --evidence./agt-evidence.json --strict
# 6. 에이전트 보안 태세 레드팀 테스트
agt red-team scan./prompts/ --min-grade B --strict
그런 다음 첫 번째 작업을 관리합니다:
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"}) # ✅ 허용
result = evaluator.evaluate({"tool_name": "delete_file"}) # ❌ 결정론적으로 차단
<details> <summary><b>TypeScript</b></summary>
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"
</details>
<details> <summary><b>.NET</b></summary>
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" });
// result.Allowed == true
builder.Services.AddMcpServer().WithGovernance(options => options.PolicyPaths.Add("policies/mcp.yaml"));
</details>
<details> <summary><b>Rust</b></summary>
use agent_governance::{AgentMeshClient, ClientOptions};
let client = AgentMeshClient::new("my-agent").unwrap();
let result = client.execute_with_governance("data.read", None);
assert!(result.allowed);
</details>
<details> <summary><b>Go</b></summary>
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)
// result.Allowed == true
</details>
전체 워크스루: quickstart.md — YAML 정책, OPA/Rego, Cedar 지원으로 10분 만에 제로에서 관리되는 에이전트까지.
🌍 다른 언어로도 제공: 日本語 | 简体中文 | 한국어]
| 기능 | 설명 | 링크 | ||
|---|---|---|---|---|
| 정책 엔진 | 모든 작업이 실행 전에 평가 — 서브 밀리초, 결정론적. YAML, OPA/Rego, Cedar 정책 지원 | Agent OS · 벤치마크 | ||
| 기여자 평판 | PR/이슈 작성자를 사회 공학 공격에 대해 스크리닝: 자격 증명 세탁, 스프레이 패턴, 네트워크 조정. 모든 저장소에서 재사용 가능한 GitHub Action | Action · 스크립트 | ||
| 제로 트러스트 신원 | Ed25519 + 양자 안전 ML-DSA-65 자격 증명, 신뢰 점수(0–1000), SPIFFE/SVID | AgentMesh | ||
| 실행 샌드박싱 | 4계층 권한 링, 사가 오케스트레이션, 킬 스위치 | Runtime · Hypervisor | ||
| Agent SRE | SLO, 오류 예산, 재생 디버깅, 카오스 엔지니어링, 서킷 브레이커 | Agent SRE | ||
| MCP 보안 스캐너 | MCP 정의에서 도구 중독, 타입스쿼팅, 숨겨진 명령어 탐지 | MCP 스캐너 | ||
| 섀도우 AI 탐지 | 프로세스, 구성, 저장소 전반에서 등록되지 않은 에이전트 발견 | Agent Discovery | ||
| 에이전트 수명 주기 | 프로비저닝 → 자격 증명 로테이션 → 고아 탐지 → 폐기 | Lifecycle | ||
| 거버넌스 대시보드 | 실시간 플릿 가시성 — 상태, 신뢰, 규정 준수, 감사 이벤트 | 대시보드 | ||
| 통합 CLI | agt verify, agt red-team, agt doctor, agt lint-policy — 모든 것을 하나의 명령으로 |
CLI | ||
| PromptDefense 평가기 | 규정 준수 테스트를 위한 12-벡터 프롬프트 인젝션 감사 | 평가기 |
| 프레임워크 | 통합 | ||
|---|---|---|---|
| Microsoft Agent Framework | 네이티브 미들웨어 | ||
| Semantic Kernel | 네이티브 (.NET + Python) | ||
| Microsoft AutoGen | 어댑터 | ||
| LangGraph / LangChain | 어댑터 | ||
| CrewAI | 어댑터 | ||
| OpenAI Agents SDK | 미들웨어 | ||
| pi-mono | TypeScript SDK 통합 | ||
| Google ADK | 어댑터 | ||
| LlamaIndex | 미들웨어 | ||
| Haystack | 파이프라인 | ||
| Dify | 플러그인 | ||
| Azure AI Foundry | 배포 가이드 |
전체 목록: 프레임워크 통합 · 빠른 시작 예제
| 위험 | ID | AGT 제어 | ||
|---|---|---|---|---|
| 에이전트 목표 하이재킹 | ASI-01 | 정책 엔진이 승인되지 않은 목표 변경 차단 | ||
| 과도한 기능 | ASI-02 | 기능 모델이 최소 권한 적용 | ||
| 신원 및 권한 남용 | ASI-03 | Ed25519 + ML-DSA-65를 사용한 제로 트러스트 신원 | ||
| 통제되지 않은 코드 실행 | ASI-04 | 실행 링 + 샌드박싱 | ||
| 안전하지 않은 출력 처리 | ASI-05 | 콘텐츠 정책이 모든 출력 검증 | ||
| 메모리 중독 | ASI-06 | 무결성 검사가 있는 일시적 메모리 | ||
| 안전하지 않은 에이전트 간 통신 | ASI-07 | 암호화된 채널 + 신뢰 게이트 | ||
| 연쇄 실패 | ASI-08 | 서킷 브레이커 + SLO 시행 | ||
| 인간-에이전트 신뢰 결핍 | ASI-09 | 전체 감사 추적 + 비행 기록기 | ||
| 불량 에이전트 | ASI-10 | 킬 스위치 + 링 격리 + 이상 탐지 |
전체 매핑: OWASP-COMPLIANCE.md · 규제 정렬: EU AI Act, NIST AI RMF, Colorado AI Act
거버넌스는 작업당 < 0.1 ms를 추가합니다 — LLM API 호출보다 약 10,000배 빠릅니다.
| 지표 | 지연 시간 (p50) | 처리량 | ||
|---|---|---|---|---|
| 정책 평가 (1개 규칙) | 0.012 ms | 72K ops/sec | ||
| 정책 평가 (100개 규칙) | 0.029 ms | 31K ops/sec | ||
| 정책 시행 | 0.091 ms | 9.3K ops/sec | ||
| 동시 (50개 에이전트) | — | 35,481 ops/sec |
참고: 이 수치는 정책 평가만 측정합니다. 분산 다중 에이전트 배포에서는 에이전트 간 메시지에 대한 암호화 검증 및 메시 핸드셰이크에 약 5–50ms가 추가됩니다. 전체 분석은 제한 사항 — 성능을 참조하세요.
전체 방법론: BENCHMARKS.md
| 언어 | 패키지 | 명령어 | ||
|---|---|---|---|---|
| Python | agent-governance-toolkit |
pip install agent-governance-toolkit[full] |
||
| TypeScript | @microsoft/agent-governance-sdk |
npm install @microsoft/agent-governance-sdk |
||
| .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 |
5개 언어 패키지 모두 핵심 거버넌스(정책, 신원, 신뢰, 감사)를 구현합니다. Python은 전체 스택을 제공합니다. 자세한 언어별 적용 범위는 언어 패키지 매트릭스 를 참조하세요.
<details> <summary><b>개별 Python 패키지</b></summary>
| 패키지 | PyPI | 설명 | ||
|---|---|---|---|---|
| Agent OS | agent-os-kernel |
정책 엔진, 기능 모델, 감사 로깅, MCP 게이트웨이 | ||
| AgentMesh | agentmesh-platform |
제로 트러스트 신원, 신뢰 점수, A2A/MCP/IATP 브리지 | ||
| Agent Runtime | agentmesh-runtime |
권한 링, [...] |