mcpField
A
Aegis — AI Agent Governance

Aegis — AI Agent Governance

本地服务
github.com/Acacian安全189 周前更新

关于 Aegis — AI Agent Governance

Aegis 是面向 AI Agent 系统的治理层,将策略执行、安全防护和审计统一到一个运行时。它可自动检测并接入多种 Agent 框架,也提供 MCP 传输代理。

主要功能

  1. 01通过 YAML 策略控制调用的自动放行、审批或阻止
  2. 02检测提示注入、PII、提示词泄露和有害内容
  3. 03自动接入已安装的 Agent 框架
  4. 04记录防篡改审计链与多 Agent 委派
  5. 05扫描代码并测试策略变更

适用场景

  1. 01在运行时拦截风险工具调用并遮蔽 PII
  2. 02发布前查找缺少治理措施的 AI 调用
  3. 03在 CI 中测试策略及回归影响
  4. 04为多个 Agent 集中管理策略与审计

MCP 相关

提供 MCP 传输层代理,可治理通过 STDIO 或 HTTP 连接的 MCP 服务。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"acacian-aegis": {
"command": "uvx",
"args": [
"agent-aegis"
],
"env": {
"AEGIS_POLICY_PATH": "<AEGIS_POLICY_PATH>"
}
}
}
}
启动命令uvx agent-aegis
需要配置的环境变量
AEGIS_POLICY_PATHPath to YAML policy file

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiagent-aegis0.1.6

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Agent-Aegis

AI Agent 的治理层。一个 API,12 个框架,涵盖所有治理原语。

Aegis 之于 Agent 治理,正如 Redis 之于数据结构——一个运行时,统一了提示词注入拦截、PII 遮蔽、策略执行、信任委派和防篡改审计,适用于所有 Agent 框架。无需修改代码。
pip install agent-aegis → aegis.auto_instrument() → 现在,12 个框架均已纳入治理。

OpenSSF 最佳实践 CI PyPI Python 许可证
测试 覆盖率 在线演练场

Aegis 是什么 • 原语 • 框架 • 用例 • 30 秒快速开始 • 研究 • 文档 • 在线演练场

英语 • 한국어


Aegis 演示


Aegis 是什么

每个 AI Agent 框架都在重复实现相同的治理原语,而且实现方式各不相同。Aegis 是统一这些原语的抽象层。

层功能示例
1. 原语为每次工具调用提供通用约定Action、ActionClaim、Policy、Result、DelegationChain、AuditEvent
2. 适配器通过各框架自身的钩子实现自动检测LangChain 回调、CrewAI BeforeToolCallHook、OpenAI Agents 追踪、Google ADK BasePlugin、MCP 传输、DSPy 模块、httpx 中间件、Playwright 上下文
3. 治理可组合成策略的声明式原语提示词注入/PII/信息泄露/毒性防护、RBAC、速率限制、成本预算、漂移检测、异常评分、信任委派、合理性缺口、选择审计、Merkle 审计链
4. 生命周期一个运行时,涵盖 Agent 运维的每个阶段扫描 → 检测 → 策略 CI/CD → 运行时 → 代理 → 审计
import aegis
aegis.auto_instrument()    # 12 frameworks governed. No other code changes.

你无需分别为 LangChain、CrewAI 和 OpenAI 编写防护规则,只需编写一个 Policy,所有框架都会继承它。

与护栏库的区别

它们解决的是不同的问题,而且大多围绕文本展开。Guardrails AI 根据一系列验证器校验模型输出;NeMo Guardrails 使用 Colang DSL 编写对话和工具策略;Snyk Agent Scan——也就是 Snyk 收购后 Invariant Labs 的 mcp-scan——会扫描 MCP 服务和 Agent 技能,以查找已知风险模式,并可在运行时代理它们;LLM Guard 会串联输入/输出扫描器,直到它于 2026 年 7 月归档。每个库都需要你自行接入,并由你选择调用位置。Aegis 则从另一端入手:auto_instrument() 会查找已安装的框架并就地插桩,因此一个 Policy 就能覆盖所有框架,无需改动任何 Agent 代码。它实施的是针对 Agent 而非提示词的约束——在单调信任约束下追踪委派链,审计 Agent 排除了什么,而不只是它选择了什么,衡量 Agent 声明意图与实际影响之间的差距,以及维护防篡改审计链。所有操作都是确定性的,因此请求路径中不会有第二个模型。这些选择并不互斥:语义检测器或基于模型的检测器可以通过 GuardrailEngine.add() 与内置检测器一同使用。


基础组件

每个适配器都会映射到的契约。设计上与框架无关。

基础组件用途模块
Action跨所有框架统一表示任意工具/LLM/HTTP/MCP 调用aegis.core.action
ActionClaim三方结构——声明(由 Agent 编写)/评估(由 Aegis 计算)/链(委派)aegis.core.action_claim
Policy声明式 YAML 规则:匹配 → 风险 → 审批(auto/approve/block)aegis.core.policy
ClaimPolicy评估 6 维影响向量的策略层,而不只是工具名称aegis.core.claim_policy
Guardrails用于检测注入、PII、提示词泄露、有害内容的确定性正则表达式检查——冷启动 2.65ms/热启动 <1µsaegis.guardrails
DelegationChain多 Agent 移交追踪,并带有单调信任约束(信任不可增加)aegis.core.agent_identity
AuditEvent防篡改的仅追加日志,采用 Merkle 链,并支持 SQLite + JSONL + webhook 接收端aegis.core.merkle_audit
SelectionAudit审计 Agent 排除了什么,而不只是它选择了什么——检测表面上的对齐aegis.core.selection_audit
JustificationGap6D 非对称评分:Agent 声明影响,Aegis 独立评估,差距会触发升级处理aegis.core.justification_gap
CryptoAuditChain用于长期合规证据的 Ed25519 签名链aegis.core.crypto_audit

Aegis 中的每项治理功能——异常检测、成本预算、漂移、级联防护、终止开关——都是这些基础组件的组合。阅读概念指南,了解它们如何协同工作。


框架

一个 API。12 个 Agent 框架 + 3 个协议级适配器。

框架钩子集成方式
Google ADKBasePlugin 生命周期(工具调用、Agent 路由、会话)原生 — 补丁只负责安装插件
CrewAI全局 BeforeToolCallHook、Crew.kickoff/kickoff_async混合 — 工具调用使用原生钩子,crew 入口使用补丁
Pydantic AIAbstractCapability · Agent.run/run_sync原生(可选)· 补丁(自动)
OpenAI Agents SDKtool_input_guardrail/tool_output_guardrail · Runner.run/run_sync原生(可选)· 补丁(自动)
LangChainBaseChatModel.invoke/ainvoke、BaseTool.invoke/ainvoke补丁
OpenAI APICompletions.create(聊天和补全)补丁
Anthropic APIMessages.create补丁
LiteLLMcompletion、acompletion补丁
Google GenAIModels.generate_content(新旧版本)补丁
LlamaIndex每个具体子类上的 LLM.chat/achat/complete/acomplete、BaseQueryEngine.query/aquery补丁
InstructorInstructor.create、AsyncInstructor.create补丁
DSPyModule.__call__、LM.forward/aforward补丁
MCP适用于任何 MCP 服务的传输层代理(stdio / HTTP)代理 — 无需打补丁
httpx用于原始 HTTP 出站流量(REST Agent、webhook)的 HttpxExecutor包装器 — 无需打补丁
Playwright用于浏览 Agent 的 PlaywrightExecutor包装器 — 无需打补丁

auto_instrument() 会检测已安装的内容,并且只对这些内容打补丁 — 无硬依赖。自定义适配器使用相同的 BaseAdapter 接口。上方的每个适配器都会由集成工作流每天针对当前上游版本进行测试:该工作流会调用每个框架的真实入口,并断言防护规则确实触发 — 单元测试会模拟这些框架,因此无法自行发现上游变化。

集成策略。 只要存在能够实际阻止操作的原生扩展点,就优先使用它 — Google ADK 的 BasePlugin 和 CrewAI 的 BeforeToolCallHook 都能做到,因此在这两种情况下,auto_instrument() 只会打足够的补丁来安装原生对象。Pydantic AI 和 OpenAI Agents SDK 提供了可选择启用的原生实现(AbstractCapability、tool_input_guardrail),同时也提供基于补丁的路径,适用于零代码场景。其余所有集成都使用补丁,因为它们没有可阻止操作的钩子:原始 OpenAI/Anthropic SDK 和 DSPy 都未提供此类钩子;而 LlamaIndex 的插桩分发器会发出事件,但会吞掉处理程序异常,因此只能观察,无法强制执行。

Pydantic AI 集成正是写明这一策略的原因。在核心维护者 DouweM 审查之前,它一直通过猴子补丁实现 — “这些功能似乎并未作为 Pydantic AI 能力公开?” — 随后便根据原生扩展 API 重新构建(src/aegis/contrib/pydantic_ai.py;审查记录见 pydantic-ai#4888)。

打补丁是后备方案,而非首选 — 它最容易受到上游变更影响,这也是集成工作流存在的原因。

默认防护机制
防护机制默认设置检测内容
提示词注入拦截13 类攻击、109 种模式、9 种语言(EN/KO/ZH/JA/ES/DE/FR/TH/VI)
PII 检测警告13 个类别(电子邮件、信用卡、SSN、IBAN、API 密钥等)
提示词泄露警告系统提示词提取尝试
有害内容警告有害、暴力或辱骂性内容
MCP STDIO 注入拦截JSON-RPC 注入、帧拼接、Unicode 转义绕过(OX Security 安全公告)

确定性正则表达式——不调用大模型,不访问网络。每次检查冷启动耗时 2.65ms / 热启动耗时 <1µs。


使用场景

相同的基础功能,五种不同的接入方式。选择最适合你工作流的方式。

1. 运行时防护(最常见)

一行代码。适用于任何框架。

import aegis
aegis.auto_instrument()

也可以完全不改代码——AEGIS_INSTRUMENT=1 python my_agent.py。注入拦截、PII 屏蔽、提示词泄露警告、审计跟踪和策略执行将对每个 LangChain / CrewAI / OpenAI / Anthropic / LiteLLM / ADK / DSPy / LlamaIndex / Pydantic AI 调用生效。

Pydantic AI 原生功能——无需猴子补丁,可显式控制每个 Agent:

from pydantic_ai import Agent
from aegis.contrib.pydantic_ai import AegisCapability

agent = Agent(
    "openai:gpt-4o-mini",
    capabilities=[AegisCapability.default()],  # injection, PII, toxicity, prompt-leak, hallucination
)
result = await agent.run("What is AI governance?")

Pydantic AI 完整集成指南 →

2. 生产前扫描

在未经治理的 AI 调用上线前将其找出。

pip install agent-aegis
aegis scan .
Aegis Governance Scan
=====================
Scanned: 47 files in ./src

Found 5 ungoverned tool call(s):
  agent.py:12   OpenAI        function call with tools= — no governance wrapper  [ASI02]
  tools.py:8    LangChain     @tool "search_db" — no policy check  [ASI02]
  llm.py:21     LiteLLM       litellm.completion() — no governance wrapper  [ASI02]
  run.py:5      subprocess    subprocess.run — direct shell execution  [ASI08]
  api.py:14     HTTP          requests.post — raw HTTP in agent code  [ASI07]

Governance Score: D (5 ungoverned call(s))

支持 --format json|sarif|suggest、--threshold A-F、.aegisscanignore 和内联 # aegis: ignore 指令。使用 aegis scan --fix 自动修复。

3. 策略 CI/CD

安全工具提供运行时防护。Aegis 还负责管理策略生命周期——就像测试和发布代码一样。

aegis plan current.yaml proposed.yaml --audit-db aegis_audit.db

# Policy Impact Analysis
#   Rules: 2 added, 1 removed, 3 modified
#   Impact (replayed 1,247 actions):
#     23 actions would change from AUTO → BLOCK
aegis test policy.yaml tests.yaml                      # Run in CI
aegis test policy.yaml --generate                      # Auto-generate test suite
aegis test new.yaml tests.yaml --regression old.yaml   # Regression check
# .github/workflows/policy-check.yml
- uses: Acacian/aegis@main
  with:
    policy: aegis.yaml
    tests: tests.yaml
    fail-on-regression: true

或者在 PR 阶段拦截未经治理的调用:

- uses: Acacian/[email protected]
  with:
    command: scan
    fail-on-ungoverned: true
4. 审计与合规

每次调用都会记录到具有防篡改功能的 Merkle 链,并内置 EU AI Act / NIST AI RMF / SOC2 映射。

aegis audit
  ID  Session       Action        Target   Risk      Decision    Result
  1   a1b2c3d4...   read          crm      LOW       auto        success
  2   a1b2c3d4...   bulk_update   crm      HIGH      approved    success
  3   a1b2c3d4...   delete        crm      CRITICAL  block       blocked

支持 SQLite + JSONL + webhook 接收端。使用 Ed25519 签名保存长期证据。请参阅合规指南。

5. 治理服务(多 Agent)

为多个 Agent 提供集中式治理。每个 Agent 通过 SDK 连接,由服务端处理策略、防护机制、审计和合规。

pip install 'agent-aegis[server]'
aegis-server

提供 37 个 REST 端点 + WebSocket 审计流 + Web 仪表板。Agent 会自动注册、发送心跳,并通过 HTTP 查询策略。请参阅治理框架服务。


30 秒快速开始

pip install agent-aegis
import aegis
aegis.auto_instrument()
# All 12 frameworks now governed with default guardrails.

也可以使用 YAML 策略进行全面控制:

aegis init  # Creates aegis.yaml
# aegis.yaml
guardrails:
  pii: { enabled: true, action: mask }
  injection: { enabled: true, action: block, sensitivity: medium }

policy:
  version: "1"
  defaults:
    risk_level: medium
    approval: approve
  rules:
    - name: read_safe
      match: { type: "read*" }
      risk_level: low
      approval: auto
    - name: no_deletes
      match: { type: "delete*" }
      risk_level: critical
      approval: block

安装选项

pip install agent-aegis                   # Core (includes auto_instrument for all frameworks)
pip install langchain-aegis               # LangChain standalone integration
pip install 'agent-aegis[mcp]'            # MCP server + proxy
pip install 'agent-aegis[server]'         # REST API + dashboard
pip install 'agent-aegis[all]'            # Everything
MCP 代理 — 无需改动代码即可治理任何 MCP 服务
{
  "mcpServers": {
    "filesystem": {
      "command": "uvx",
      "args": ["--from", "agent-aegis[mcp]", "aegis-mcp-proxy",
               "--wrap", "npx", "-y",
               "@modelcontextprotocol/server-filesystem", "/home"]
    }
  }
}

适用于 Claude Desktop、Cursor、VS Code、Windsurf。提供 STDIO 注入防护、工具投毒检测、rug-pull 检测、参数清理、策略评估和完整审计跟踪。

治理框架服务

将 Aegis 作为专用治理服务运行,提供 REST API、WebSocket 流式传输和 Web 仪表板。

pip install 'agent-aegis[server]'
aegis-server --init          # Generate aegis-server.yaml
aegis-server                 # Start server on :8000

37 个 REST 端点,覆盖完整的治理生命周期:

API 分组端点用途
核心evaluate、execute、audit、policy策略评估和执行流程
Agentregister、heartbeat、list、statusAgent 生命周期管理
护栏check、list内容安全检查
策略版本控制commit、diff、rollback、tag类 Git 的策略变更管理
加密审计verify、entries、evidence防篡改审计链验证
信任与漂移信任评分、漂移检测针对每个 Agent 的行为分析
成本预算检查、报告大模型成本治理
合规报告、法规差距SOC2 / GDPR / EU AI Act 报告
会话list、replay会话记录和取证回放

通过 Python SDK(同步或异步)连接:

from aegis import AegisClient

with AegisClient("http://localhost:8000", agent_id="my-agent") as client:
    result = client.evaluate("delete", "user_data")
    # result["risk_level"] == "CRITICAL", result["is_allowed"] == False
from aegis import AsyncAegisClient

async with AsyncAegisClient("http://localhost:8000", agent_id="my-agent") as client:
    result = await client.evaluate("read", "reports")

通过 aegis-server.yaml 驱动配置——护栏、Webhook(Slack/PagerDuty)、速率限制、成本预算和身份验证均采用声明式配置。请参阅 aegis-server.example.yaml。


为什么选择 Aegis?

自行编写平台护栏企业级平台Aegis
抽象层级按框架编写 if/else单一供应商 SDK专有网关适用于 12 个框架的通用基元
设置花数天编写 if/else供应商专属配置Kubernetes + 采购流程pip install + 一行代码
代码变更封装每次调用SDK 专属数月集成工作零改动——自动插桩
策略可移植性每个框架都要重写受限于生态系统通常仅支持单一供应商一份 YAML 策略,适用于所有框架
治理基元从头构建子集,由供应商定义专有10+ 个可组合基元
策略 CI/CD无无无aegis plan + aegis test
审计跟踪printf 调试仅平台日志云仪表板SQLite + JSONL + Webhook + Merkle 链
合规手动编写文档无企业销售周期内置 EU AI Act、NIST、SOC2 支持
成本工程师工时免费至 $$$$$$$ + 基础设施免费(MIT)。永久免费。
只有 Aegis 能做到的事

其他工具会检查输入和输出。Aegis 治理的是决策本身——提供其他治理运行时都不具备的基元。

功能含义依据
三方 ActionClaim每次工具调用都拆分为 Declared(由 Agent 编写,不可信)、Assessed(由 Aegis 计算)和 Chain(委派)字段。正是这种结构性分离,让检测表面上的一致性成为可能。基于 14,285 次 tau-bench 调用测量 Justification Gap
Justification Gap6 维非对称评分:Agent 声明影响,Aegis 独立评估影响,且 per_dim = max(0, assessed − declared)。少报会触发升级处理(>0.15)或阻止(>0.40)。名称“ActionClaim”源自 COA-MAS(Carvalho);6D 指标和运行时形式为原创
选择治理审计 Agent 排除了什么,而不仅是它们选择了什么。模型“贴心地”省略有风险的选项,就是在行使选择权——Aegis 会检测到这一点。Santander 等人,arXiv:2602.14606
单调信任约束被委派的 Agent 无法提升自身权限。信任级别沿委派链必须保持非递增——违反时会自动阻止。基于格的访问控制
完整生命周期扫描(检测)→ 插桩(保护)→ 策略 CI/CD(测试)→ 运行时(治理)→ 代理(网关)→ 审计(跟踪)。一个库,一条 pip install 命令。—

CLI

aegis scan ./src/                       # Detect ungoverned AI calls
aegis score ./src/ --policy policy.yaml # Governance score (0-100)
aegis init                              # Generate starter policy
aegis validate policy.yaml              # Validate syntax
aegis plan current.yaml proposed.yaml   # Preview policy changes
aegis test policy.yaml tests.yaml       # Policy regression testing
aegis check policy policy.yaml read:crm # Policy decision per action (CI gate)
aegis audit                             # View audit log
aegis serve policy.yaml                 # REST API + dashboard
aegis probe policy.yaml                 # Adversarial policy testing
aegis autopolicy "block deletes"        # Natural language → YAML

研究

对公开 Agent 轨迹数据集进行的原始测量。仅使用标准库,可在 30 秒内复现。

  • 14,285 次 Tau-Bench 工具调用中的理由差距 — 对三方 ActionClaim 的正式定义及静默基线实证研究。在四个模型与领域组合中,90.3% 通过、9.7% 升级处理、0% 阻止。航空领域的平均差距约为零售业的 2 倍。包含三项结构不变量的可靠性概述,以及研究期间发现的仅支持 max 覆盖的限制说明。
  • 1,960 条 Tau-Bench 轨迹中的工具分布漂移 — 对 GPT-4o 和 Sonnet 3.5 New 的工具名称序列计算香农熵。39.8% 的已评分轨迹在结束时收敛到一两个工具。分布呈双峰,模型间差距为 1.7 倍。所有脚本和原始数据均已提供。

在自己的轨迹上运行同一信号:

aegis check drift --trace path/to/trace.jsonl

CLI 只读取 tool_name 字段,不读取参数、思维链或提示词,因此企业用户无需外传个人身份信息,就能对生产环境轨迹进行评分。

我们还在 39 个公开 Agent 仓库中运行了 aegis scan,并评估其治理状况:92% 得分为 F。这是对整个生态系统的发现,并非针对某个项目——大多数 Agent 代码完全没有工具调用策略。

文档

完整文档请访问 acacian.github.io/aegis:

贡献

git clone https://github.com/Acacian/aegis.git && cd aegis
make dev      # Install deps + hooks
make test     # Run tests
make lint     # Lint + format check

贡献指南 • 适合新手的议题 • 在 GitHub Codespaces 中打开

许可证

MIT -- 详情请参阅 LICENSE。

Copyright (c) 2026 구동하 (Dongha Koo, @Acacian)。创建于 2026 年 3 月 21 日。


AI Agent 的治理层。一个 API,12 个框架,涵盖所有治理原语。
如果 Aegis 对你有帮助,请考虑为它点个星标——这也能帮助其他人发现它。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。