关于 skills-security-audit
用于审查 AI Agent 技能、插件和工具定义的安全审计技能,通过语义分析检查九类风险,并生成含严重级别、证据和修复建议的报告。
主要功能
- 01覆盖九类安全风险
- 02语义分析技能与工具定义
- 03标注严重级别和证据
- 04提供修复建议
- 05支持批量扫描与风险评分
适用场景
- 01安装第三方技能前进行检查
- 02定期审计已安装的技能和插件
- 03调查异常权限请求或行为
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ agentnode-dev/ skills-security-audit --skill skills-security-audit安装后在 Claude Code 中输入/skills-security-audit确认已加载。
附带文件references/security-rules.md
详细介绍
技能安全审计
概述
扫描并审计 AI Agent 技能、插件和工具定义,检测九类安全风险漏洞,对应 OWASP Agentic AI Top 10(ASI01 至 ASI10)。此技能可跨平台使用,适用于 Claude Code、OpenClaw,以及任何使用基于文件的技能定义的 AI Agent 平台。它不依赖脆弱的正则表达式模式,而是通过 AI 驱动的语义分析,检测提示词注入、数据外泄、混淆代码、权限提升、供应链攻击、记忆投毒、信任边界违规和行为操纵。每次审计都会生成结构化风险报告,其中包含严重性评级、证据引用和可执行的修复建议。
适用场景
- 从市场安装任何第三方技能或插件之前
- 审查从 OpenClaw、ClawHub 或其他注册表下载的技能时
- 定期审计所有已安装的技能和插件
- 技能请求异常权限或行为异常时
安全检查类别
| ID | 类别 | 严重性 | OWASP ASI |
|---|---|---|---|
| PI | 提示词注入 | CRITICAL | ASI01 |
| DE | 数据外泄 | CRITICAL | ASI02 |
| CE | 恶意命令执行 | CRITICAL | ASI02, ASI05 |
| OB | 混淆/隐藏代码 | WARNING | — |
| PA | 权限请求过度 | WARNING | ASI03 |
| SC | 供应链风险 | WARNING | ASI04 |
| MP | 记忆/上下文投毒 | WARNING | ASI06 |
| TE | 利用人类信任 | WARNING | ASI09 |
| BM | 行为操纵 | INFO | ASI10 |
请加载
references/security-rules.md(相对于此文件所在目录),查看详细的检测模式、示例和误报处理指南。
审计工作流
阶段 1:确定扫描范围
- 如果用户指定了目录路径,则递归扫描该目录中的所有文件。
- 如果用户说“扫描已安装项目”,则扫描特定平台的技能目录:
- Claude Code:
~/.claude/plugins/cache/ - Cursor:
~/.cursor/extensions/和项目中的.cursorrules - Windsurf:
~/.codeium/windsurf/ - 其他平台:向用户询问目录路径。
- Claude Code:
- 如果用户提供 GitHub URL,则使用 WebFetch 获取仓库内容,或在本地克隆仓库。
- 扫描以下文件类型:
.md、.json、.js、.py、.sh、.ts、.yaml、.yml - 列出找到的所有文件,并在继续之前向用户确认。
重要:不要将此审计委派给子 Agent(Task 工具)。 子 Agent 在沙盒环境中运行,无法读取
~/.claude/plugins/cache/或其他系统目录。务必在主对话上下文中执行审计。
阶段 2:分析每个文件
- 加载
references/security-rules.md(相对于此文件所在目录),查看详细的检测模式。 - 使用 Read 工具读取每个文件。
- 根据全部 9 类(PI、DE、CE、OB、PA、SC、MP、TE、BM)检查文件内容。
- 对每项发现记录:规则 ID(例如 PI-001)、严重性、文件路径和行号、描述以及建议措施。
- 结合上下文进行判断——并非每个模式匹配都是真阳性。
- 当单个代码块触发多条规则时,分别报告每条适用规则。同一行跨类别重叠(例如 OB、CE 和 PI 同时出现)会提高该发现为真阳性的可信度。
- 评估发现时,考虑该技能声明的用途。安全审计技能自然会提及危险模式。
阶段 3:生成报告
- 使用下方的评分公式计算风险分数。
- 使用下方的模板输出结构化报告。
- 批量扫描多个技能时,在末尾输出汇总表。
报告格式
单项技能报告
审计一个技能时,输出以下完整报告:
## Skill Security Audit Report
### Target: [skill-name] [version if available]
### Risk Score: X.X/10 ([LEVEL])
---
### CRITICAL
- [PI-001] file.md:42 — Description of finding
Risk: Why this is dangerous
Action: Recommended response
### WARNING
- [OB-003] script.js:15 — Description of finding
Risk: Why this is concerning
Action: Recommended response
### INFO
- [BM-002] SKILL.md:88 — Description of finding
Risk: Why this is worth noting
Action: Recommended response
---
### Summary
- CRITICAL: N | WARNING: N | INFO: N
- Risk Score: X.X/10 — [Overall recommendation]
批量扫描报告
扫描多个技能时,请使用这种精简格式。先显示摘要仪表板,然后仅展示存在发现的技能:
## Skill Security Audit — Batch Report
### Dashboard
| # | Skill | Score | Level | C | W | I | Top Finding |
|---|-------|-------|-------|---|---|---|-------------|
| 1 | skill-a | 0.0 | ✅ SAFE | 0 | 0 | 0 | — |
| 2 | skill-b | 2.4 | ⚠️ RISKY | 0 | 3 | 0 | [PA-001] Blanket permission grant |
| 3 | skill-c | 6.0 | 🔴 DANGEROUS | 2 | 1 | 1 | [DE-001] Reads ~/.ssh/id_rsa |
| 4 | skill-d | 8.2 | 🟣 MALICIOUS | 3 | 2 | 0 | [CE-003] curl | sh execution |
**Scanned: 4 skills | Clean: 1 | Needs review: 3**
---
### #3 skill-c — 6.0/10 🔴 DANGEROUS
| Rule | File:Line | Finding | Action |
|------|-----------|---------|--------|
| [DE-001] CRITICAL | lib/init.sh:14 | Reads `~/.ssh/id_rsa` | Remove sensitive file access |
| [DE-004] CRITICAL | lib/init.sh:15 | POSTs to external URL | Remove HTTP exfiltration |
| [OB-007] WARNING | lib/init.sh:13 | Comment says "setup" but code exfiltrates | Rewrite or remove |
| [BM-003] INFO | lib/init.sh:16 | Suppresses stderr output | Review necessity |
### #4 skill-d — 8.2/10 🟣 MALICIOUS
...
批量格式规则:
- 仪表板表格始终放在最前面,让用户一目了然。
- 仅展开评分高于 0.0 的技能详情(跳过 SAFE 技能)。
- 每个技能使用精简表格,而不是嵌套项目列表。
- 在 Level 列中使用表情符号标识:✅ SAFE、⚠️ RISKY、🔴 DANGEROUS、🟣 MALICIOUS。
- 在仪表板的 “Top Finding” 列中显示最重要的一项发现。
评分
计算风险分数:
- 每项 CRITICAL 发现:+2.0 分
- 每项 WARNING 发现:+0.8 分
- 每项 INFO 发现:+0.2 分
- 最高分:10.0
风险级别:
- 0.0–2.0:SAFE — 未发现显著风险。
- 2.1–5.0:RISKY — 建议在使用前进行人工审查。
- 5.1–8.0:DANGEROUS — 请勿安装。
- 8.1–10.0:MALICIOUS — 已确认存在恶意意图。请向应用市场举报。
误报指南
- 标记问题前,请考虑该技能的正当用途。
- 安全审计技能自然会提及危险模式,这并不代表它有恶意。
- 开发工具可能确实需要 Bash 访问权限。
- 关注意图,而不仅仅是模式是否存在。
- 不确定时,请报告该发现,并附注说明存在歧义。
评论
支持 Markdown