Content Automator

PassAudited by VirusTotal on May 12, 2026.

Overview

Type: OpenClaw Skill Name: content-automator Version: 1.0.0 The `scripts/content_automator.py` file contains a critical shell injection vulnerability. The `assemble_video` function directly embeds the `title` argument into an `ffmpeg` command's `drawtext` filter without proper sanitization. When the `cmd_script` function is used, the user-provided `--title` argument is passed directly to `assemble_video`, allowing an attacker to inject arbitrary shell commands (e.g., `'; rm -rf /; echo '`) via the title. This is a severe vulnerability (Remote Code Execution risk), but there is no evidence of intentional malicious behavior (e.g., data exfiltration, backdoor installation) by the skill itself, classifying it as suspicious rather than malicious.

Findings (0)

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.

What this means

Using the skill may consume ElevenLabs quota or incur provider-side billing tied to the configured API key.

Why it was flagged

The skill requires an ElevenLabs account API key to perform text-to-speech calls. This is disclosed and purpose-aligned, but it gives the skill delegated use of that provider account.

Skill content
This skill intentionally accesses:
- `ELEVENLABS_API_KEY` from environment (for TTS API calls)
Recommendation

Use a dedicated or limited-scope ElevenLabs key where possible, monitor usage, and remove the environment variable when not needed.

What this means

Custom scripts or portfolio-derived trading details may be processed by a third-party TTS provider.

Why it was flagged

The script sends the generated script text to the ElevenLabs API. For the trading workflow, that generated text can include parsed portfolio value, positions, and P&L.

Skill content
data = {
        "text": text,
        "model_id": "eleven_monolingual_v1",
...
response = requests.post(url, json=data, headers=headers, timeout=60)
Recommendation

Only run the skill on text and portfolio data you are comfortable sending to ElevenLabs, and review provider privacy/retention terms.

What this means

The skill can create or overwrite video outputs in the chosen directory and depends on the local ffmpeg/ffprobe binaries behaving as expected.

Why it was flagged

The skill invokes local ffprobe/ffmpeg binaries to inspect audio and assemble videos. This is central to the stated purpose and is not hidden, but it is still local command execution.

Skill content
subprocess.run(probe_cmd, capture_output=True, text=True, check=True)
...
subprocess.run(ffmpeg_cmd, capture_output=True, check=True)
Recommendation

Use trusted ffmpeg binaries and choose an output directory where generated files and overwrites are acceptable.

What this means

Some documented commands may fail or not behave as advertised, which could waste time or create misplaced trust in the automation pipeline.

Why it was flagged

The documentation advertises a news command, while the included Python parser only defines trading, script, and templates subcommands. This appears to be an overstatement of functionality rather than malicious behavior.

Skill content
# Generate news summary
python3 scripts/content_automator.py news --topic "AI agents" --sources "twitter,colony" --output ~/Videos/
Recommendation

Verify available commands with `python3 scripts/content_automator.py --help` before relying on the documented examples.