CreatOK Recreate Video

Security checks across malware telemetry and agentic risk

Overview

This looks like a legitimate CreatOK TikTok remix helper, but it needs review because its local artifact path handling can write files outside the folder it says it uses.

Use this skill only if you are comfortable sending TikTok reference URLs to CreatOK and storing analysis artifacts locally. Before installing broadly, ask the publisher to fix run_id path validation and clarify where analysis artifacts are written.

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Risk analysis

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

#
ASI02: Tool Misuse and Exploitation
Medium
What this means

A malformed or adversarial run ID could cause the skill to create or overwrite its fixed output files in an unexpected location on disk.

Why it was flagged

The runId is used directly in a filesystem path without an allowlist, normalization check, or containment check. Because the script accepts --run_id, a value containing path traversal could move artifact writes outside the intended .artifacts directory.

Skill content
function artifactsForRun(skillDir, runId) { return new Artifacts(path.join(artifactsRootForSkill(skillDir), runId)); }
Recommendation

Generate run IDs internally or restrict them to safe characters such as letters, numbers, dashes, and underscores; then resolve the final path and verify it stays under the intended .artifacts directory before writing.

#
ASI08: Cascading Failures
Low
What this means

The skill may create or store analysis files outside its own folder, making cleanup and data boundaries less clear.

Why it was flagged

The script sends analysis artifacts to a sibling skill directory, while SKILL.md says artifacts should be written under recreate-video/.artifacts. This creates cross-skill filesystem side effects that are not clearly disclosed.

Skill content
const ANALYZE_SKILL_ROOT = path.resolve(SKILL_ROOT, '..', 'creatok-analyze-video'); ... analyzeSkillDir: ANALYZE_SKILL_ROOT
Recommendation

Store all generated artifacts under this skill's own artifact directory, or clearly document and require the sibling analyze skill/artifact location.

#
ASI03: Identity and Privilege Abuse
Low
What this means

Anyone running the skill must provide a CreatOK API key, which may allow API actions associated with that account.

Why it was flagged

The skill uses the CREATOK_API_KEY as a Bearer token when calling CreatOK APIs. This is expected for the stated integration, but users should understand they are granting the skill access to their CreatOK API account.

Skill content
Authorization: `Bearer ${this.cfg.openSkillsKey}`
Recommendation

Use a dedicated, revocable CreatOK API key with the minimum needed scope, and remove or rotate it if the skill is no longer used.

#
ASI06: Memory and Context Poisoning
Low
What this means

Reference video analysis details and related URLs may remain locally after the task finishes.

Why it was flagged

The skill persists analyzed TikTok data, including transcript, vision scenes, response content, session data, and video URLs, into local artifacts. This is purpose-aligned but creates retained context on disk.

Skill content
artifacts.writeJson('transcript/transcript.json', { segments }); ... artifacts.writeJson('outputs/result.json', result);
Recommendation

Review or delete the .artifacts output when it is no longer needed, especially if the reference or product context is sensitive.