SuperAPI AI 工具集

skill-security-analyzer

安全与审计

查看项目

更新于 10-16 05:29

技能介绍

用途

Skill Security Analyzer 用于在部署前对 Claude 技能进行安全风险、漏洞与安全隐患分析。当用户提出以下类似请求时使用该技能:

  • “分析这个技能的安全性”
  • “我的 [技能名] 有哪些安全风险?”
  • “审查这个技能的漏洞”
  • “这个技能可以安全部署吗?”
  • “检查这个技能的安全问题”
  • “在我使用前审计这个技能”

主要能力

该技能按系统化工作流执行安全分析:

  1. 提取技能内容——若提供的是 .skill 文件,则解压并检查所有组件
  2. 审查技能元数据——分析名称、描述与声明的用途
  3. 检查 SKILL.md——审查指令并识别潜在风险
  4. 检查捆绑资源——分析脚本、引用与资源中的安全问题
  5. 交叉比对模式——对照已知安全模式(见 references/security_patterns.md)
  6. 生成发现——汇总按严重程度分级的风险列表
  7. 创建输出——提供执行摘要、发现列表与安全清单

输出格式

按以下顺序提供三部分内容:

1. 执行摘要(2-3 句话)

简要总体评估与关键结论。示例:

  • “该技能存在 CRITICAL 安全风险,包括未披露的网络访问与潜在数据外泄。未经重大修改请勿部署。”
  • “该技能展示了良好的安全实践,仅在输入验证方面有轻微问题。在了解其局限性的前提下通常可安全部署。”

2. 发现列表

按严重程度分级的具体安全问题列表:

  • CRITICAL——立即安全威胁,请勿部署
    • [带证据的具体发现]
    • [带证据的具体发现]
  • HIGH——重大风险,需要修复
    • [带证据的具体发现]
  • MEDIUM——中等关注,应当处理
    • [带证据的具体发现]
  • LOW——轻微问题或最佳实践偏差
    • [带证据的具体发现]
  • POSITIVE——观察到的安全最佳实践
    • [发现的具体良好实践]

3. 安全清单

安全类别的快速参考清单:

[ ] Data Exfiltration Risks - [PASS/FAIL/CONCERN] - [简要说明]
[ ] Network Access - [PASS/FAIL/CONCERN] - [简要说明]
[ ] Prompt Injection Protection - [PASS/FAIL/CONCERN] - [简要说明]
[ ] Permissions & Scope - [PASS/FAIL/CONCERN] - [简要说明]
[ ] PII/Confidential Data - [PASS/FAIL/CONCERN] - [简要说明]
[ ] Malicious Code Indicators - [PASS/FAIL/CONCERN] - [简要说明]
[ ] Supply Chain Risks - [PASS/FAIL/CONCERN] - [简要说明]
[ ] Credential Exposure - [PASS/FAIL/CONCERN] - [简要说明]
[ ] Resource Abuse - [PASS/FAIL/CONCERN] - [简要说明]
[ ] Transparency & Documentation - [PASS/FAIL/CONCERN] - [简要说明]

分析技能组件

技能元数据分析

检查 frontmatter 与描述中的以下内容:

  • 范围清晰度:描述是否与实际功能相符?
  • 工具披露:是否提及所有使用的工具?
  • 外部服务披露:是否提及 API 调用或网络访问?
  • 数据处理声明:是否清楚解释数据处理方式?

危险信号:

  • 描述含糊,未说明技能做什么
  • 描述未提及代码中使用的工具
  • 未披露网络访问或外部服务

SKILL.md 分析

阅读整个 SKILL.md 并检查:

  • 指令清晰度:指令是否清晰无歧义?
  • 输入处理:技能如何处理用户输入?
  • 工具使用合理性:工具使用是否与声明用途相符?
  • 提示构造:是否存在提示注入风险?
  • 范围边界:技能是否停留在声明用途内?

具体检查:

  • 搜索动态提示构造模式
  • 检查无验证的文件访问指令
  • 查找描述中未提及的网络请求
  • 识别任何指令覆盖模式
  • 审查错误处理与数据暴露

脚本分析

对 scripts/ 中的每个脚本:

  • 使用 view 工具读取脚本
  • 对照安全模式参考检查导入
  • 扫描危险操作:文件删除、系统命令、网络请求
  • 查找混淆:base64、exec、eval、编码字符串
  • 验证路径:检查文件访问是否使用安全路径
  • 审查子进程使用:检查 shell=True 或命令中的用户输入

优先检测的模式:

  • exec()、eval()、import()
  • subprocess.run(..., shell=True)
  • requests.post()、urllib.request、fetch()
  • os.system()、os.popen()
  • base64.b64decode() 后接执行
  • 对敏感路径的文件操作
  • 硬编码凭据或 API 密钥

引用分析

检查引用文件中的:

  • 敏感数据:API 密钥、凭据、内部模式
  • 外部资源:指向外部站点或服务的链接
  • 数据处理指令:数据应如何处理
  • 合规要求:任何监管考虑

资源分析

检查资源中的:

  • 可执行内容:伪装成资源的脚本
  • 外部资源:加载远程内容的模板
  • 嵌入凭据:含密钥的配置文件
  • 意外文件类型:与技能用途不符的文件

使用安全模式参考

重要:每次安全分析开始时都要阅读 references/security_patterns.md,以加载安全模式、反模式与风险指标的综合目录。

该参考提供:

  • 风险与安全实现的详细示例
  • 代码中要搜索的具体模式
  • 风险分类与严重程度指南
  • 上下文相关考虑

使用该参考来:

  • 指导分析中要查找的内容
  • 确定发现的严重程度评级
  • 在发现中提供准确示例
  • 确保全面覆盖风险类别

处理 .skill 文件

若提供的是 .skill 文件:

  1. 提取内容:.skill 文件是扩展名为 .skill 的 zip 文件
unzip skillname.skill -d /home/claude/skill-analysis/
  1. 验证结构:检查 SKILL.md 与目录组织是否正确
  2. 分析提取内容:遵循正常分析流程

边界情况

无代码的技能

对于只有 SKILL.md(无脚本/资源)的技能:

  • 聚焦指令分析
  • 检查指令中的提示注入风险
  • 验证工具使用是否恰当
  • 评估范围与透明度

第三方技能

对于来源未知的技能:

  • 施加更严格的审查
  • 将来源标记为风险因素
  • 格外仔细查找混淆
  • 检查意外功能
  • 建议部署前进行代码审查

请求异常权限的技能

对于请求大量工具访问的技能:

  • 验证每个工具在描述中是否合理
  • 检查工具使用是否与声明用途一致
  • 查找实现中的范围蔓延
  • 考虑最小权限原则

重要原则

基于证据

  • 识别风险时始终引用具体代码或指令
  • 为发现提供行号或代码片段
  • 不要假设——发现应基于实际内容

严重程度校准

  • CRITICAL:立即安全威胁(数据窃取、系统入侵、凭据暴露)
  • HIGH:需要修复的重大风险(不安全文件访问、未披露的网络调用)
  • MEDIUM:中等关注(缺少输入验证、范围不清)
  • LOW:最佳实践偏差(无安全影响但不理想)

上下文很重要

  • 考虑技能的声明用途
  • 区分必要功能与越权
  • 考虑合法用例与安全表演

可操作的发现

  • 尽可能提供具体修复指导
  • 为风险模式建议更安全的替代方案
  • 按风险与修复成本排列发现优先级

示例分析工作流

用户:“分析这个技能的安全性” [附上 my-skill.skill]

  1. 提取 .skill 文件
  2. 阅读 references/security_patterns.md
  3. 审查 SKILL.md frontmatter 与描述
  4. 分析 SKILL.md 指令
  5. 检查 scripts/ 中的每个脚本
  6. 检查 references/ 中的敏感数据
  7. 审查 assets/ 中的意外内容
  8. 汇总带严重程度评级的发现
  9. 生成执行摘要
  10. 创建安全清单
  11. 提供格式化输出

限制

资料未提供该技能的具体安装命令、收费方式、价格、支持平台或实际使用效果等信息。