From pqa
Performs a comprehensive security audit on a Claude Code plugin, detecting leaked secrets, unsafe paths, shell injection risks, sensitive files, and insecure scripts. Trigger: audit security, security scan, check for secrets, find vulnerabilities.
How this skill is triggered — by the user, by Claude, or both
Slash command
/pqa:audit-securityThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
> "Security is not a feature -- it is a property of the entire system."
"Security is not a feature -- it is a property of the entire system."
Performs a 6-category security scan on a Claude Code plugin: secret patterns, path security, hook command injection, sensitive files, and script safety. Produces a severity-classified report with specific remediation for each finding.
Receive target plugin path -- accept the plugin root directory as input. Confirm the directory exists and contains a plugin.json (or .claude-plugin/plugin.json) or recognizable plugin structure before proceeding.
Secret pattern detection -- scan all files for high-risk credential patterns:
sk-*, AKIA*, ghp_*, xox[bsp]-*password\s*=, secret\s*=, token\s*= (outside comments)BEGIN RSA PRIVATE KEY, BEGIN EC PRIVATE KEY, BEGIN OPENSSH PRIVATE KEY.env files containing KEY=, SECRET=, TOKEN=, PASSWORD=Path security analysis -- search for hardcoded or unsafe path usage:
/Users/, /home/, /opt/, C:\../ outside of comments and documentation${CLAUDE_PLUGIN_ROOT} -- flag any path that should be relative but is absoluteHook command security -- inspect all hook definitions for shell injection risks:
eval usage in hook commands$VAR instead of "$VAR")sh, bash, or execSensitive file detection -- glob for files that should not be in a plugin:
.env, .env.*.pem, .key, .p12, .pfxcredentials.json, service-account.jsonid_rsa, id_ed25519, *.pub (private key pairs)Script security -- evaluate shell scripts in scripts/ and hooks:
o+w)curl or wget without checksum or signature verificationchmod 777Generate security report -- compile all findings into a structured list with:
password=) in documentation or example files is mitigated by context checking, but edge cases remain.Bad finding:
WARNING: Possible secret found.
Missing: no file path, no line number, no pattern, no remediation.
Good finding:
CRITICAL | hooks/hooks.json:12 | Pattern: `sk-proj-*` (OpenAI API key) | Remediation: Remove the key, rotate it immediately, and use environment variables instead.
Includes: severity, exact file and line, matched pattern with classification, specific remediation.
.pem or .key files because only text content was searched.../ usage is benign because "it's in a comment" without actually verifying.${API_KEY} or <YOUR_TOKEN> in example files should be classified as INFO, not CRITICAL, since they are placeholders.npx claudepluginhub javimontano/jm-adk --plugin plugin-qaScans Claude Code plugins for execution surface risks, supply chain vulnerabilities, data exfiltration, and prompt injection. Applies context-aware severity rules to hooks, scripts, MCP configs, and documentation.
Scans third-party plugin skills for prompt injection, credential harvesting, exfiltration, and supply chain risks before installation. Auto-runs during setup.sh plugin install or via /just-ship-audit.
Audits Claude Code plugins for security vulnerabilities, best practices, CLAUDE.md compliance, marketplace readiness, git hygiene, performance, and UX. Produces scored reports using scans for secrets, dangerous commands, and structure validation.