168 lines
6.1 KiB
Markdown
168 lines
6.1 KiB
Markdown
|
|
# AI技能安全审计工具
|
|||
|
|
|
|||
|
|
`安全审计` `AI代理` `恶意检测` `OWASP` `提示注入` `MCP安全`
|
|||
|
|
|
|||
|
|
# 技能安全审计
|
|||
|
|
|
|||
|
|
**在恶意 AI 代理技能危害你的系统之前,提前发现它们。**
|
|||
|
|
|
|||
|
|
一款跨平台安全审计技能,用于扫描第三方 AI 代理技能、插件和工具定义中的安全漏洞。基于 AI 语义分析,涵盖 9 大风险类别的 61 种检测模式,与 [OWASP Agentic AI Top 10](https://owasp.org/www-project-agentic-ai-threats/) 对齐。零依赖——在任何支持 AI 代理技能的平台上均可运行。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 为什么需要它
|
|||
|
|
|
|||
|
|
AI 代理技能生态存在安全隐患。第三方技能以你的代理的完整权限运行,而市场平台的审核力度十分有限:
|
|||
|
|
|
|||
|
|
- **Snyk ToxicSkills** —— ClawHub 上 36.82% 的 MCP 服务器至少存在一个漏洞
|
|||
|
|
- **SlowMist** —— 已识别出 472 余个恶意 MCP 服务器,涉及真实的凭据窃取和数据外泄
|
|||
|
|
- **Koi Security ClawHavoc** —— 在扫描的 2857 个服务器中发现了 341 个恶意服务器
|
|||
|
|
|
|||
|
|
技能可以读取你的 SSH 密钥、窃取环境变量、安装持久性后门,以及注入提示词来覆盖代理的安全护栏。一个恶意技能就能危及一切。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 检测内容
|
|||
|
|
|
|||
|
|
涵盖 9 大类别的 61 种检测模式:
|
|||
|
|
|
|||
|
|
| ID | 类别 | 严重程度 | OWASP ASI | 模式 |
|
|||
|
|
|----|------|----------|-----------|------|
|
|||
|
|
| PI | 提示注入 | 严重 | ASI01 | PI-001 至 PI-008 |
|
|||
|
|
| DE | 数据外泄 | 严重 | ASI02 | DE-001 至 DE-009 |
|
|||
|
|
| CE | 恶意命令执行 | 严重 | ASI02, ASI05 | CE-001 至 CE-010 |
|
|||
|
|
| OB | 混淆/隐藏代码 | 警告 | -- | OB-001 至 OB-007 |
|
|||
|
|
| PA | 权限过度申请 | 警告 | ASI03 | PA-001 至 PA-005 |
|
|||
|
|
| SC | 供应链风险 | 警告 | ASI04 | SC-001 至 SC-006 |
|
|||
|
|
| MP | 记忆/上下文投毒 | 警告 | ASI06 | MP-001 至 MP-005 |
|
|||
|
|
| TE | 人类信任利用 | 警告 | ASI09 | TE-001 至 TE-006 |
|
|||
|
|
| BM | 行为操控 | 信息 | ASI10 | BM-001 至 BM-005 |
|
|||
|
|
|
|||
|
|
每条模式均包含恶意示例、危险说明及误报指导。完整规则集见 [`skills/skills-security-audit/references/security-rules.md`](skills/skills-security-audit/references/security-rules.md)。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 快速开始
|
|||
|
|
|
|||
|
|
### 方式 A:Claude Code 插件(推荐 Claude Code 用户使用)
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 添加市场并安装
|
|||
|
|
/plugin marketplace add https://github.com/agentnode-dev/skills-security-audit.git
|
|||
|
|
/plugin install skills-security-audit@agentnode-dev
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
然后重启 Claude Code。该技能将出现在你的可用技能列表中,并在相关场景下自动触发。
|
|||
|
|
|
|||
|
|
### 方式 B:复制到任意 AI 代理
|
|||
|
|
|
|||
|
|
克隆仓库并将目录指向你的 AI 代理:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
git clone https://github.com/agentnode-dev/skills-security-audit.git
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
然后告诉你的代理:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
加载位于 /path/to/skills-security-audit/skills/skills-security-audit/SKILL.md 的技能,并审计位于 /path/to/suspicious-skill/ 的技能
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 方式 C:粘贴到任意对话
|
|||
|
|
|
|||
|
|
将 [`skills/skills-security-audit/SKILL.md`](skills/skills-security-audit/SKILL.md) 的内容复制到你的 AI 代理的系统提示词或对话中,然后让它审计某个技能。适用于任何 AI 代理——无需安装。
|
|||
|
|
|
|||
|
|
### 使用方式
|
|||
|
|
|
|||
|
|
加载后,向你的代理发出指令:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
审计位于 /path/to/suspicious-skill/ 的技能
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
或扫描所有已安装的技能:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
扫描我所有已安装的技能,检查安全问题
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 工作原理
|
|||
|
|
|
|||
|
|
这是一个**纯技能**——一个指导任何 AI 代理执行安全审计的 Markdown 文件。无需安装代码,无需配置运行时。
|
|||
|
|
|
|||
|
|
### 阶段一:确定扫描范围
|
|||
|
|
|
|||
|
|
技能从你指定的路径、GitHub URL 或平台已安装技能目录中识别目标文件(`.md`、`.json`、`.js`、`.py`、`.sh`、`.ts`、`.yaml`、`.yml`)。
|
|||
|
|
|
|||
|
|
### 阶段二:逐文件分析
|
|||
|
|
|
|||
|
|
AI 代理读取每个文件,并利用语义分析将其内容与全部 61 种检测模式进行比对。与基于正则的工具不同,这种方式能识别混淆、改写和新型攻击模式,因为 AI 理解的是意图,而非字符串本身。
|
|||
|
|
|
|||
|
|
### 阶段三:生成报告
|
|||
|
|
|
|||
|
|
输出包含严重程度评级、证据引用(文件路径和行号)及每条发现可操作修复建议的结构化报告。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 风险评分
|
|||
|
|
|
|||
|
|
每条发现将计入风险分数:
|
|||
|
|
|
|||
|
|
| 发现严重程度 | 分值 |
|
|||
|
|
|-------------|------|
|
|||
|
|
| 严重 | +2.0 |
|
|||
|
|
| 警告 | +0.8 |
|
|||
|
|
| 信息 | +0.2 |
|
|||
|
|
|
|||
|
|
**风险等级**(满分 10.0):
|
|||
|
|
|
|||
|
|
| 分数 | 等级 | 建议操作 |
|
|||
|
|
|------|------|----------|
|
|||
|
|
| 0.0 -- 2.0 | **安全** | 未发现显著风险 |
|
|||
|
|
| 2.1 -- 5.0 | **有风险** | 建议使用前人工审查 |
|
|||
|
|
| 5.1 -- 8.0 | **危险** | 请勿安装 |
|
|||
|
|
| 8.1 -- 10.0 | **恶意** | 确认存在恶意意图——请向市场举报 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 平台支持
|
|||
|
|
|
|||
|
|
本技能为纯 Markdown 格式——任何能读取文件或接受粘贴指令的 AI 代理均可使用。
|
|||
|
|
|
|||
|
|
**原生技能加载**(代理直接读取 SKILL.md):
|
|||
|
|
- Claude Code(通过插件安装或本地文件)
|
|||
|
|
- Cursor(通过 `.cursorrules` 或项目上下文)
|
|||
|
|
- Windsurf(通过项目上下文)
|
|||
|
|
- OpenClaw / ClawHub
|
|||
|
|
|
|||
|
|
**复制粘贴**(将 SKILL.md 内容粘贴到对话中):
|
|||
|
|
- ChatGPT、Gemini、OpenAI Agents 或任何 LLM 聊天界面
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 参考来源
|
|||
|
|
|
|||
|
|
本技能的检测模式基于真实世界威胁情报:
|
|||
|
|
|
|||
|
|
- **[SlowMist](https://slowmist.com/)** —— 对 ClawHub 上 472 余个恶意 MCP 服务器的分析,包括两阶段载荷加载、文件收集和平台中继技术
|
|||
|
|
- **[Snyk ToxicSkills](https://snyk.io/)** —— 研究发现 ClawHub MCP 服务器中 36.82% 的漏洞率
|
|||
|
|
- **[Koi Security ClawHavoc](https://koisecurity.com/)** —— 在 2857 个扫描服务器中发现 341 个恶意服务器
|
|||
|
|
- **[OWASP Agentic AI Top 10](https://owasp.org/www-project-agentic-ai-threats/)** —— 代理 AI 安全风险分类框架(ASI01 至 ASI10)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 参与贡献
|
|||
|
|
|
|||
|
|
欢迎贡献。添加新检测模式的步骤:
|
|||
|
|
|
|||
|
|
1. 按照现有格式将规则添加到 `skills/skills-security-audit/references/security-rules.md`(包括模式、恶意示例、危险说明及误报指导)
|
|||
|
|
2. 同步更新 `security-rules.md` 和 `SKILL.md` 中的摘要表(均位于 `skills/skills-security-audit/` 目录下)
|
|||
|
|
3. 提交 Pull Request,并说明新模式所针对的威胁
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 许可证
|
|||
|
|
|
|||
|
|
MIT
|