← Browse

@app-incubator-xyz/skill-vetter

B

Multi-scanner security gate. TRIGGER when: user mentions installing, adding, or reviewing a skill to Claude Code, OpenClaw, or any other AI agent. Detects malicious code, vulnerabilities, and suspicious patterns.

skillclaude

Install

agr install @app-incubator-xyz/skill-vetter --target claude

Writes 2 files into .claude/skills/, pinned to git-146864f2.

  • .claude/skills/skill-vetter/README.md
  • .claude/skills/skill-vetter/SKILL.md

Document


name: skill-vetter version: 1.0.0 user-invocable: true description: "Multi-scanner security gate. TRIGGER when: user mentions installing, adding, or reviewing a skill to Claude Code, OpenClaw, or any other AI agent. Detects malicious code, vulnerabilities, and suspicious patterns."

Skill Vetter

Security gate that runs multiple scanners against a skill before installation.

When to Use

Use before installing ANY skill to Claude Code, OpenClaw, or your other favorite AI agent — whether from ClawHub, GitHub, or any external source.

Ask the user: "Should I run skill-vetter on this before installing?" whenever they mention installing a new skill.

How to Run

Check dependencies first

bash {baseDir}/scripts/check-deps.sh

Fix any missing dependencies before proceeding.

Run the full scan

bash {baseDir}/scripts/vett.sh "<skill-name-or-path>"

The argument can be:

  • A ClawHub skill name: youtube-summarize
  • A GitHub URL: https://github.com/user/repo
  • A local path: /tmp/my-skill/

Interpret Results

VerdictMeaningAction
BLOCKEDCRITICAL or HIGH findingsDo NOT install. Show findings.
REVIEWMedium severity findingsShow findings, ask user to decide.
SAFEAll scanners passedProceed with installation.

After Verdict

Always show the user:

  1. Which scanners ran
  2. Which passed/failed
  3. Specific findings for anything flagged
  4. Your recommendation

Never install the skill automatically. Always confirm with the user after showing results.

Scanners Used

ScannerWhat It Checks
aguaraPrompt injection, obfuscation, suspicious LLM calls
skill-analyzerKnown malicious patterns, CVE database
secrets-scanHardcoded API keys, tokens, credentials
structure-checkMissing SKILL.md, malformed YAML, dangerous files

Example Output

════════════════════════════════════════════════════════════
SKILL VETTER — Security Scan: malicious-skill
Path: /tmp/skill-vetter-abc123/malicious-skill
════════════════════════════════════════════════════════════

[1/4] aguara............. ✅ PASS
[2/4] skill-analyzer..... ❌ FAIL (HIGH: prompt injection pattern)
[3/4] secrets-scan....... ⚠️  WARN (Medium: base64 encoded string)
[4/4] structure-check.... ✅ PASS

════════════════════════════════════════════════════════════
VERDICT: BLOCKED
Reasons: 1 HIGH, 1 MEDIUM
════════════════════════════════════════════════════════════

Do NOT install this skill. It contains:
- HIGH: Prompt injection in SKILL.md (line 47)
- MEDIUM: Base64 encoded string in scripts/run.sh (line 12)

Dependencies

  • aguara — Go-based prompt scanner
  • skill-analyzer — Cisco AI skill scanner (Python)
  • python3 — For additional checks
  • curl, jq — For API calls and JSON parsing

Run check-deps.sh to verify all tools are installed.

Trustgrade B

  • passBody integrity

    Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.

  • passType matchnot applicable to this artifact type

    Whether the artifact is really the kind of thing its metadata claims it is.

  • passFreshness

    How long since the source repository was last pushed to.

  • passPrompt injection

    Scans the artifact's own text for instructions aimed at your agent rather than at you.

  • warnLicenseno SPDX license detected

    Whether the source repository declares an SPDX license permissive enough to redistribute.

How the grade is calculated

Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:

  • Aevery check passed
  • Bone warning
  • Ctwo warnings
  • Dprompt injection or body integrity failed, or three warnings
  • Fone of those failed, and something else is wrong

These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.

Versions

  • git-146864f2a3222026-07-31