Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Security audit tool for ClawHub skills. Scans a skill directory with 65 detection patterns, anti-obfuscation analysis, and dual rating system (Security + Com...
Security audit tool for ClawHub skills. Scans a skill directory with 65 detection patterns, anti-obfuscation analysis, and dual rating system (Security + Com...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Scan any skill directory for permissions and dangerous patterns. Get a safety rating before you install.
Run the scanner on a skill directory: python3 scripts/scan.py /path/to/skill-directory
python3 scripts/scan.py /path/to/skill-directory --sarif
The script prints two blocks to stdout: A JSON report (between --- JSON START --- and --- JSON END --- markers) A Markdown report (between --- MD START --- and --- MD END --- markers)
python3 scripts/scan.py /path/to/skill-directory --output-dir /path/to/output This creates report.json and report.md in the output directory.
GradeMeaningActionASafeInstall freelyBLow riskMinor concerns, generally safeCNeeds reviewReview flagged patterns before installingDHigh riskSignificant dangerous patterns detectedFDangerousDo not install without thorough manual review
File deletion: rm -rf, shred, unlink, rmtree, rimraf, del /f (7 patterns) Network exfiltration: curl POST, wget --post, requests.post, fetch POST, netcat reverse shell, DNS exfil, pipe to curl, socat (9 patterns) Environment variable access: process.env, os.environ, .env files, printenv (5 patterns) Secret/key access: .ssh/, .gnupg/, private keys, wallets, tokens, passwords, keychain, cloud credentials (8 patterns) Privilege escalation: sudo, su, chmod 777, chown, setuid/setgid, doas (6 patterns) Code execution: eval, exec(), Function(), child_process, subprocess, os.system, os.popen, compile (8 patterns) Data collection: /etc/passwd, /etc/shadow, whoami, hostname, ifconfig, /proc/self (6 patterns) Persistence: crontab, systemd, rc.local, shell profile modification, autostart (5 patterns) Obfuscation: long base64 strings, hex escapes, charCode, base64 decode, string reversal (5 patterns) Cryptocurrency/mining: xmrig/minerd, mining pool URLs, wallet addresses (3 patterns) Shell injection: backtick execution, pipe to shell, download-and-execute (3 patterns)
Compares tools declared in SKILL.md against tools actually used in code. Reports: Undeclared permissions with sensitivity scoring (1-5) Unused declared permissions Declaration coverage ratio Per-tool risk recommendations
Automatically decodes base64 and hex-encoded content, then re-scans decoded output for dangerous patterns. Obfuscated findings receive elevated severity.
Comments and docstrings: severity reduced by 2 Markdown code blocks in SKILL.md: severity reduced by 2 (examples, not real code) Pattern definition lines in scanner source: skipped entirely Original vs adjusted severity shown in reports (e.g., "Low (2โ4)")
Every detection pattern includes a CWE (Common Weakness Enumeration) reference for professional vulnerability classification.
Scan all skills in a directory at once with --batch: python3 scripts/scan.py /path/to/skills/ --batch python3 scripts/scan.py /path/to/skills/ --batch --json-summary python3 scripts/scan.py /path/to/skills/ --batch --json-summary -o /path/to/output
Skips venv/node_modules/dist/.git directories automatically Caps at 200 script files per skill for safety 164 skills scanned in ~8 seconds
Markdown table with summary stats and per-skill ratings (default) JSON summary with --json-summary flag for machine consumption Writes batch-summary.json when using -o
Use --sarif flag to output SARIF 2.1.0 format, compatible with: GitHub Code Scanning (upload-sarif action) VS Code SARIF Viewer extension SARIF Web Viewer python3 scripts/scan.py /path/to/skill --sarif > report.sarif python3 scripts/scan.py /path/to/skill --sarif -o /path/to/output
Full rule definitions for all 65 detection patterns CWE taxonomy references (MITRE CWE 4.14) Partial fingerprints for deduplication across runs Security severity scores (2.0-10.0 scale) Skill-shield metadata in run properties (ratings, recommendation)
Regex patterns and string constants inside security tools (scanners, auditors) are no longer flagged as dangerous code. The scanner now recognizes when a pattern like rm -rf or curl POST appears inside a string literal (quotes, regex, array) and reduces severity accordingly.
Add # skill-shield: ignore-next-line above any line to suppress the next finding. Useful for known-safe patterns in security tools.
5 security audit tools reclassified from F to A/C/D (agents-skill-security-audit, ai-skill-scanner, skulk-skill-scanner, aoi-prompt-injection-sentinel, aoi-sandbox-shield-lite) 0 regressions on known-safe skills
Based purely on dangerous code patterns found in executable files. Not affected by permission declarations.
Based on permission declaration completeness: does SKILL.md declare the tools actually used in code?
Combines both ratings into an actionable recommendation: install โ Security A/B + Compliance A/B install_with_review โ Code is safe but permissions undeclared (likely poor docs, not malicious) review_required โ Security patterns flagged do_not_install โ Significant security concerns documentation_only โ No executable code (pure SKILL.md guidance)
JS template literals (backticks) no longer flagged as shell execution Variable names (hostname, whoami) no longer flagged as commands Shell script normal $VAR usage no longer floods findings os.environ.get("KEY") / process.env.KEY reduced severity (standard practice) --disable-setuid-sandbox (browser flag) reduced severity Documentation-only skills marked as N/A instead of getting A rating
CodeRatingsMeaning0A, BSafe to install1C, DReview recommended2FDo not install
Tips welcome: 0x6c730bDcfC762e23cE53aD991B75ab9852e87806 (Base) Moltbook: https://www.moltbook.com/u/Yuqian Twitter: @Yuqian0202
Identity, auth, scanning, governance, audit, and operational guardrails.
Largest current source with strong distribution and engagement signals.