OpenClaw skill + npm package that scans installed ClawHub skills for known malicious patterns, IoCs, and security risks.
ClawHub (the OpenClaw skill marketplace) has a massive malware problem:
- 534 critical vulnerabilities found by Snyk (Feb 2026)
- 341 skills distributing Atomic Stealer (AMOS) malware ("ClawHavoc")
- 76 confirmed malicious payloads for credential theft
- Known C2 server: 91.92.242.30
TypeScript, published to npm.
- Scan installed skills - Read all skills from
~/.openclaw/skills/and ClawHub cache - Pattern matching - Check for known malicious patterns:
- Credential harvesting (API keys, tokens, SSH keys, browser data)
- Data exfiltration (outbound HTTP to suspicious domains/IPs)
- Prompt injection attempts in skill descriptions/instructions
- Obfuscated code (base64 encoded commands, eval(), dynamic imports)
- Known malicious C2 IPs/domains (hardcoded + updatable list)
- Suspicious file access patterns (~/.ssh, ~/.aws, browser profiles, keychain)
- Integrity check - Hash verification against known-good versions
- Report generation - Clean, human-readable report with severity levels
HIGH: eval(), Function(), child_process.exec with dynamic input
HIGH: fetch/axios/http to IP addresses or non-standard ports
HIGH: Access to ~/.ssh, ~/.aws, ~/.gnupg, browser profile dirs
HIGH: Base64 decode + exec patterns
HIGH: Known C2 IPs (91.92.242.30, etc.)
MEDIUM: Broad file system reads outside skill directory
MEDIUM: Environment variable harvesting (process.env iteration)
MEDIUM: Clipboard access
LOW: Network calls to unrecognized domains
LOW: Large encoded strings (>500 chars base64)
# Scan all installed skills
clawhub-scanner scan
# Scan specific skill
clawhub-scanner scan --skill my-skill
# Update threat intelligence
clawhub-scanner update
# Output JSON for automation
clawhub-scanner scan --json
# Verbose mode
clawhub-scanner scan -vsrc/
index.ts # Main entry point + CLI
scanner.ts # Core scanning logic
patterns.ts # Detection rules/patterns
indicators.ts # Known IoCs (IPs, domains, hashes)
reporter.ts # Output formatting
types.ts # TypeScript types
tests/
scanner.test.ts
patterns.test.ts
package.json
tsconfig.json
README.md
LICENSE # MIT
- TypeScript, Node.js 18+
- No heavy dependencies - keep it lean
- vitest for tests
- Commander.js for CLI
- chalk for colored output
- Scope: @elvatis_com
npm publish --access public
- All functions typed
- Tests for every detection pattern
- README with usage examples and screenshots of output