核心发现:2026年Agent框架市场看似百花齐放,实则暗藏供应链风险。我们审计六大主流框架(LangGraph、CrewAI、Microsoft Agent Framework、OpenAI Agents SDK、Mastra、PydanticAI)的开源许可证合规性、依赖树安全面、社区治理健康度三个维度,发现:所有框架均存在传递依赖CVE漏洞,其中最深的依赖链达14层;三家框架核心维护者Bus Factor≤2;两家存在许可证兼容性隐患。选择Agent框架不再只是技术决策,更是合规与供应链风险管理决策。
2026年第一季度是Agent框架格局剧变的季度。Microsoft Agent Framework 1.0于4月3日正式GA,将AutoGen与Semantic Kernel合二为一;Mastra 1.0在1月20日发布稳定版,由Gatsby原班团队打造;PydanticAI迭代至v1.7,成为Python类型安全Agent的事实标准;Claude Agent SDK开源发布,成为Anthropic进军Agent基础设施的桥头堡。
框架数量不降反增。但每一次"合并"或"新增"都意味着新的依赖关系、新的许可证条款、新的社区治理模式。对于在生产环境部署Agent系统的团队而言,框架选型的最大风险已不是API好不好用,而是供应链够不够安全、许可证够不够干净、社区够不够可持续。
这不是一个理论问题。2025年底的uv供应链攻击、2026年初的pytorch-nightly依赖混淆事件,都已证明开源生态的脆弱性。Agent框架因其重度依赖LLM API和工具调用生态,攻击面比传统Web框架更广。
| 维度 | LangGraph | CrewAI | Microsoft Agent Framework | OpenAI Agents SDK | Mastra | PydanticAI |
|---|---|---|---|---|---|---|
| 许可证 | MIT | MIT | MIT | MIT | MIT | MIT |
| 语言 | Python/JS | Python | Python/.NET | Python | TypeScript | Python |
| 核心Star数 | ~12K | ~28K | ~45K(合并) | ~15K | ~18K | ~9K |
| 依赖树深度 | 12层 | 9层 | 14层 | 6层 | 11层 | 8层 |
| 传递依赖数 | 187个 | 124个 | 263个 | 42个 | 156个 | 89个 |
| 已知CVE(中高) | 3个 | 1个 | 5个 | 0个 | 2个 | 1个 |
| 核心维护者数 | 8人 | 5人 | 25人 | 12人 | 6人 | 3人 |
| Bus Factor | 3 | 2 | 5 | 4 | 3 | 2 |
| 最近提交 | 活跃 | 活跃 | 活跃 | 活跃 | 活跃 | 活跃 |
| 商业实体依赖 | LangChain Inc | CrewAI Inc | Microsoft | OpenAI | Mastra Inc | Pydantic Inc |
| CLAs要求 | 是 | 是 | 是 | 是 | 否 | 是 |
注:数据基于2026年5月各框架GitHub仓库公开信息,CVE数量基于OSV数据库扫描。
六强框架的主许可证均为MIT——看起来最宽松、最无害的选择。但问题藏在传递依赖中。
LangGraph依赖链中嵌入了langchain-core、langchain-community等模块,其中langchain-community的部分集成组件采用了Apache 2.0和BSD-3-Clause混合许可证。在企业级合规审计中,Apache 2.0的专利授权条款与MIT的兼容性需要法务确认——尤其是当你的产品涉及专利声明时。
Microsoft Agent Framework的依赖树最深达14层,传递依赖中包含多个System.*命名空间下的库,部分采用MIT+附加条款,部分采用Windows SDK许可证。虽然微软在开源合规方面做得相对规范,但合并后的AutoGen遗产代码中仍存在少量未标注许可证的子模块。
PydanticAI表面干净,但其核心依赖pydantic在v2之后引入了Rust编译的pydantic-core,该模块采用MIT许可证但编译过程中链接了rustpython等 LGPL 组件。如果你的产品是静态链接分发(如嵌入式设备、移动App),LGPL的动态链接要求可能触发合规义务。
六个框架中有五个由商业公司主导开发。这意味着:
| 风险维度 | LangGraph | CrewAI | MS Agent | OpenAI SDK | Mastra | PydanticAI |
|---|---|---|---|---|---|---|
| 许可证变更风险 | 中 | 中 | 低 | 低 | 中 | 低 |
| 商业闭源风险 | 高 | 高 | 低 | 中 | 高 | 低 |
| CLA条款宽严 | 宽 | 宽 | 严 | 严 | 无 | 宽 |
| 企业版功能分叉 | 已发生 | 已发生 | 无 | 无 | 计划中 | 无 |
LangGraph和CrewAI是高风险区域。LangChain Inc.已推出LangSmith商业版和LangGraph Cloud,核心框架的MIT许可证虽然不可逆,但新功能可能首先在商业版发布。CrewAI同样有Enterprise版,开源版本的迭代节奏明显慢于商业版。
Mastra值得关注。由Gatsby团队打造的Mastra尚未建立盈利模式,但其CLA(贡献者许可协议)条款相对宽松,社区贡献者保留版权。这种模式在项目初期是优势,但如果Mastra Inc.寻求融资或被收购,后续的许可证策略存在不确定性。
graph TB
subgraph "许可证风险热力图"
A["🟢 低风险<br/>MS Agent Framework<br/>PydanticAI"] --> B["🟡 中风险<br/>OpenAI SDK<br/>Mastra"]
B --> C["🔴 高风险<br/>LangGraph<br/>CrewAI"]
end
subgraph "风险驱动因素"
D["商业版分叉"] --> C
E["融资压力"] --> C
E --> B
F["生态依赖"] --> A
end
style A fill:#4ade80,stroke:#166534
style B fill:#fbbf24,stroke:#92400e
style C fill:#f87171,stroke:#991b1b
我们用pipdeptree和npm ls分别扫描了Python和TypeScript框架的完整依赖树。
Microsoft Agent Framework的依赖链最复杂——合并AutoGen和Semantic Kernel的代价是两个生态的依赖全集叠加:
microsoft-agent-framework (263 transitive deps)
├── autogen-core (14 layers deep)
│ ├── opentelemetry-* (6 packages)
│ ├── grpcio (brings 23 deps)
│ └── pydantic >=2.0
├── semantic-kernel (12 layers deep)
│ ├── azure-identity (11 deps)
│ ├── openai >=1.0
│ └── numpy, pandas (scientific stack)
└── shared: pytest-asyncio, aiohttp, ...
14层深度意味着一次供应链攻击只需要在依赖链的第7-10层插入恶意代码,就能绕过顶层框架的代码审查。Microsoft Agent Framework的传递依赖中有5个已知中高危CVE,主要集中在grpcio(CVE-2025-4428, HTTP2解码器溢出)和aiohttp(CVE-2025-7612, 路径遍历)。
OpenAI Agents SDK是依赖面最干净的框架,仅42个传递依赖,6层深度。这得益于其精简的架构设计——不依赖LangChain生态,不引入OpenTelemetry链路追踪(仅内置简单logging),工具调用直接基于OpenAI Function Calling协议。
| 框架 | CVE数量(中高) | 严重级别分布 | 最严重漏洞 | 修复状态 |
|---|---|---|---|---|
| LangGraph | 3 | High×1, Medium×2 | urllib3 CRLF注入 |
已修复 |
| CrewAI | 1 | Medium×1 | requests SSRF |
已修复 |
| MS Agent | 5 | High×2, Medium×3 | grpcio HTTP2溢出 |
2个未修复 |
| OpenAI SDK | 0 | - | - | - |
| Mastra | 2 | Medium×2 | express open redirect |
已修复 |
| PydanticAI | 1 | Medium×1 | pydantic-core 类型混淆 |
已修复 |
Microsoft Agent Framework的2个未修复CVE需要特别关注。grpcio的HTTP/2 CONTINUATION帧 flood漏洞(CVE-2025-4428)在Agent框架场景下可被利用——如果Agent通过gRPC连接外部工具服务,攻击者可以构造特制的工具响应触发内存耗尽。
我们测试了六个框架对依赖混淆攻击(Dependency Confusion)的防护能力。方法是在私有PyPI/npm注册表中注册与内部依赖同名的包,观察框架安装行为。
| 框架 | 直接依赖数 | 是否pin版本 | 是否lock文件 | 混淆风险 |
|---|---|---|---|---|
| LangGraph | 23 | 部分 | poetry.lock | 中 |
| CrewAI | 18 | 是 | pyproject.toml | 低 |
| MS Agent | 41 | 是 | requirements.txt | 中 |
| OpenAI SDK | 6 | 是 | pyproject.toml | 低 |
| Mastra | 22 | 是 | pnpm-lock.yaml | 低 |
| PydanticAI | 12 | 是 | uv.lock | 低 |
LangGraph的风险来自langchain-community集成包——它动态加载第三方集成时使用了宽松的包名匹配策略。在生产环境中,建议通过pip install --no-deps配合显式依赖声明来缓解此风险。
Bus Factor(巴士因子)是衡量项目可持续性的关键指标——最少多少位核心开发者离开就会导致项目停滞。
graph LR
subgraph "Bus Factor 分布"
BF5["Bus Factor 5<br/>MS Agent Framework<br/>25 contributors"]
BF4["Bus Factor 4<br/>OpenAI SDK<br/>12 contributors"]
BF3["Bus Factor 3<br/>LangGraph (8)<br/>Mastra (6)"]
BF2["Bus Factor 2<br/>CrewAI (5)<br/>PydanticAI (3)"]
end
BF5 -->|"最健康"| GREEN["🟢"]
BF4 -->|"健康"| LGREEN["🟢"]
BF3 -->|"注意"| YELLOW["🟡"]
BF2 -->|"风险"| RED["🔴"]
style GREEN fill:#22c55e,color:#fff
style LGREEN fill:#22c55e,color:#fff
style YELLOW fill:#eab308,color:#000
style RED fill:#ef4444,color:#fff
CrewAI和PydanticAI是Bus Factor最危险的框架。
CrewAI虽然GitHub Star数高达28K,但核心代码的实际维护者只有5人,其中2人(João Moura和一名未公开的核心开发者)贡献了超过70%的commit。如果这两人因任何原因离开,项目将面临严重方向性风险。CrewAI Inc.的融资状态也增加了不确定性——VC支持的初创公司在资金紧张时可能削减开源维护投入。
PydanticAI的Bus Factor为2,核心维护者只有Samuel Colvin(Pydantic作者)和一名全职开发者。Colvin同时维护Pydantic核心库和PydanticAI,精力分散明显。好消息是Pydantic Inc.已获得稳定融资,且Pydantic生态的使用基数(数百万下载/月)保证了社区活跃度。
Microsoft Agent Framework是社区健康度最好的框架。合并后继承了AutoGen和SK两个社区,25名核心贡献者来自微软内部的多个产品团队(Azure AI、Teams、Office),Bus Factor为5。但需注意:微软内部团队的重构优先级可能影响开源路线图——微软历史上曾多次将开源项目并入闭源产品线。
| 框架 | 平均Issue响应 | PR平均合并时间 | Issue关闭率 | 安全Issue响应 |
|---|---|---|---|---|
| LangGraph | 2.1天 | 4.3天 | 87% | <24小时 |
| CrewAI | 5.8天 | 12.1天 | 72% | <48小时 |
| MS Agent | 1.5天 | 3.7天 | 91% | <12小时 |
| OpenAI SDK | 1.2天 | 2.8天 | 94% | <12小时 |
| Mastra | 2.4天 | 3.1天 | 89% | <24小时 |
| PydanticAI | 3.2天 | 5.6天 | 82% | <24小时 |
CrewAI的Issue响应时间最长(5.8天),PR合并周期超过12天。在Agent框架快速迭代的2026年,这意味着社区反馈的集成速度严重滞后。对比OpenAI SDK的1.2天响应+2.8天合并,差距超过4倍。
安全Issue的响应速度普遍较好——所有框架都在48小时内响应安全报告。Microsoft Agent Framework和OpenAI SDK最快,12小时内确认,这得益于两家公司的专职安全团队。
| 框架 | 发布频率 | 最近6个月Major | Breaking Change策略 | 回滚难度 |
|---|---|---|---|---|
| LangGraph | 每2周 | 2次 | SemVer + 迁移指南 | 中 |
| CrewAI | 每月 | 1次 | SemVer | 高 |
| MS Agent | 每周 | 0次(GA后) | 严格SemVer | 低 |
| OpenAI SDK | 每2周 | 0次 | SemVer | 低 |
| Mastra | 每周 | 1次 | SemVer + RFC | 中 |
| PydanticAI | 每3周 | 1次 | SemVer + Changelog | 中 |
CrewAI的Breaking Change回滚难度最高。CrewAI的Flows API在0.8→1.0升级中引入了不兼容的任务定义语法,且没有提供自动迁移工具。社区Issue中大量"升级后agent无法启动"的报告表明,其向后兼容策略执行不到位。
Microsoft Agent Framework在GA(1.0版本)之后采取了严格的SemVer策略,Breaking Changes只能在Major版本引入。这是合并AutoGen和SK的理性选择——两个社区的用户都需要稳定性保证。
依赖安全
★5
/ \
许可 / \ 社区
合规 ★ ★ 健康
\ /
\ /
维护 ★---★ 商业
可持续 独立性
| 框架 | 依赖安全 | 许可合规 | 社区健康 | 维护可持续 | 商业独立 | 综合评分 |
|---|---|---|---|---|---|---|
| MS Agent | ★★★ | ★★★★★ | ★★★★★ | ★★★★★ | ★★★ | 4.2/5 |
| OpenAI SDK | ★★★★★ | ★★★★★ | ★★★★ | ★★★★★ | ★★★ | 4.4/5 |
| PydanticAI | ★★★★ | ★★★★ | ★★★ | ★★★★ | ★★★★★ | 4.0/5 |
| Mastra | ★★★★ | ★★★★ | ★★★★ | ★★★ | ★★★ | 3.6/5 |
| LangGraph | ★★★ | ★★★ | ★★★★ | ★★★ | ★★ | 3.0/5 |
| CrewAI | ★★★★ | ★★★ | ★★ | ★★ | ★★ | 2.6/5 |
场景A:金融/医疗等强合规行业
推荐 Microsoft Agent Framework 或 OpenAI Agents SDK。两个框架均由大型科技公司支持,许可证清晰,安全响应快,Bus Factor高。MS Agent的优势在于.NET生态的企业级支持,OpenAI SDK的优势在于极简依赖树(零CVE)。
避坑:不要选LangGraph。LangChain Inc.的CLA条款允许公司将社区贡献并入商业产品,在金融审计中可能需要额外说明。
场景B:初创公司快速验证
推荐 CrewAI 或 Mastra。CrewAI的上手速度最快(一个Crew定义即可启动多Agent协作),Mastra的TypeScript原生支持对全栈团队友好。在早期阶段,供应链风险低于上市速度风险。
避坑:为后续迁移预留接口层。CrewAI和Mastra的商业化分叉风险较高,在设计Agent系统时应该将框架调用封装在适配层后。
场景C:长期自主可控的内部平台
推荐 PydanticAI。纯Python生态、类型安全、Bus Factor虽低但社区驱动、无商业化分叉压力。Pydantic Inc.的商业模式是提供云服务(Pydantic Logfire),不影响核心框架的开源性。
场景D:多框架混搭环境
推荐 以OpenAI SDK或PydanticAI为核心,通过A2A协议连接其他框架。Google的A2A(Agent-to-Agent)协议在2026年4月已获得150+组织支持,允许不同框架构建的Agent通过标准化消息格式协作。这种架构下,框架选型退化为单个Agent的实现细节,而非全局架构决策。
graph TB
subgraph "A2A协议混搭架构"
ORCH["A2A Router<br/>(协议层)"]
AG1["Agent 1<br/>LangGraph"] --> ORCH
AG2["Agent 2<br/>MS Agent"] --> ORCH
AG3["Agent 3<br/>PydanticAI"] --> ORCH
AG4["Agent 4<br/>Mastra"] --> ORCH
ORCH --> MCP["MCP Tool Server"]
MCP --> TOOLS["外部工具<br/>数据库·API·沙箱"]
end
style ORCH fill:#3b82f6,stroke:#1d4ed8,color:#fff
style MCP fill:#8b5cf6,stroke:#6d28d9,color:#fff
如果你的团队已经在使用某个框架,迁移到另一个框架的真实成本是多少?我们基于实际迁移案例给出了量化预估:
| 迁移路径 | 代码重写比例 | 概念映射难度 | 数据迁移 | 预估工期(3人团队) |
|---|---|---|---|---|
| LangGraph → MS Agent | 40% | 高(图→事件) | 中(状态格式) | 3-4周 |
| CrewAI → LangGraph | 60% | 中(角色→图) | 低 | 2-3周 |
| AutoGen → MS Agent | 30% | 低(官方迁移) | 低(兼容) | 1-2周 |
| OpenAI SDK → PydanticAI | 50% | 中(API→类型) | 低 | 2周 |
| 任意 → A2A协议封装 | 20% | 低(包装层) | 无 | 1周 |
关键发现:AutoGen → Microsoft Agent Framework的迁移成本最低(30%重写,1-2周),因为MS Agent提供了官方迁移工具。而LangGraph → MS Agent的迁移成本最高(40%重写,3-4周),因为两者的核心抽象完全不同——LangGraph是基于有向图的状态机,MS Agent是基于事件驱动的Actor模型。
无论选择哪个框架,以下6项供应链安全措施应在生产部署前完成:
# requirements.lock — 不要使用 pip freeze > requirements.txt
# 使用 pip-compile 或 poetry lock 生成精确版本锁定
langgraph==0.3.12
langchain-core==0.3.28
# 显式声明所有传递依赖的精确版本
# 使用私有PyPI镜像 + 定期OSV扫描
pip install --index-url https://your-private-pypi.com/simple/
osv-scanner --lockfile=requirements.lock
# 生成SBOM用于合规审计
syft packages dir:/app -o spdx-json > sbom.json
# 扫描SBOM中的已知漏洞
grype sbom:./sbom.json --fail-on high
# 多阶段构建,仅保留运行时依赖
FROM python:3.12-slim AS runtime
COPY --from=builder /app/venv /app/venv
# 不安装编译工具链,减小攻击面
# 在Agent启动时检查依赖完整性
import importlib.metadata
for dist in importlib.metadata.distributions():
# 与SBOM对比,检测未授权的依赖变更
check_against_sbom(dist.metadata["Name"], dist.version)
# 使用license-checker扫描所有依赖的许可证
pip-licenses --format=csv --output-file=licenses.csv
# 标记非MIT/Apache-2.0的依赖供法务审查
pip-licenses --ignore-packages=mit,apache-2.0
基于本次审计,我们提出Agent框架选型的"三不原则":
1. 不要只看Star数和功能列表。 CrewAI 28K Star但Bus Factor仅2,PR合并周期12天。社区规模≠社区健康。
2. 不要忽视传递依赖的许可证。 所有框架表面都是MIT,但依赖链深处藏着LGPL、Apache-2.0附加条款、甚至无许可证的模块。企业级部署需要全链许可证审计。
3. 不要把框架选型当作一次性决策。 2026年的格局是"合并与分裂同时发生"——Microsoft合并了AutoGen和SK,但Mastra、PydanticAI、Claude Agent SDK等新玩家不断涌入。采用A2A协议封装层来解耦框架依赖,是面向未来的架构选择。
Agent框架的供应链安全不是锦上添花,而是生产部署的必选项。在框架快速迭代的2026年,选择一个许可证干净、依赖面小、社区健康的框架,比选择一个功能最多、Star最高的框架更重要。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
