T08 · Insecure Dependencies
- Location
SKILL.md:28- Finding
Remote Python Dependency Is Installed Without Immutable Integrity Verification
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill appears purpose-aligned, but it needs review because it installs remote executable code and can use cloud video, file, credential, voice, and account operations with some under-scoped safeguards.
Review the external narrator-ai-cli source and pin it to a reviewed commit or hashed artifact before installing. Use a dedicated environment and scoped API key, do not run it as an administrator, confirm each upload, URL transfer, deletion, voice clone, account-key action, and budget estimate before execution, and avoid sending sensitive or copyrighted media unless you are comfortable with Narrator AI cloud processing.
SKILL.md:28Remote Python Dependency Is Installed Without Immutable Integrity Verification
The README markets the skill with a very broad natural-language trigger ('create a movie narration video') that could cause an agent to auto-select this skill whenever a user mentions narration or video creation. In agents that route by fuzzy matching, this increases the chance of unintended activation and downstream API usage, uploads, or paid task creation without explicit confirmation.
The 'Any markdown-reading agent' installation plus the tip that 'most agents can read the GitHub repo structure and auto-configure' promotes broad, low-friction ingestion of remote repository content by agents. In the context of agent skills, encouraging automatic repo-based loading increases supply-chain risk because host agents may import and act on unreviewed instructions from external content.
Any markdown-reading agent:
cp SKILL.md /path/to/agent/skills/narrator-ai-cli/SKILL.md
💡 Tip: You can also just give the agent this repo URL — most agents can read the GitHub repo structure and auto-configure.
The example prompts are generic requests like 'Create a narration video' and 'Make 5 narration videos,' which encourage broad auto-invocation by host agents. Because this skill can initiate multi-step production workflows, generic phrasing raises the risk of accidental execution, cost-incurring operations, and unintended handling of user media.
The README describes API-backed video generation, file operations, voice cloning, and text-to-speech, but it does not clearly warn users that prompts, scripts, uploaded media, and possibly voice data may be transmitted to an external service. This omission undermines informed consent and may expose sensitive content or biometric data to third parties.
The README encourages a very broad natural-language invocation pattern such as '帮我做一个电影解说', which overlaps with ordinary user conversation and does not define clear activation boundaries. In agent environments, this can cause the skill to trigger unexpectedly and begin multi-step media-generation actions without sufficiently explicit user intent.
The README describes a fully automatic pipeline from search to synthesis to download link return, but does not warn users that prompts, media selections, generated scripts, and output assets may be transmitted to external services. Lack of disclosure weakens informed consent and can expose sensitive user data or copyrighted materials to remote processing.
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
小龙虾 OpenClaw:
mkdir -p ~/.openclaw/skills/narrator-ai-cli
cp SKILL.md ~/.openclaw/skills/narrator-ai-cli/SKILL.md
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
小龙虾 OpenClaw:
mkdir -p ~/.openclaw/skills/narrator-ai-cli
cp SKILL.md ~/.openclaw/skills/narrator-ai-cli/SKILL.md
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.
小龙虾 OpenClaw:
mkdir -p ~/.openclaw/skills/narrator-ai-cli
cp SKILL.md ~/.openclaw/skills/narrator-ai-cli/SKILL.md
WorkBuddy / QClaw(腾讯系):
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.
小龙虾 OpenClaw:
mkdir -p ~/.openclaw/skills/narrator-ai-cli
cp SKILL.md ~/.openclaw/skills/narrator-ai-cli/SKILL.md
WorkBuddy / QClaw(腾讯系):
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.
小龙虾 OpenClaw:
mkdir -p ~/.openclaw/skills/narrator-ai-cli
cp SKILL.md ~/.openclaw/skills/narrator-ai-cli/SKILL.md
WorkBuddy / QClaw(腾讯系):
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.
小龙虾 OpenClaw:
mkdir -p ~/.openclaw/skills/narrator-ai-cli
cp SKILL.md ~/.openclaw/skills/narrator-ai-cli/SKILL.md
WorkBuddy / QClaw(腾讯系):
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.
小龙虾 OpenClaw:
mkdir -p ~/.openclaw/skills/narrator-ai-cli
cp SKILL.md ~/.openclaw/skills/narrator-ai-cli/SKILL.md
WorkBuddy / QClaw(腾讯系):
The note that users can 'send the repository address to AI' so it can learn installation automatically encourages an agent to inspect repository structure and self-configure with limited user review. In some agent ecosystems, this can expand the effective trust boundary and lead to unintended discovery of skill locations, configuration files, or additional instructions fetched from remote content.
其他支持 Markdown 技能文件的 Agent:
cp SKILL.md /path/to/agent/skills/narrator-ai-cli/SKILL.md
💡 提示:你也可以直接把本仓库地址发给 AI,让它自己学习安装——大部分 Agent 都能理解 GitHub 仓库结构并自动完成配置。
Telling users to 'directly use natural language with AI' without guardrails implies the skill may activate on loosely related requests. Because the documented workflow includes searching, generation, synthesis, and returning links, ambiguous triggering can lead to unintended external operations and resource consumption.
The documented capabilities include file upload, download, listing, and deletion, but there is no accompanying warning about destructive actions, remote storage, or handling of sensitive local files. In an agent context, exposing such operations without safety guidance increases the chance of accidental data disclosure or deletion.
The manifest describes a CLI for creating AI-narrated film/drama commentary videos, but these instructions explicitly direct the agent to invoke arbitrary external command-line tools to process JSON output. Spawning general-purpose shell and Python commands is not an obvious requirement of the skill itself and expands the agent's capabilities beyond using the narration CLI alone.
file transfer --link permits the agent workflow to cause the backend or CLI to fetch arbitrary remote URLs, which creates an SSRF-like capability and broadens data ingress beyond explicit local files. In an agent setting, an attacker could supply crafted URLs to make the system retrieve internal resources, unexpected large files, or untrusted content from arbitrary hosts.
The documentation repeatedly instructs use of material list and selection of pre-built movies with associated video_file_id and srt_file_id, meaning the skill can access provider-hosted media metadata and linked source assets beyond files the user uploads. That directly conflicts with the absolute wording in the privacy/scope statement.
This manifest declares NARRATOR_APP_KEY as the primary and required environment variable, which indicates the skill depends on sensitive credentials. In this JSON file there is no accompanying disclosure about the sensitivity of that value, how it will be used, or any caution to the user when supplying it.
整个文件以中文面向用户提供操作说明,仅在开头提供一个英文版链接,但当前文档内容本身未说明语言偏好是否可选,也未说明该技能是否仅面向中文用户。按自然语言政策要求,面向广泛用户的技能文档若隐含固定语言,应更明确地提供语言选择或适用范围。
The manifest description says to use the skill for "creating narration videos, film commentary, short drama dubbing, or video production," and the last phrase is much broader than the skill's actual specialized CLI workflow. Because this file is user-invocable metadata, the vague scope could cause unintended invocation for ordinary video-production tasks unrelated to Narrator AI narration workflows.
No suspicious patterns detected.