Opencron Skill Repo

AdvisoryAudited by Static analysis on Apr 30, 2026.

Overview

No suspicious patterns detected.

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

Anyone who can reach that port may be able to view cron job definitions and run history, which could reveal commands, schedules, operational details, or sensitive output.

Why it was flagged

The skill explicitly embeds local cron job and run-history data into a web page served without authentication on an exposed port.

Skill content
reads live job data and run history from disk, and serves a complete page with data embedded — no client-side fetch, no auth. Port 18790 (bridge port) is already exposed by every OpenClaw container.
Recommendation

Bind the dashboard to localhost only where possible, add authentication or access checks, minimize the data embedded in the page, and make exposure of cron data an explicit user choice.

What this means

The dashboard server may be started and left running in the background, exposing cron data even when the user did not explicitly request a dashboard session.

Why it was flagged

The instructions tell the agent to start a long-running server automatically as part of any cron job completion flow, not only when the user asks to open the dashboard.

Skill content
After Every Cron Job Run ... If the server isn't running, start it: `nohup python3 skills/opencron/serve.py --port 18790 &` ... This should be the last line of output after every cron job execution
Recommendation

Require explicit user approval before starting the server, clearly show when it is running, and provide stop/disable instructions.

What this means

A future change or compromise of the remote dashboard HTML could change what runs in the user's browser and could read the embedded cron data.

Why it was flagged

The live dashboard HTML is downloaded from the mutable `master` branch without a pinned commit, checksum, or signature, then used as the page that receives embedded local cron data.

Skill content
DASHBOARD_URL = "https://raw.githubusercontent.com/firstfloris/opencron/master/cron-dashboard.html" ... data = urllib.request.urlopen(DASHBOARD_URL).read()
Recommendation

Bundle the reviewed dashboard HTML with the skill, or pin the remote file by commit and verify integrity before serving it.

What this means

If the user starts this script, it will keep running and repeatedly write updated dashboard files until manually stopped.

Why it was flagged

The skill includes a documented background loop that refreshes generated dashboard files every 30 seconds.

Skill content
while true; do
    python3 "$SCRIPT_DIR/update_canvas.py" --sync 2>/dev/null
    sleep 30
done
Recommendation

Only run the sync loop when needed, and document a clear stop command and cleanup process.