| name | skill-vettr |
| version | 2.0.3 |
| author | britrik |
| description | Static analysis security scanner for third-party OpenClaw skills. Detects eval/spawn risks, malicious dependencies, typosquatting, and prompt injection patterns before installation. Use when vetting skills from ClawHub or untrusted sources. |
| tags | ["security","scanner","vetting","analysis","static-analysis"] |
| emoji | 🛡️ |
| metadata | {"openclaw":{"requires":{"bins":["node","git","curl","tar","clawhub"],"env":[]},"install":{"command":"npm install","artifacts":["node_modules/tree-sitter-javascript/tree-sitter-javascript.wasm","node_modules/tree-sitter-typescript/tree-sitter-typescript.wasm","node_modules/web-tree-sitter/web-tree-sitter.wasm"],"safety":"npm install runs dependency lifecycle scripts. tree-sitter packages use hasInstallScript for native/WASM builds. For isolation, run npm ci --ignore-scripts inside a container, then manually verify .wasm artifacts exist.\n"},"notes":"Requires .wasm files from node_modules at runtime. git/curl/tar are used by vet-url to download and extract remote archives. clawhub CLI is used by vet-clawhub to fetch skills from the registry. Only the /skill:vet command (local path) needs no external binaries beyond node.\n"}} |
skill-vettr v2.0.3
Security scanner for third-party OpenClaw skills. Analyses source code, dependencies, and metadata before installation using tree-sitter AST parsing and regex pattern matching.
Installation
npm install
This installs all Node.js dependencies, including tree-sitter .wasm grammar files required at runtime for AST-based analysis. The .wasm files are located in node_modules and must be present for the skill to function.
⚠️ Install safety: npm install runs dependency lifecycle scripts, which can execute arbitrary code. For stronger isolation, run npm ci --ignore-scripts — but note that tree-sitter native/WASM artifacts may not build, breaking AST analysis. Prefer installing inside a container or VM when possible.
External Binaries
The vet-url and vet-clawhub commands invoke external binaries via execSafe (which uses execFile — no shell is spawned). Only the following commands are permitted:
| Binary | Used By | Purpose |
|---|
git | vet-url | Clone .git URLs (with hooks disabled) |
curl | vet-url | Download archive URLs |
tar | vet-url | Extract downloaded archives |
clawhub | vet-clawhub | Fetch skills from ClawHub registry |
The /skill:vet command (local path vetting) requires only node and no external binaries.
Commands
/skill:vet --path <directory> — Vet a local skill directory
/skill:vet-url --url <https://...> — Download and vet from URL
/skill:vet-clawhub --skill <slug> — Fetch and vet from ClawHub
Detection Categories