Back to skill

Security audit

CreatOK Analyze Video

Security checks for vulnerabilities and agentic risk

Overview

The skill is a legitimate TikTok analysis helper, but its run ID can write artifacts outside the intended folder and it lacks clear boundaries for untrusted video/API text.

Review before installing. Use only trusted TikTok URLs, assume the URL and extracted content are sent to CreatOK, and do not use sensitive or private videos unless that is acceptable. The publisher should validate run_id values and add explicit prompt-injection boundaries before this is treated as low-risk.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (2)

T09 · Insecure Skill Coding Practices

Error
Location
lib/artifacts.js:37
Finding

Unvalidated Run Identifier Allows Artifact Path Traversal and Arbitrary File Overwrite

Content
View full analysis
Remediation
View remediation

T01 · Skill Instruction Hijacking

Warning
Location
SKILL.md:75
Finding

Untrusted Video and Remote API Content Is Passed to the Agent Without Prompt-Injection Boundaries

Content
View full analysis
The model should read `outputs/result.json` and produce the final user-facing analysis in the conversation. Before deciding how to explain the result, the model should first infer what kind of TikTok video this is. ``` ### Technical Analysis The transcript and visual-scene fields may be influenced by the submitted TikTok video, while the response fields originate from a remote service. These values are stored in `outputs/result.json`, which the skill explicitly instructs the agent to read when preparing its response. The skill does not state that these fields are untrusted data, prohibit following instructions found inside them, or distinguish remote-generated instructions from authoritative skill instructions. An attacker can therefore place instruction-like text in a video transcript or visible on-screen text. A compromised or manipulated remote response could provide the same type of payload through `response.content`, `response.reasoning_content`, or `response.suggestions`. ...[truncated 1540 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (5)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
92% confidence
Finding

The skill declares network use and an API key requirement, but it does not define an explicit permission or allowed-tools scope. That creates an authorization gap where the runtime or reviewer cannot clearly enforce what external access the skill is supposed to have, increasing the chance of over-broad execution or unintended data access. In a skill that processes user-supplied TikTok URLs through a remote API, missing tool scoping is a real security control weakness rather than just a documentation issue.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill sends user-provided TikTok URLs and derived content to an external API, but it does not clearly warn the user that their input and extracted transcript/vision data will leave the local environment. This undermines informed consent and can expose sensitive or private content, especially if users analyze non-public, proprietary, or regulated material under the assumption the processing is local.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

This code persists multiple artifacts including video metadata, transcript text, scene data, and response content to local files. There is no confirmation prompt, logging/print statement, or inline comment/docstring in this file warning that user-provided or externally retrieved content will be stored on disk.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The handoff guidance uses broad natural-language triggers such as 'rewrite this for my product' or 'turn this into a video' without clear disambiguation boundaries. In a multi-skill environment, this can cause the wrong skill to activate or transfer context too aggressively, which may lead to unintended actions, confused behavior, or propagation of sensitive user context into another skill.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

This code creates directories and writes JSON/text files under the skill's artifacts directory, which affects local user data on disk. There is no confirmation prompt, print/log statement, or inline documentation here disclosing that these writes will occur.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.