Back to skill

Security audit

Video Stream Upload Free

Security checks for vulnerabilities and agentic risk

Overview

This skill is mostly a coherent video-upload helper, but it can upload local videos publicly to a third-party service and its trigger scope is broader than its actual upload-only purpose.

Install only if you are comfortable sending selected video files and stream API credentials to the named third-party API. Before use, confirm each upload, avoid private or sensitive videos unless public hosting is intended, and do not use this skill for general audio editing, media conversion, or dubbing tasks despite its broad trigger text.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (8)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill’s primary description does not prominently warn that local video files are transmitted to a third-party service and that uploaded videos are public by default. This creates a significant risk of inadvertent disclosure of sensitive or private content because users may interpret the skill as a local processing utility rather than external publication.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

清单中明确写明“视频管理:列表/删除/更新 | 不支持”,且免费版定位为仅上传并获取播放链接。但后文的 API Key 验证示例实际调用 /api/videos 并提交 {"limit": 1},这属于视频列表查询/管理能力的一部分,超出了前述免费版声明范围。

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
94% confidence
Finding

This command sends user-provided metadata and authentication headers to an external domain. External transmission is expected for an upload skill, but it remains security-relevant because it involves third-party network egress and secret handling; combined with weak disclosure, users may unknowingly send content and credentials off-platform.

Content

Scanner excerpt · SKILL.md (reported line 114)May include surrounding context.

bash
# Step 1: 创建视频对象
curl -s -X POST 'https://api-w3stream.attoaioz.cyou/api/videos/create' \
  -H 'stream-public-key: PUBLIC_KEY' \
  -H 'stream-secret-key: SECRET_KEY' \
  -H 'Content-Type: application/json' \

External Transmission

Medium
Category
Data Exfiltration
Confidence
97% confidence
Finding

This step transmits the actual local video file, along with authentication headers and file-derived metadata, to an external service. In the context of a skill that may be triggered broadly and does not prominently disclose public-by-default hosting, the risk is elevated because private local content could be uploaded and exposed unintentionally.

Content

Scanner excerpt · SKILL.md (reported line 140)May include surrounding context.

md
END_POS=$((FILE_SIZE - 1))
HASH=$(md5sum /videos/python-tutorial.mp4 | awk '{print $1}')

curl -s -X POST "https://api-w3stream.attoaioz.cyou/api/videos/VIDEO_ID/part" \
  -H 'stream-public-key: PUBLIC_KEY' \
  -H 'stream-secret-key: SECRET_KEY' \
  -H "Content-Range: bytes 0-$END_POS/$FILE_SIZE" \

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

“不适用场景”明确表示该技能不适合处理实时直播推流、专业影视后期等视频上传之外场景,但紧接着“触发条件”却写成“需要视频处理、音频编辑、媒体转换、配音生成时使用”。后者明显扩大到音频编辑、媒体转换、配音生成,与全文实际仅描述视频上传/查询链接的行为相矛盾。

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger condition is overly broad, covering general video/audio/media tasks that exceed the skill’s actual purpose. In an agent ecosystem, this can cause the skill to activate for unrelated user requests and initiate uploads or credential collection in contexts where the user did not intend third-party transmission.

Content

No source excerpt is available for this finding.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · SKILL.md (reported line 418)May include surrounding context.

md
brew install jq

# Ubuntu / Debian 安装 jq
sudo apt install jq

# 验证安装
curl --version

External Transmission

Medium
Category
Data Exfiltration
Confidence
91% confidence
Finding

The verification example instructs users to place API secrets in environment variables and send them to the external service, which is normal operationally but still sensitive. The risk lies in normalizing broad secret use and external credential transmission without stronger guidance on secret storage, shell history exposure, and least-privilege handling.

Content

Scanner excerpt · SKILL.md (reported line 442)May include surrounding context.

md
export STREAM_SECRET_KEY="your_secret_key"

# 验证配置
curl -s 'https://api-w3stream.attoaioz.cyou/api/videos' \
  -X POST \
  -H "stream-public-key: $STREAM_PUBLIC_KEY" \
  -H "stream-secret-key: $STREAM_SECRET_KEY" \