用途
Skill Security Analyzer 用于在部署前对 Claude 技能进行安全风险、漏洞与安全隐患分析。当用户提出以下类似请求时使用该技能:
- “分析这个技能的安全性”
- “我的 [技能名] 有哪些安全风险?”
- “审查这个技能的漏洞”
- “这个技能可以安全部署吗?”
- “检查这个技能的安全问题”
- “在我使用前审计这个技能”
主要能力
该技能按系统化工作流执行安全分析:
- 提取技能内容——若提供的是 .skill 文件,则解压并检查所有组件
- 审查技能元数据——分析名称、描述与声明的用途
- 检查 SKILL.md——审查指令并识别潜在风险
- 检查捆绑资源——分析脚本、引用与资源中的安全问题
- 交叉比对模式——对照已知安全模式(见 references/security_patterns.md)
- 生成发现——汇总按严重程度分级的风险列表
- 创建输出——提供执行摘要、发现列表与安全清单
输出格式
按以下顺序提供三部分内容:
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 文件:
- 提取内容:.skill 文件是扩展名为 .skill 的 zip 文件
unzip skillname.skill -d /home/claude/skill-analysis/
- 验证结构:检查 SKILL.md 与目录组织是否正确
- 分析提取内容:遵循正常分析流程
边界情况
无代码的技能
对于只有 SKILL.md(无脚本/资源)的技能:
- 聚焦指令分析
- 检查指令中的提示注入风险
- 验证工具使用是否恰当
- 评估范围与透明度
第三方技能
对于来源未知的技能:
- 施加更严格的审查
- 将来源标记为风险因素
- 格外仔细查找混淆
- 检查意外功能
- 建议部署前进行代码审查
请求异常权限的技能
对于请求大量工具访问的技能:
- 验证每个工具在描述中是否合理
- 检查工具使用是否与声明用途一致
- 查找实现中的范围蔓延
- 考虑最小权限原则
重要原则
基于证据
- 识别风险时始终引用具体代码或指令
- 为发现提供行号或代码片段
- 不要假设——发现应基于实际内容
严重程度校准
- CRITICAL:立即安全威胁(数据窃取、系统入侵、凭据暴露)
- HIGH:需要修复的重大风险(不安全文件访问、未披露的网络调用)
- MEDIUM:中等关注(缺少输入验证、范围不清)
- LOW:最佳实践偏差(无安全影响但不理想)
上下文很重要
- 考虑技能的声明用途
- 区分必要功能与越权
- 考虑合法用例与安全表演
可操作的发现
- 尽可能提供具体修复指导
- 为风险模式建议更安全的替代方案
- 按风险与修复成本排列发现优先级
示例分析工作流
用户:“分析这个技能的安全性” [附上 my-skill.skill]
- 提取 .skill 文件
- 阅读 references/security_patterns.md
- 审查 SKILL.md frontmatter 与描述
- 分析 SKILL.md 指令
- 检查 scripts/ 中的每个脚本
- 检查 references/ 中的敏感数据
- 审查 assets/ 中的意外内容
- 汇总带严重程度评级的发现
- 生成执行摘要
- 创建安全清单
- 提供格式化输出
限制
资料未提供该技能的具体安装命令、收费方式、价格、支持平台或实际使用效果等信息。