Die Oberfläche ist lokalisiert; Skill-Beschreibungen und -Dokumente werden per KI automatisch in Ihre Sprache übersetzt. Code, Befehle, Pfade und Fachbegriffe bleiben im Original, maßgeblich ist das Dokument des Autors.
Skills entdecken
Entwicklung · SKILL.md

skill-security-check

skill-security-check

Skill 安装前的静态安全检查:对目标 skill 目录执行 11 项风险扫描(数据外泄、凭证访问、文件系统越界、敏感身份文件访问、动态代码执行、权限提升、持久化机制、运行时安装、代码混淆、进程侦察、浏览器会话访问),输出风险等级 / 最终评级 / 置信度报告并给出安装建议。支持 JavaScript/TypeScript、Python、Rust、Java、Go、C/C++、Ruby、PHP、Shell、PowerShell、Perl。必须在安装或更新任何第三方、社区或来源不明的 skill 之前使用此 skill 做全面安全审查。触发词:安全检查、安全审查、skill 安全、安装前检查、检查这个 skill 安全吗、有没有风险、第三方 skill 审查、security check、security au…

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill-Dokumentation

GitHub

name: skill-security-check description: "Skill 安装前的静态安全检查:对目标 skill 目录执行 11 项风险扫描(数据外泄、凭证访问、文件系统越界、敏感身份文件访问、动态代码执行、权限提升、持久化机制、运行时安装、代码混淆、进程侦察、浏览器会话访问),输出风险等级 / 最终评级 / 置信度报告并给出安装建议。支持 JavaScript/TypeScript、Python、Rust、Java、Go、C/C++、Ruby、PHP、Shell、PowerShell、Perl。必须在安装或更新任何第三方、社区或来源不明的 skill 之前使用此 skill 做全面安全审查。触发词:安全检查、安全审查、skill 安全、安装前检查、检查这个 skill 安全吗、有没有风险、第三方 skill 审查、security check、security audit、skill safety、is this skill safe、malicious skill。"

Skill 安装前安全检查 (Multi-Language)

Purpose

在安装一个 skill 之前,把它当作不可信代码做只读静态审查,产出一份带风险等级、最终评级和 置信度的 Markdown 报告,并给出「可以安装 / 需用户确认 / 不建议安装」的明确建议。它回答的是 "这个 skill 会不会外泄数据、越权、驻留或混淆代码",不是"这个 skill 好不好用"。

支持语言: JavaScript/TypeScript, Python, Rust, Java, Go, C/C++, Ruby, PHP, Shell, PowerShell, Perl

When to Use

  • 安装来自 GitHub、npm、PyPI、Crates.io 或其他源的第三方 skill。
  • 安装社区贡献的 skill。
  • 更新已安装的 skill 到新版本。
  • 用户对某个 skill 的安全性有疑问,或要求"检查一下这个 skill"。
  • 触发词:安全检查、安全审查、安装前检查、skill 安全、security check、security audit、 is this skill safe。

When NOT to Use

  • 代码质量 / 重构审查(不涉及不可信来源)-> 交给 claude-simplify 或 clean-code。
  • 自己正在编写、且完全可信的 skill -> 无需安装前审查;如需自查,只跑工具即可。
  • 运行时防护 / 入侵检测 / 沙箱 -> 本 skill 是安装前的一次性静态审查,不是运行时安全产品。
  • 非 skill 的普通依赖审计(如 npm audit 场景)-> 用对应生态的工具。
  • 要求执行或"试跑"目标代码来验证 -> 本 skill 只做只读静态分析,拒绝执行被检查代码。

Workflow

  1. 获取 skill 文件:本地路径直接读取;远程链接先下载到临时目录再扫描。
  2. 优先跑工具:node <skill>/scripts/security-check.js <skill-path>。工具对目标目录执行 11 项静态扫描并写出报告。
  3. 人工复核:按 references/checklist.md 逐项确认;工具覆盖不到或结果可疑时,用 references/grep-patterns.md 的 grep 定位具体代码位置。
  4. 判定等级:按 references/report-format.md 汇总为风险等级 / 最终评级 / 置信度。
  5. 给出建议:明确写「可以安装 / 请先看需要用户知晓的点 / 不建议安装」,并保存报告。

Decision Rules

  • 目标是本地目录 -> 直接扫描;是远程仓库/包 -> 先下载到临时目录,扫描下载结果。
  • 命中第 1 项数据外泄、第 6 项权限提升、或第 5 项恶意动态执行 -> 至少 HIGH 风险,除下方 Priority 的受控声明情形外不得降级。
  • 目标 skill 声明了 network_access: user-configured-origin -> 按「需要用户知晓并在人工 审查后放行」处理,不自动判 SAFE;仍须确认代码只使用用户配置的 base URL(见 references/checklist.md 第 1 项「网络能力声明」)。
  • 命中第 7 项持久化或第 11 项浏览器会话复用 -> 通常是「需要用户知晓的点」,不是漏洞,但必须 写进报告。
  • 命中第 9 项代码混淆 -> 置信度降为 LOW/MEDIUM,并在报告中标注需人工复核。
  • 某项无法判定 -> 记为「需要人工确认」,不得猜测结论。
  • 支持语言之外的代码 -> 明确说明未覆盖,不给出结论。
  • 报告落盘位置 -> 当前目录 security-report-<skill-name>.md。

Constraints

  • 只读分析,绝不执行被检查 skill 的任何代码,也不运行其安装脚本。
  • 静态分析不能替代完整安全审计;报告必须写明这一限制。
  • 「已声明能力」不是安全证明,只能把网络请求降级为「需要用户知晓」。
  • 不得对未覆盖的语言或高度混淆代码给出确定结论。
  • 报告中的 skill 名称、路径、代码位置必须来自实际扫描目标,不得编造。

Priority

  1. 硬阻断优先:数据外泄、权限提升、恶意动态执行 -> 不得因「已声明用途」降为 SAFE。
  2. 受控的已声明能力可降为「需要用户知晓」,但仅在确认代码不存在固定第三方上报端点、 隐蔽 telemetry 或跨主机重定向之后。
  3. 工具结果与人工判断冲突时,以人工复核为准,并把该项标为 MEDIUM + 需人工确认。

Stop Conditions

  • 目标目录大到遍历成本不可接受,或大量文件命中混淆指标 -> 停止全量逐行审查,改为抽样扫描 并把置信度标为 LOW。
  • 单项无法判定 -> 停止该项、记为需人工确认,不继续推测。
  • 不为了"更确定"而反复重扫同一目录;一次工具扫描 + 一次人工复核即止。

Verification

  • 11 项检查逐项都有结论(通过 / 需要用户知晓 / 风险)。
  • 报告同时给出风险等级、最终评级、置信度。
  • 每条风险都指向具体文件、行号或检测模式。
  • 未执行被检查 skill 的任何代码。
  • 报告已保存为 security-report-<skill-name>.md,且给出了明确的安装建议。

Output

  • Outcome:一份 Markdown 安全检查报告(安全优势 / 需要用户知晓的点 / 安全风险 / 详细 检查项表格),外加明确的安装建议。
  • Done when:11 项检查完成,报告写入 security-report-<skill-name>.md,安装建议明确。
  • Evidence:报告中的风险等级、最终评级、置信度,以及每条风险对应的具体代码位置。

References

Load only when needed:

  • references/checklist.md — 执行 11 项检查、或需要单项目判定标准与网络能力声明处理方式时读。
  • references/report-format.md — 准备产出报告、或需要判定风险等级 / 最终评级 / 置信度时读。
  • references/grep-patterns.md — 工具未覆盖、需要人工 grep 定位风险模式时读。
  • references/six-layer-architecture.md — 仅在扩展本工具实现(六层架构、基线记忆、AST 语义分析、多层解码)时读;它不是当前 11 项静态扫描的运行逻辑。

Examples

仅在需要参照成品报告形态时读。示例中的 skill 名与路径仅为样例,不要照抄:

  • examples/security-report-attention-daily.md — 参照「低风险 + 可以安装」的报告成品形态时读。
  • examples/security-report-infocard.md — 参照带「需要用户知晓的点」(浏览器自动化)的报告形态时读。
  • examples/security-report-fengshuixue.md — 参照短报告的裁剪形态时读。
  • examples/security-report-article-deconstructor.md — 参照另一类 skill 的报告结构时读。
  • examples/security-report-translate-polisher.md — 参照翻译类 skill 的报告结构时读。

Scripts

  • scripts/security-check.js — 主扫描入口。运行 node scripts/security-check.js <skill-path>, 对目标目录执行 11 项静态扫描并输出 Markdown 报告。
  • scripts/security-check.test.js — 工具自测。运行 npm test(等价于 node scripts/security-check.test.js)验证检测逻辑。

实现说明:src/ 为 TypeScript 源码(npm install && npm run build 编译至 dist/, dist/ 被 .gitignore 忽略);日常审查用 scripts/security-check.js 即可,无需先构建。

Gespeicherte Skills