T09 · Insecure Skill Coding Practices
- Location
scripts/analyze.rb:76- Finding
Arbitrary API Endpoint Override Exposes Media and Bearer Credentials
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill has a coherent video-distillation purpose, but it can upload whole media files and the NVIDIA API bearer token to a user-configurable endpoint, so it should be reviewed before installation.
Install only if you are comfortable with selected videos or images being sent to NVIDIA or to any endpoint configured by the environment. Before using it, verify NVIDIA_ENDPOINT is unset or restricted to the intended HTTPS NVIDIA host, avoid private or regulated media unless you have explicit approval to upload it, and treat the non-upload promise for sensitive content as unenforced by the bundled script.
scripts/analyze.rb:76Arbitrary API Endpoint Override Exposes Media and Bearer Credentials
scripts/analyze.rb:78Declared Sensitive-Content Non-Upload Policy Is Not Enforced
描述强调的是面向抖音短视频的知识蒸馏场景,但代码实际实现的是一个通用文件分析脚本。它接受本地图片或视频路径和任意指令,将内容发送给 NVIDIA 模型处理,因此可用于 OCR、图片理解、一般视频总结等多种用途。与声明相比,最明显的不一致有两点:一是代码不支持抖音链接抓取/解析,只能处理本地文件;二是它没有实现专门的“蒸馏成知识卡片/时间线/证据/第二大脑资料”的固定工作流,只是把用户指令原样转发给模型。虽然用户可以手动要求模型总结视频,这与声明部分重叠,但整体能力范围和接口形式都比声明更通用且存在关键缺口,因此应判定为不匹配。
The skill declares no explicit tool scope or allowed-tools despite instructing the agent to perform network-enabled actions such as downloading Douyin content and calling external APIs. This is dangerous because it expands the agent’s effective capabilities without clear policy boundaries, increasing the chance of unauthorized network access, unintended data egress, or misuse of ambient credentials.
The trigger description contains broad natural-language examples like turning a video into searchable knowledge, which can overlap with ordinary conversation and cause accidental invocation. This is dangerous because misfires may cause the agent to initiate downloads, analyze local media, or process sensitive content when the user did not intend to run this higher-privilege workflow.
The script base64-encodes the full local image/video and sends it, along with the user’s instruction, to a third-party NVIDIA API endpoint. For a video-distillation skill, inputs are likely to contain personal, confidential, or regulated data, and the script provides no explicit consent prompt, privacy warning, or data-minimization controls before transfer. This is dangerous because users may assume local-only processing and unintentionally disclose sensitive content to an external service.
This JSON file contains user-facing prompt and output expectations exclusively in Chinese, which effectively constrains the skill to a specific language without indicating user choice or explicit locale scoping. Under the policy, forced language behavior without opt-in can be a natural-language policy violation.
The code reads an API key from the environment and uses it for outbound authentication. Although this is expected for an API client, there is no explicit comment or user-facing notice clarifying that the script depends on and will use a credential from the environment.
This markdown file contains user-facing natural language that implicitly forces a specific language, but it does not mention any user opt-in, bilingual support, or justified region-specific constraint. Under the language/locale policy rule, a fixed language can be a policy issue when no choice or rationale is provided.