npx claudepluginhub mbwsims/claude-universe --plugin universeThis skill is limited to using the following tools:
Perform a security-focused code review. Unlike a general code review (style, correctness,
Performs security code reviews identifying high-confidence exploitable vulnerabilities like injection, XSS, authentication issues after tracing data flows and validation.
Audits code for vulnerabilities using OWASP checklist on injection, authentication, authorization, secrets, input validation, configuration, dependencies, and cryptography risks.
Scans codebases for OWASP Top 10 vulnerabilities via static analysis: secret exposure, injection flaws, auth/authz gaps, supply-chain risks, misconfigurations, logging failures. Use before deployments, PR merges, auth/payment changes.
Share bugs, ideas, or general feedback.
Perform a security-focused code review. Unlike a general code review (style, correctness, performance), this review asks one question: can this code be exploited?
Reads the code with an attacker's mindset. Traces data from untrusted sources through processing to storage/output. Identifies where validation is missing, where authorization is incomplete, and where assumptions can be broken.
Call shieldkit_scan with the target file. If available, use the structured findings
(SQL injection, missing auth, hardcoded secrets, dangerous functions) as a starting point.
Then go deeper with semantic analysis below.
If unavailable, proceed directly to manual analysis.
Read the target code. For each function or handler, ask:
For each piece of untrusted input (request params, body, headers, URL, cookies, uploaded files, webhook payloads), trace it through the code:
Input source → Validation → Processing → Storage/Output
At each step, check:
For every operation that modifies data or accesses resources:
Ownership verification methodology:
findById(req.params.id))Example of MISSING ownership:
const order = await Order.findById(req.params.orderId); // Anyone can access any order
Example of CORRECT ownership:
const order = await Order.findOne({ _id: req.params.orderId, userId: req.user.id });
Errors are a common source of information disclosure:
crypto.timingSafeEqual()),
and ensure login flows take the same time regardless of whether the user existsReport format:
## Security Review — {file}
**Risk Level: {Critical / High / Medium / Low / Clean}**
### Findings
1. **{Vulnerability type}** — Line {n}
**Severity:** {Critical/High/Medium/Low}
**Data flow:** {untrusted source} → {processing step} → {vulnerable operation}
**Attack:** {How an attacker would exploit this}
**Fix:** {Specific code change}
2. ...
### Secure Patterns Found
{Acknowledge what's done well — auth checks, parameterized queries, etc.}
### Recommendations
{Prioritized list of changes to make}
/scan — Use for broader vulnerability coverage across the project/threat-model — Use for strategic risk assessment of features and systemsreferences/review-checklist.md — Quick-reference checklist for security review
organized by code area (routes, auth, database, file handling, etc.)