AI SDK安全研究
对广泛使用的AI SDK、代理框架和MCP服务器进行公共安全审计。
调查结果是通过静态分析得出的。原始扫描数据包含在每个审核目录中,因此可以独立验证结果。
______________________________________________________________________
审计
2026年3月23日-重新审核+4个新存储库(v2)
扫描了8个存储库。4665张图片。 260项关键发现总计10961。
| 目标 | 类别 | 关键 | 总数 | 文件 | 日期 |
|---|---|---|---|---|---|
| vercel/ai | 流媒体SDK | 6↓ (17岁) | 3480 | 1459 | 2026年3月23日 |
| langchain ai/langchainjs | 代理框架 | 150↓ (200) | 5347 | 1433 | 2026年3月23日 |
| openai/openai节点 | 模型提供程序SDK | 1↓ (原本是2) | 825 | 256 | 2026年3月23日 |
| 模型上下文协议/服务器 | MCP参考 | 1→ (不变) | 140 | 58 | 2026年3月23日 |
| crewAIInc/crewAI | 代理框架 | 75 | 430 | 761 | 2026年3月23日 |
| 模型上下文协议/类型脚本sdk | MCP软件开发工具包 | 2 | 292 | 96 | 2026年3月23日 |
| 人型/人型sdk蟒蛇 | 模型提供者SDK | 24\* | 113 | 547 | 2026年3月23日 |
| 谷歌gemini/生成式人工智能js | 模型提供者SDK | 1 | 334 | 55 | 2026年3月23日 |
\*人类批判性发现分类为 known-malicious-package --需要人工分诊确认。看 审核自述文件.
全面分析: https://codeslick.dev/blog/ai-sdk-security-audit-2026-v2
______________________________________________________________________
2026年3月18日——初步审计(v1)
扫描了4个存储库。5381个文件。 220项关键发现总计20355。
| 目标 | 类别 | 关键 | 总计 | 日期 |
|---|---|---|---|---|
| vercel/ai | 流媒体SDK | 17 | 10460 | 2026年3月18日 |
| langchain ai/langchainjs | 代理框架 | 200 | 8650 | 2026年3月18日 |
| openai/openai节点 | 模型提供者SDK | 1105年2月 | 2026年3月18日 | |
| 模型上下文协议/服务器 | MCP参考 | 1 | 140 | 2026年3月18日 |
全面分析: https://codeslick.dev/blog/ai-sdk-security-audit-2026
______________________________________________________________________
每个回购中出现的三种模式
- 示例和测试代码中的硬编码凭据 --出现在所有8个repos中。示例模式传播到生产实现中。
- 异步/代理流中缺少错误处理 --在所有repo中,主要的高严重性发现。多代理管道中的无声故障会破坏下游环境。
- 工具处理程序中的未验证输入 --在MCP服务器环境中尤其重要,其中工具从处理不可信输入的AI模型接收参数。
______________________________________________________________________
方法论
工具: CodeSlick命令行界面 v1.5.4-308安全检查(JS、TS、Python),包括2026年3月8日添加的12个MCP行为检查。
扫描模式:快速模式——基于模式的静态分析。所有凭证、注入、错误处理和输入验证检查都处于活动状态。为了提高扫描速度,深度TypeScript编译器类型分析被排除在外。
范围:浅层克隆(--depth 1)默认分支。扫描的所有文件,包括示例、测试和文档,都是有意的,因为示例代码是模式如何传播到生产中的。
我们不主张的:这些是时间点静态分析扫描,而不是渗透测试。在将发现的漏洞视为已确认的漏洞之前,需要手动进行分类。我们公布原始产量;我们不会只过滤确认的阳性。
______________________________________________________________________
再现结果
# Install CodeSlick CLI
npm install -g codeslick-cli
# Clone the target repo
git clone --depth 1 https://github.com/.git
# Scan
cd
codeslick scan --all --quick --json > results.json原始JSON输出文件位于每个 audits// 目录。
______________________________________________________________________
披露
在发布之前,生产SDK代码中的关键发现(不是示例/测试)会私下向维护人员披露。示例文件发现直接发布——它们是模式,而不是可利用的漏洞。
______________________________________________________________________
贡献
找到一个值得审计的回购?打开一个与目标相关的问题,并说明它与人工智能安全相关的原因。
