Installation

clawhub install panzacoder/pincer

Summary

Security-first wrapper for clawhub install . Scans skills for malware, prompt injection, and suspicious patterns before installation.

SKILL.md

pincer πŸ›‘οΈ

Security-first wrapper for clawhub install. Scans skills for malware, prompt injection, and suspicious patterns before installation.

Why?

Agent skills are powerful β€” they're basically executable documentation. The ClawHub ecosystem has already seen malware campaigns distributing infostealers via innocent-looking skills. pincer adds a security layer before you install anything.

Install

bash
# From ClawHub
clawhub install pincer

# Or manually
chmod +x ./scripts/pincer.sh
ln -sf "$(pwd)/scripts/pincer.sh" ~/.local/bin/pincer

Dependencies:

  • clawhub β€” for fetching skills
  • uvx β€” for mcp-scan (brew install uv)
  • jq β€” for JSON parsing

Usage

Safe Install

bash
# Instead of: clawhub install some-skill
pincer install some-skill

# With specific version
pincer install some-skill@1.2.0

Scan Without Installing

bash
# Scan a ClawHub skill
pincer scan some-skill

# Scan a local directory
pincer scan ./path/to/skill

# JSON output for automation
pincer scan some-skill --json

Audit Installed Skills

bash
# Quick-scan all installed skills
pincer audit

# JSON output
pincer audit --json

Manage Trust

bash
# Add trusted publisher (auto-approve clean skills)
pincer trust add steipete

# Remove from trusted
pincer trust remove old-publisher

# Block a publisher or skill
pincer trust block suspicious-dev
pincer trust block malware-skill

# Unblock
pincer trust unblock redeemed-dev

# List all trust settings
pincer trust list

View History

bash
# See what you've installed
pincer history

# JSON output
pincer history --json

Configuration

bash
# Show current config
pincer config show

# Edit in $EDITOR
pincer config edit

# Reset to defaults
pincer config reset

What It Checks

Via mcp-scan (Invariant Labs)

  • Prompt injection attacks
  • Malware payloads in natural language
  • Tool poisoning
  • Sensitive data exposure
  • Hard-coded secrets

Additional Pattern Detection

PatternRiskDescription
Base64 commands🚨 HighEncoded shell commands
Hex payloads🚨 HighObfuscated binary data
xattr -d quarantine🚨 HighmacOS Gatekeeper bypass
curl | sh🚨 HighPipe to shell execution
Password archives🚨 HighHidden malicious payloads
Download + execute⚠️ Mediumchmod +x && ./ patterns
eval $var⚠️ MediumDynamic code execution
Hidden files⚠️ MediumDot-file creation
Persistence⚠️ Mediumcron/launchd entries

Publisher & Provenance

  • Publisher reputation (trusted list)
  • Download count threshold
  • Skill age threshold
  • Blocklist checking

Binary Detection

  • Scans for bundled executables
  • Flags Mach-O, ELF, PE32 binaries

Risk Levels

LevelMeaningAction
βœ… CLEANNo issuesAuto-approve if trusted publisher
⚠️ CAUTIONWarnings presentPrompt for approval
🚨 DANGERSuspicious patternsBlock (override with --force)
☠️ MALWAREKnown maliciousBlock (cannot override)
β›” BLOCKEDOn blocklistBlock (cannot override)

Configuration

Config: ~/.config/pincer/config.json

json
{
  "trustedPublishers": ["openclaw", "steipete", "invariantlabs-ai"],
  "blockedPublishers": [],
  "blockedSkills": [],
  "autoApprove": "clean",
  "logInstalls": true,
  "minDownloads": 0,
  "minAgeDays": 0
}
KeyDescription
trustedPublishersPublishers whose clean skills auto-approve
blockedPublishersAlways block these publishers
blockedSkillsAlways block these specific skills
autoApprove"clean" = auto-approve clean+trusted, "never" = always prompt
logInstallsLog installations to history file
minDownloadsWarn if skill has fewer downloads
minAgeDaysWarn if skill is newer than N days

Examples

Clean Install

text
$ pincer install bird
πŸ›‘οΈ pincer v1.0.0

  β†’ Fetching bird from ClawHub...
  Publisher: steipete (trusted)
  Stats: 7363 downloads Β· 27 β˜… Β· created 1 month ago

πŸ›‘οΈ pincer Scanning bird...

  β†’ Running mcp-scan...
  βœ… mcp-scan: passed
  β†’ Checking for suspicious patterns...
  βœ… Pattern check: passed
  β†’ Checking external URLs...
  βœ… URL check: passed
  β†’ Checking for bundled binaries...
  βœ… Binary check: passed

Risk Assessment:
  βœ… CLEAN β€” No issues detected

  β†’ Auto-approved (clean + trusted config).
  β†’ Installing bird...
  βœ… Installed successfully!

Dangerous Skill Blocked

text
$ pincer install sketchy-tool
πŸ›‘οΈ pincer v1.0.0

  β†’ Fetching sketchy-tool from ClawHub...
  Publisher: newaccount (unknown)
  Stats: 12 downloads Β· 0 β˜… Β· created 2 days ago

πŸ›‘οΈ pincer Scanning sketchy-tool...

  β†’ Running mcp-scan...
  🚨 mcp-scan: high-risk warnings
  β†’ Checking for suspicious patterns...
  🚨 Pattern check: suspicious patterns found
    β€’ curl/wget piped to shell
    β€’ macOS quarantine removal (xattr)
  β†’ Checking external URLs...
  ⚠️ URL check: external URLs found
    β€’ http://sketchy-domain.xyz/install
  β†’ Checking for bundled binaries...
  βœ… Binary check: passed

Risk Assessment:
  🚨 DANGER β€” Suspicious patterns detected
    β€’ mcp-scan: high-risk patterns detected
    β€’ curl/wget piped to shell
    β€’ macOS quarantine removal (xattr)

  ☠️ Install blocked. Use --force to override (not recommended).

Credits

License

MIT


Stay safe out there. πŸ›‘οΈ

Recommended skills

Browse all β†’

Related guides

Hand-picked reading to help you choose, install, and use agent skills.