名称: 技能安全分析器 描述: 为Claude技能提供全面的安全风险分析。当被要求分析安全风险、审查安全立场、审计技能漏洞、部署前检查安全或评估技能文件安全性时使用。触发词包括“分析安全”、“安全风险”、“安全审计”、“安全审查”、“这个技能安全吗”或“检查漏洞”。
技能安全分析器
在部署前分析Claude技能的安全风险、漏洞和安全问题。
使用时机
每当请求对Claude技能进行安全分析时,包括:
- “分析这个技能的安全性”
- “我的[技能名称]中存在哪些安全风险?”
- “审查这个技能的漏洞”
- “这个技能部署安全吗?”
- “检查这个技能的安全问题”
- “使用前审计这个技能”
分析流程
安全分析遵循系统化工作流:
- 提取技能内容 - 如果提供为.skill文件,提取并检查所有组件
- 审查技能元数据 - 分析名称、描述和所述目的
- 检查SKILL.md - 审查指令并识别潜在风险
- 检查捆绑资源 - 分析脚本、引用和资产中的安全问题
- 交叉引用模式 - 对照已知安全模式检查(参见references/security_patterns.md)
- 生成发现 - 编译严重性评级的识别风险列表
- 创建输出 - 提供执行摘要、发现列表和安全检查表
输出格式
按此顺序提供三个组件:
1. 执行摘要(2-3句)
简要整体评估与关键要点。示例:
- “此技能具有关键安全风险,包括未公开的网络访问和潜在数据外泄。未经重大修改请勿部署。”
- “此技能展示了良好的安全实践,仅在输入验证方面有轻微担忧。通常可安全部署,但需注意局限性。”
2. 发现列表
严重性评级的特定安全问题列表:
关键 - 立即安全威胁,请勿部署
- [具体发现与证据]
- [具体发现与证据]
高 - 重大风险,需要修复
- [具体发现与证据]
中 - 中等关注点,应处理
- [具体发现与证据]
低 - 轻微问题或最佳实践偏差
- [具体发现与证据]
积极 - 观察到的安全最佳实践
- [发现的好实践]
3. 安全检查表
安全类别的快速参考检查表:
[ ] 数据外泄风险 - [通过/失败/关注] - [简要说明]
[ ] 网络访问 - [通过/失败/关注] - [简要说明]
[ ] 提示注入防护 - [通过/失败/关注] - [简要说明]
[ ] 权限与范围 - [通过/失败/关注] - [简要说明]
[ ] PII/机密数据 - [通过/失败/关注] - [简要说明]
[ ] 恶意代码指标 - [通过/失败/关注] - [简要说明]
[ ] 供应链风险 - [通过/失败/关注] - [简要说明]
[ ] 凭证暴露 - [通过/失败/关注] - [简要说明]
[ ] 资源滥用 - [通过/失败/关注] - [简要说明]
[ ] 透明度与文档 - [通过/失败/关注] - [简要说明]
分析技能组件
技能元数据分析
检查前语和描述:
- 范围清晰度:描述是否与实际功能匹配?
- 工具披露:是否提及所有使用的工具?
- 外部服务披露:是否提及API调用或网络访问?
- 数据处理声明:数据处理是否清晰解释?
红色标志:
- 模糊描述,未解释技能作用
- 描述未提及代码中使用的工具
- 缺少网络访问或外部服务披露
SKILL.md分析
阅读整个SKILL.md并检查:
- 指令清晰度:指令是否清晰无歧义?
- 输入处理:技能如何处理用户输入?
- 工具使用合理性:工具使用是否适合所述目的?
- 提示构建:是否存在提示注入风险?
- 范围边界:技能是否保持在所述目的内?
具体检查:
- 搜索动态提示构建模式
- 检查未验证的文件访问指令
- 查找描述中未提及的网络请求
- 识别任何指令覆盖模式
- 审查错误处理和数据暴露
脚本分析
对于scripts/中的每个脚本:
- 阅读脚本使用查看工具
- 检查导入对照安全模式参考
- 扫描危险操作:文件删除、系统命令、网络请求
- 寻找混淆: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的技能(无脚本/资产):
- 专注于指令分析
- 检查指令中的提示注入风险
- 验证工具使用是否合适
- 评估范围和透明度
第三方技能
对于来自未知来源的技能:
- 应用高度审查
- 标记来源为风险因素
- 额外仔细寻找混淆
- 检查意外功能
- 推荐部署前代码审查
请求异常权限的技能
对于请求广泛工具访问的技能:
- 验证描述中每个工具的合理性
- 检查工具使用是否与所述目的对齐
- 寻找实现中的范围蔓延
- 考虑最小权限原则
重要原则
基于证据
- 识别风险时始终引用特定代码或指令
- 为发现提供行号或代码片段
- 不要假设 - 基于实际内容发现
严重性校准
- 关键:立即安全威胁(数据盗窃、系统妥协、凭证暴露)
- 高:需要修复的重大风险(不安全文件访问、未公开网络调用)
- 中:中等关注点(缺少输入验证、范围不清晰)
- 低:最佳实践偏差(无安全影响但不优化)
上下文重要
- 考虑技能的所述目的
- 区分必要功能与越界
- 考虑合法用例与安全剧院
可操作发现
- 可能时提供具体修复指导
- 为风险模式建议更安全的替代方案
- 按风险和修复努力优先级发现
示例分析工作流
用户:“分析这个技能的安全性” [附加my-skill.skill]
1. 提取.skill文件
2. 阅读references/security_patterns.md
3. 审查SKILL.md前语和描述
4. 分析SKILL.md指令
5. 检查scripts/中的每个脚本
6. 检查references/中的敏感数据
7. 审查assets/中的意外内容
8. 编译严重性评级的发现
9. 生成执行摘要
10. 创建安全检查表
11. 提供格式化输出