360 Secure SkillHub
360 安全技能中心

Pincer

pincer 是 clawhub install 的安全封装:安装前调用 mcp-scan 并检测 base64/hex、curl|sh、Gatekeeper 绕过等可疑模式,按 CLEAN/CAUTION/DANGER/MALWARE/BLOCKED 分级决定放行或拦截,另提供 scan、audit、trust 与 history 子命令,配置存于 ~/.config/pincer/confi…

panzacoder
panzacoder
热度 65.68
最近更新 2026-05-11 15:54:35
分类:安全依赖:代码执行 / 读写文件 / 第三方 API应用场景:工作流 / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add pincer
Metadata
name
pincer
description
Security-first wrapper for installing agent skills. Scans for malware, prompt injection, and suspicious patterns before installation. Use instead of `clawhub install` for safer skill management.
homepage
https://github.com/panzacoder/pincer
metadata
{"openclaw":{"emoji":"🦞","requires":{"bins":["pincer"]},"install":[{"id":"symlink","kind":"script","label":"Install pincer to PATH","script":"chmod +x \"${SKILL_DIR}/scripts/pincer.sh\"\nmkdir -p ~/.local/bin\nln -sf \"${SKILL_DIR}/scripts/pincer.sh\" ~/.local/bin/pincer\necho \"\"\necho \"✅ pincer installed!\"\necho \"\"\necho \"Make sure ~/.local/bin is in your PATH:\"\necho ' export PATH=\"$HOME/.local/bin:$PATH\"'\necho \"\"\necho \"Usage:\"\necho \" pincer install <skill> # Safe install with scanning\"\necho \" pincer scan <skill> # Scan without installing\"\necho \" pincer audit # Scan all installed skills\"\necho \"\"\n"}]}}

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

# 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

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

# With specific version
pincer install some-skill@1.2.0

Scan Without Installing

# 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

# Quick-scan all installed skills
pincer audit

# JSON output
pincer audit --json

Manage Trust

# 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

# See what you've installed
pincer history

# JSON output
pincer history --json

Configuration

# 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

Pattern Risk Description
Base64 commands 🚨 High Encoded shell commands
Hex payloads 🚨 High Obfuscated binary data
xattr -d quarantine 🚨 High macOS Gatekeeper bypass
curl | sh 🚨 High Pipe to shell execution
Password archives 🚨 High Hidden malicious payloads
Download + execute ⚠️ Medium chmod +x && ./ patterns
eval $var ⚠️ Medium Dynamic code execution
Hidden files ⚠️ Medium Dot-file creation
Persistence ⚠️ Medium cron/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

Level Meaning Action
✅ CLEAN No issues Auto-approve if trusted publisher
⚠️ CAUTION Warnings present Prompt for approval
🚨 DANGER Suspicious patterns Block (override with --force)
☠️ MALWARE Known malicious Block (cannot override)
⛔ BLOCKED On blocklist Block (cannot override)

Configuration

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

{
  "trustedPublishers": ["openclaw", "steipete", "invariantlabs-ai"],
  "blockedPublishers": [],
  "blockedSkills": [],
  "autoApprove": "clean",
  "logInstalls": true,
  "minDownloads": 0,
  "minAgeDays": 0
}
Key Description
trustedPublishers Publishers whose clean skills auto-approve
blockedPublishers Always block these publishers
blockedSkills Always block these specific skills
autoApprove "clean" = auto-approve clean+trusted, "never" = always prompt
logInstalls Log installations to history file
minDownloads Warn if skill has fewer downloads
minAgeDays Warn if skill is newer than N days

Examples

Clean Install

$ 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

$ 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. 🛡️