T08 · Insecure Dependencies
- Location
SKILL.md:42- Finding
Unpinned Third-Party Dependency Installation in Skill Instructions
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a straightforward subtitle downloader with disclosed network and file-output behavior, but users should treat its dependency installation and copyright/privacy handling carefully.
Install in a virtual environment, review or pin dependency versions before use, and avoid processing private, sensitive, or copyrighted videos unless you have permission and understand the platform terms. Expect the tool to contact the relevant video platform and create local subtitle files in the configured output directory.
SKILL.md:42Unpinned Third-Party Dependency Installation in Skill Instructions
README.md:21Unpinned Third-Party Dependency Installation in README
The skill encourages downloading and transcribing third-party video content but provides no warnings about privacy, copyright, retention, or lawful-use limitations. Users may submit private, copyrighted, or sensitive media links without understanding that subtitles or transcripts may expose personal data or violate platform/content-owner restrictions.
The trigger phrases are generic action verbs without scope constraints, so the skill may activate when a user is discussing subtitles or transcription rather than intentionally invoking this downloader. In a skill that can fetch and transcribe third-party video content, accidental invocation can lead to unintended network access, processing of user-supplied URLs, and privacy/copyright-sensitive actions.
This code file contains natural-language descriptions and error messages only in Chinese, including the module description and dependency/install guidance. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale restriction is clearly justified, which is not documented here.
subprocess module calls execute external commands. Without careful input validation, this enables command injection.
def check_dependencies():
"""检查依赖是否安装"""
try:
subprocess.run(['yt-dlp', '--version'], capture_output=True, check=True)
except (subprocess.CalledProcessError, FileNotFoundError):
print("错误:yt-dlp 未安装")
print("请运行: pip install yt-dlp")
subprocess module calls execute external commands. Without careful input validation, this enables command injection.
'--no-download',
url
]
result = subprocess.run(cmd, capture_output=True, text=True)
if result.returncode != 0:
print(f"获取视频信息失败: {result.stderr}")
sys.exit(1)
subprocess module calls execute external commands. Without careful input validation, this enables command injection.
'--no-download',
url
]
result = subprocess.run(cmd, capture_output=True, text=True)
if result.returncode != 0:
print(f"获取视频信息失败: {result.stderr}")
sys.exit(1)
The natural-language content of the skill documentation is effectively fixed to Chinese, with no indication that users can choose another language or that the skill is intentionally region-specific. The policy explicitly calls out language or locale constraints that are imposed without user opt-in.
This markdown file documents fetching subtitles from external video platforms and saving outputs locally in multiple formats, including batch processing, but provides no user-facing warning about network access to third-party services or creation of local files. For markdown files, missing disclosures about actions that may affect privacy or user data can qualify as a missing warning.
The natural-language instructions, headings, and usage guidance are entirely in Chinese, which can amount to a language policy issue when no user opt-in or locale limitation is stated. The file does not indicate that the skill is intended only for a Chinese-speaking or region-specific audience.
This Python file contains user-facing descriptions and console messages entirely in Chinese, including the module docstring, CLI help text, and runtime status/error output. For a general-purpose skill, hard-coding a single language without user opt-in can violate language/locale policy expectations.
No suspicious patterns detected.