Back to skill
Skillv1.0.2
ClawScan security
AI重生复仇爽文自动生成 · ClawHub's context-aware review of the artifact, metadata, and declared behavior.
Scanner verdict
SuspiciousMar 11, 2026, 2:51 AM
- Verdict
- suspicious
- Confidence
- medium
- Model
- gpt-5-mini
- Summary
- 功能与脚本大体一致,但元数据、运行时依赖和外部服务使用存在不一致与潜在数据外泄风险,安装前请谨慎审查与隔离运行。
- Guidance
- 简明建议: - 认证/凭证:此技能需要一个 OpenAI 兼容的 API key(通过 cfg 或环境变量 OPENAI_API_KEY/OPENAI_BASE_URL/OPENAI_MODEL 提供),但注册元数据没有列出这些要求——在安装/运行前请不要把敏感或长期使用的 API Key 放入不受信任的环境。优先使用临时或限额受控的 API key。 - 第三方 TTS:脚本将把生成的小说段落 POST 到硬编码的 TTS 端点 (https://zero-libre-tts.vercel.app/api/tts)。这会把文本内容暴露给该服务;如果内容敏感或你不信任该域名,考虑: - 替换为你信任的本地/自托管 TTS 服务,或 - 修改代码使用本地 TTS 引擎(例如 Edge TTS、Coqui 或其他离线解决方案)。 - 依赖与环境隔离:脚本依赖 Python 包 openai、requests 等和系统 ffmpeg。请在隔离的虚拟环境/容器中运行(如 venv 或 Docker),并先审查 pipeline.py 的完整代码(尤其对外请求和 subprocess 调用)。 - 输入验证与命令注入:脚本使用 subprocess.run(..., shell=True) 来运行 ffmpeg 命令,若把未清洗的路径或外部可控字符串传入,存在命令注入风险。避免把不受信任的文件名或输入直接传给脚本,或修改脚本以使用安全的参数列表而非 shell 字符串。 - 内容与合规:脚本生成“重生复仇”“报应惨烈”等题材,可能产生暴力或仇恨内容。确认生成内容符合你平台和法律的要求。 若你决定使用: 1) 在受控环境中运行(隔离容器/虚拟机)。 2) 使用临时或受限的 API key;不要在全局环境变量中存放长期凭证。3) 若担心数据外泄,替换或删除对 zero-libre-tts 的调用,改为可控的 TTS。4) 如需我帮忙,可提供完整 pipeline.py(当前为部分显示),我可以逐行检查网络调用、shell 调用与潜在数据外泄点并建议具体修改。
Review Dimensions
- Purpose & Capability
- concern技能名与描述(生成小说 → TTS → FFmpeg 合成视频)与 pipeline.py 的功能一致。但注册元数据未声明任何必需环境变量或凭证,然而 SKILL.md 和代码都依赖 OPENAI_API_KEY / OPENAI_BASE_URL / OPENAI_MODEL(或在 cfg 中提供 api_key)。元数据与实际需要不一致,用户凭证要求未在清单中列出。
- Instruction Scope
- concernSKILL.md 指示代理读取环境变量并以 bash_tool 执行 python pipeline.py。pipeline.py 会把生成的小说文本发送到两个外部端点:用户提供的 OpenAI 兼容端点(需要 API key)以及硬编码的第三方 TTS 服务 (https://zero-libre-tts.vercel.app/api/tts)。这意味着用户的创作内容(可能含隐私/敏感信息)会被传输到外部服务,且 SKILL.md 未明确告知第三方 TTS 的使用与隐私影响。脚本会读写本地文件夹(output.txt、audio/、video/、bgm.mp3、output.mp4),并调用本地 ffmpeg。
- Install Mechanism
- note该技能为 instruction-only,但包含 pipeline.py,且没有 install 规范。代码依赖第三方 Python 包(openai、requests)和系统二进制 ffmpeg/ffprobe,但 SKILL.md 只说明了 FFmpeg 的安装指引,没有列出 Python 依赖的安装步骤。缺少依赖声明会导致运行环境差异和潜在意外行为。总体上没有下载不可信二进制或远程执行 install 步骤,风险属于可审查的代码/依赖问题。
- Credentials
- concern注册信息未声明任何 env vars,但 SKILL.md/代码会优先读取 OPENAI_API_KEY / OPENAI_BASE_URL / OPENAI_MODEL(也可通过 cfg 传入 api_key)。此外,TTS 服务为硬编码 URL,会接收文本内容。要求的凭证(OpenAI key)是合理的,但它们未被注册清单列出;同时脚本会将用户生成的文本发送到第三方 TTS,可能导致内容外泄或滥用。
- Persistence & Privilege
- ok技能没有设置 always:true,也不修改其他技能或系统级配置。它只在工作目录下读写文件(output.txt、audio/、video/、bgm.mp3、output.mp4 等),并不会请求长期驻留或提升特权。
