mcpField
S
skills-security-audit

skills-security-audit

github.com/agentnode-dev安全1485 次安装36 周前更新
代码仓库

关于 skills-security-audit

用于审查 AI Agent 技能、插件和工具定义的安全审计技能,通过语义分析检查九类风险,并生成含严重级别、证据和修复建议的报告。

主要功能

  1. 01覆盖九类安全风险
  2. 02语义分析技能与工具定义
  3. 03标注严重级别和证据
  4. 04提供修复建议
  5. 05支持批量扫描与风险评分

适用场景

  1. 01安装第三方技能前进行检查
  2. 02定期审计已安装的技能和插件
  3. 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提示词注入CRITICALASI01
DE数据外泄CRITICALASI02
CE恶意命令执行CRITICALASI02, ASI05
OB混淆/隐藏代码WARNING—
PA权限请求过度WARNINGASI03
SC供应链风险WARNINGASI04
MP记忆/上下文投毒WARNINGASI06
TE利用人类信任WARNINGASI09
BM行为操纵INFOASI10

请加载 references/security-rules.md(相对于此文件所在目录),查看详细的检测模式、示例和误报处理指南。

审计工作流

阶段 1:确定扫描范围
  • 如果用户指定了目录路径,则递归扫描该目录中的所有文件。
  • 如果用户说“扫描已安装项目”,则扫描特定平台的技能目录:
    • Claude Code:~/.claude/plugins/cache/
    • Cursor:~/.cursor/extensions/ 和项目中的 .cursorrules
    • Windsurf:~/.codeium/windsurf/
    • 其他平台:向用户询问目录路径。
  • 如果用户提供 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