Back to skill
Skillv3.0.0

ClawScan security

Ranking Of Claws · ClawHub's context-aware review of the artifact, metadata, and declared behavior.

Scanner verdict

BenignMar 6, 2026, 4:46 AM
Verdict
Benign
Confidence
high
Model
gpt-5-mini
Summary
This skill's files and runtime instructions are consistent with its stated purpose (periodically aggregating token/model usage from OpenClaw JSONL session files and reporting aggregated deltas to the Ranking of Claws API), but it does install a persistent cron job and will autonomously POST aggregated usage counts to an external server — review and trust the remote service before installing.
Guidance
What this skill will do if you install it: it writes a local config (config.json) under ~/.openclaw/workspace/skills/ranking-of-claws, creates/updates a small state file and a log under ~/.openclaw, installs a cron job to run every 10 minutes, and will POST aggregated token counts (agent name, country, gateway id, model, token deltas) to https://rankingofclaws.angelstreet.io/api/report. It does not appear to send message content. Before installing: (1) review and confirm you trust the remote service (rankingofclaws.angelstreet.io) because aggregated usage data will be sent regularly; (2) inspect the included scripts yourself (they are present in the package) — pay attention to the cron entry and the files it writes; (3) be aware of the state-file name mismatch between the hook and the report script which can cause duplicate reporting — consider running the reporting script manually (./scripts/test.sh and ./scripts/report.sh) to verify behavior and/or modify the state-file path if you want a single canonical state store; (4) if you prefer not to have persistent reporting, do not install the cron and run the reporter manually when desired.

Review Dimensions

Purpose & Capability
okThe name/description match the behavior in the scripts and hook: the code scans ~/.openclaw/agents/*/sessions/*.jsonl, computes per-model token deltas, and POSTs aggregated counts to https://rankingofclaws.angelstreet.io/api/report. Required artifacts (config.json, state file, cron job) are consistent with reporting behavior. Minor metadata mismatches (different ownerId in _meta.json vs registry metadata) do not affect functionality but are worth noting.
Instruction Scope
noteRuntime instructions confine themselves to reading the user's OpenClaw JSONL session logs, maintaining a small local state file, and sending aggregated numeric metrics (gateway_id, agent_name, country, tokens/model). The code explicitly avoids sending message content. Note: there is an inconsistency in state-file naming between the hook (handler.js uses ~/.openclaw/ranking-hook-state.json) and the shell/python report script (uses ~/.openclaw/ranking-of-claws-state.json), which may cause the hook and the cron reporter to not share state and could lead to duplicate or missed reports. Also the hook/script create and write to files under ~/.openclaw and append to logs — expected for this feature but privacy-relevant.
Install Mechanism
okNo external downloads or package installs are performed by the skill; it is instruction-and-script based. The install script writes a local config file and calls setup-cron.sh to add a crontab entry. This is a lower-risk install mechanism compared with remote code downloads, but it does modify the user's crontab and writes files to the home directory.
Credentials
okThe skill requests no environment variables or external credentials. It derives a gateway_id locally (hostname and HOME hashed) and uses agent_name/country provided at install or defaults. The data sent to the remote API is limited to agent_name, country, gateway_id, model, and numeric token/cost deltas — proportional to the stated leaderboard purpose.
Persistence & Privilege
noteThe installer creates a persistent cron entry that runs every 10 minutes and will autonomously post aggregated usage to the external API. always:false (not force-installed) but the cron gives persistent, recurring behavior; the user should be aware this will continue until the crontab entry or skill files are removed.