Korea metropolitan bus alerts

PassAudited by ClawScan on May 10, 2026.

Overview

This appears to be a legitimate bus-alert skill, but it stores a TAGO API key and creates persistent Clawdbot cron jobs, so users should verify setup and delivery targets.

Install or run this only if you use Clawdbot Gateway/cron and need TAGO bus alerts. Review the generated cron job before adding it, confirm the DM target is yours, protect the TAGO key file, and remove alerts you no longer need.

Findings (5)

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

A mistaken job ID could remove an unintended scheduled job.

Why it was flagged

The helper can remove Clawdbot cron jobs by ID after confirmation, which is purpose-aligned for deleting alerts but changes scheduler state.

Skill content
out = _run([exe, "cron", "remove", job_id])
Recommendation

Review cron job IDs carefully, keep the confirmation step, and prefer listing/filtering bus-alert jobs before removal.

What this means

The Gateway service will be able to use the TAGO key, and anyone who can read the env file could use that key.

Why it was flagged

The setup flow stores the TAGO API key locally with restrictive permissions so Gateway cron jobs can use it.

Skill content
lines.append(f"TAGO_SERVICE_KEY={key}\n") ... os.chmod(path, 0o600)
Recommendation

Use a dedicated TAGO key if possible, keep the file private, do not share config output containing env values, and rotate the key if it may have leaked.

What this means

Your commute pattern and messaging target may remain in Clawdbot cron configuration until the job is removed.

Why it was flagged

The persisted cron job stores the schedule, stop identifiers, route list, and delivery target for future agent runs.

Skill content
"schedule": {"kind": "cron", "cron": spec.to_cron(), "tz": spec.tz}, ... "message": build_prompt(city, node, routes), ... "channel": channel, "to": to
Recommendation

Treat cron job exports/configuration as private and delete alerts you no longer use.

What this means

If the wrong target is entered, bus alerts could be sent to an unintended DM or channel.

Why it was flagged

Although the documentation says DM-only, the helper accepts a user-entered delivery channel and target and does not itself verify that the target is the registering user's DM.

Skill content
channel = input("Deliver channel (e.g. telegram): ").strip() or "telegram"
to = input("Deliver to (DM chat id / user id target): ").strip()
Recommendation

Verify the Gateway channel and DM/user ID before registering a job, and avoid group or channel IDs unless you explicitly intend that.

What this means

The agent will continue running the alert on the configured schedule until the cron job is removed.

Why it was flagged

The skill creates persistent scheduled agent turns that run later and deliver messages, which is expected for bus alerts.

Skill content
"sessionTarget": "isolated",
"payload": {
  "kind": "agentTurn",
  "message": build_prompt(args.city, args.node, routes),
  "deliver": True
Recommendation

Review the generated cron JSON before adding it and periodically list/remove old alerts.