Blog Generator

Security checks across static analysis, malware telemetry, and agentic risk

Overview

The skill’s main purpose is clear, but it reads private OpenClaw journals and can automatically pass generated content through unbundled helper tools/API paths, so it deserves careful review before use.

Install only if you are comfortable with the skill reading your OpenClaw journal files. Consider running it manually first with `--no-humanize`, review the generated HTML before publishing, and avoid enabling the cron job or external humanizer until you verify the helper code and understand any API data sharing.

Static analysis

No static analysis findings were reported for this release.

VirusTotal

64/64 vendors flagged this skill as clean.

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.

#
ASI04: Agentic Supply Chain Vulnerabilities
Medium
What this means

A user may run unreviewed local helper code that can see generated article text and may use an API key.

Why it was flagged

The skill depends on helper code outside the supplied package, including a Downloads path and another skill directory, but those helpers are not included, pinned, or declared in the install requirements.

Skill content
Each article’s body is sent through `/Users/ghost/Downloads/humanizer-1.0.0` (requires `OPENROUTER_API_KEY`) ... Header: From visual-explainer only. Default path: `/Users/ghost/.openclaw/workspace/skills/visual-explainer-main`.
Recommendation

Make external helpers explicit, pinned, and opt-in; declare the OpenRouter/API dependency and document exactly what data is sent.

#
ASI05: Unexpected Code Execution
Medium
What this means

Running the blog generator can also execute an external local tool and pass it journal-derived content.

Why it was flagged

By default, if the external humanizer path exists, the script calls it on the generated body text rather than requiring explicit opt-in for that run.

Skill content
default_humanizer = Path("/Users/ghost/Downloads/humanizer-1.0.0") ... if not getattr(args, "no_humanize", False) and humanizer_path.exists(): ... humanized = generator.run_humanizer(body_text, humanizer_path)
Recommendation

Default to no external helper execution unless the user explicitly enables it for that run, and prefer reviewed bundled code over arbitrary local paths.

#
ASI06: Memory and Context Poisoning
Low
What this means

Private journal or chat-analysis details could be reflected in generated blog drafts, and poisoned or misleading journal content could influence the output.

Why it was flagged

The skill reads persistent OpenClaw journal markdown files and turns extracted content into blog topics.

Skill content
self.journal_dir = openclaw_home / "journal" ... for journal_file in self.journal_dir.rglob("*.md"): ... content = journal_file.read_text()
Recommendation

Review generated posts before sharing them, limit the analyzed date range, and avoid storing secrets or private material in journals used for blog generation.

#
ASI03: Identity and Privilege Abuse
Low
What this means

Using the default humanizer may consume API quota and expose generated article text to the model provider used by that helper.

Why it was flagged

The skill may rely on an OpenRouter credential through its humanizer workflow, but registry metadata declares no required environment variables.

Skill content
Humanizer: Runs **between generations** by default ... (requires `OPENROUTER_API_KEY`)
Recommendation

Use a least-privilege API key if available, understand the provider’s data policy, and use `--no-humanize` when external model processing is not desired.

#
ASI10: Rogue Agents
Low
What this means

If enabled, the skill can keep generating blog drafts from recent journals on a schedule.

Why it was flagged

The skill documents recurring automated execution, but the cron job appears user-configured rather than installed silently.

Skill content
This skill is designed to run periodically (daily or weekly) via OpenClaw cron to automatically generate blog content.
Recommendation

Only enable the cron job if you are comfortable with ongoing automated processing, and periodically review generated files.