L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Développement · 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

Documentation de la Skill

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 即可,无需先构建。

Skills enregistrées