ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

skill-vettr

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.

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/britrik/skill-vettr
Or

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:

BinaryUsed ByPurpose
gitvet-urlClone .git URLs (with hooks disabled)
curlvet-urlDownload archive URLs
tarvet-urlExtract downloaded archives
clawhubvet-clawhubFetch 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

CategoryMethodExamples
Code executionASTeval(), new Function(), vm.runInThisContext()
Shell injectionASTexec(), execSync(), spawn("bash"), child_process imports
Dynamic requireASTrequire(variable), require(templateString)
Prototype pollutionASTproto assignment
Prompt injectionRegexInstruction override patterns, control tokens (in string literals)
Homoglyph attacksRegexCyrillic/Greek lookalike characters in identifiers
Encoded namesRegexUnicode/hex-escaped "eval", "exec"
Credential pathsRegexCloud and SSH credential directory references, system credential store access
Network callsASTfetch() with literal URLs (checked against allowlist)
Malicious depsConfigKnown bad packages, lifecycle scripts, git/http deps
TyposquattingLevenshteinSkill names within edit distance 2 of targets
Dangerous permissionsConfigshell:exec, credentials:read in SKILL.md

Limitations

⚠️ **This is a heuristic scanner with inherent limitations.

Metadata

Author@britrik
Stars2387
Views0
Updated2026-03-09
View Author Profile
AI Skill Finder

Not sure this is the right skill?

Describe what you want to build — we'll match you to the best skill from 16,000+ options.

Find the right skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-britrik-skill-vettr": {
      "enabled": true,
      "auto_update": true
    }
  }
}

Tags

#security#scanner#vetting#analysis#static-analysis
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.