Clawned - Protect your OpenClaw Instance and Scan Skills
v1.3.5Security agent that inventories installed OpenClaw skills, analyzes them for threats, and syncs results to your Clawned dashboard.
⭐ 2· 513·1 current·1 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
OpenClaw
Suspicious
high confidencePurpose & Capability
The declared purpose (discover skills, analyze, sync to Clawned) matches the single required binary (python3) and a CLAWNED_API_KEY credential. Requesting a single API key is proportionate to the stated purpose. However the SKILL.md instructs the user to place the API key in openclaw.json while the runtime code reads the API key from the environment (os.getenv). That mismatch is an operational/instructional inconsistency.
Instruction Scope
SKILL.md repeatedly asserts that no credentials/secrets are read from config files and that sync sends only metadata. The agent code does load ~/.openclaw/openclaw.json (to locate extraDirs) and reads skill metadata files. Loading openclaw.json is reasonable to find extraDirs, but that file often contains other configuration and API keys for OpenClaw — SKILL.md's blanket statement 'No credentials or secrets are read from config files' is misleading. The code also will upload full file contents when the explicit 'scan --path' command is used (per the SKILL.md), which is expected for a scanning agent but is a high-impact operation and must be explicitly authorized by the user.
Install Mechanism
There is no install spec (instruction-only plus a Python script included). No remote downloads or package managers are invoked by the bundled code. This is lower risk than skills that fetch and execute remote code at install time.
Credentials
Only CLAWNED_API_KEY (and optional CLAWNED_SERVER) are required — that's reasonable. But SKILL.md instructs users to put the API key into openclaw.json under a skill entry, while the runtime code expects an environment variable. Because the agent loads openclaw.json to discover skill directories, a user following SKILL.md's guidance could inadvertently store their API key in openclaw.json (exposing it to other code or processes) even though the agent will ignore it. The agent does not request unrelated credentials, but reading openclaw.json is sensitive because it may contain other secrets for the host.
Persistence & Privilege
The skill creates state/pid/log files under ~/.openclaw, registers an agent id with the server, and the SKILL.md suggests scheduling automatic syncs (OpenClaw cron). It does not request 'always: true' or system-level privileges. These behaviors are typical for a monitoring agent, but persistent scheduled syncing combined with the ability to upload file contents (via explicit scan) increases the blast radius if you trust the remote server.
What to consider before installing
This skill mostly implements a legitimate scanning/metadata-syncing agent, but there are important mismatches and privacy implications you should consider before installing:
- Do not put your CLAWNED_API_KEY into ~/.openclaw/openclaw.json just because the SKILL.md example shows it. The shipped agent reads the API key from the environment (CLAWNED_API_KEY). Storing secrets in openclaw.json may expose them to other local processes or backups.
- The agent does load ~/.openclaw/openclaw.json to find extraDirs. That is reasonable for discovering skill locations, but be aware that openclaw.json often contains other service API keys or tokens — keep secrets out of that file or audit its contents first.
- 'sync' only sends metadata according to the SKILL.md and agent code, but 'scan --path' will read and upload file contents from a skill directory (explicit user action). Before running a scan, review which files will be collected (SCANNABLE_EXTS and limits: up to 30 files, 512KB each) so you don't inadvertently upload sensitive files. .env files are intentionally skipped by the agent, but secrets embedded in other files (JSON, YAML, .py, etc.) would be included.
- Verify you trust the remote server (CLAWNED_SERVER / api.clawned.io) before supplying an API key. If you have a private Clawned deployment, set CLAWNED_SERVER to your trusted endpoint.
- If you want to be cautious: run the agent manually in an isolated environment first (or with a read-only mount of skill directories), inspect the code, and avoid enabling automated cron syncs until you are comfortable with what is being sent.
- The primary concrete inconsistencies to resolve with the publisher are: (1) whether the agent expects the API key in env vs openclaw.json, and (2) the SKILL.md statement that config files contain no credentials (which is not guaranteed). If the publisher can't clarify these, treat the skill as higher-risk.Like a lobster shell, security has layers — review code before you run it.
Privacyvk972gzfj4e4278xftvfgmjs52d81pk22Scanningvk972gzfj4e4278xftvfgmjs52d81pk22Securityvk972gzfj4e4278xftvfgmjs52d81pk22latestvk9715ggr4hqfe22312xq64z04s81ws9j
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
Runtime requirements
🛡️ Clawdis
Binspython3
EnvCLAWNED_API_KEY
