home / skills / mastra-ai / mastra / security-review
/templates/template-github-review-agent/workspace/skills/security-review
This skill helps you perform a security-focused code review by applying a comprehensive checklist to identify vulnerabilities across categories.
npx playbooks add skill mastra-ai/mastra --skill security-reviewReview the files below or copy the command above to add this skill to your agents.
---
name: security-review
description: Security-focused code review checklist for identifying vulnerabilities
version: 1.0.0
metadata:
tags:
- code-review
- security
---
# Security Review
When reviewing code for security issues, check each category below. Reference the detailed checklist in `references/security-checklist.md`.
## Injection Vulnerabilities
- SQL injection: Look for string concatenation in database queries
- Command injection: Check for unsanitized input passed to shell commands (`exec`, `spawn`)
- XSS: Look for unsanitized user input rendered in HTML/templates
- Path traversal: Check for user input in file paths without sanitization
## Authentication & Authorization
- Verify authentication checks on protected routes/endpoints
- Ensure authorization checks match the required access level
- Look for privilege escalation paths (e.g., user can modify other users' data)
- Check that password/token comparison uses constant-time comparison
## Secrets & Credentials
- Hardcoded API keys, passwords, tokens, or connection strings
- Secrets in configuration files that might be committed
- Sensitive data in logs or error messages
- Credentials passed via URL query parameters
## Input Validation
- Validate and sanitize all external input (user input, API responses, file contents)
- Check for missing or weak input validation on API endpoints
- Verify type coercion doesn't bypass validation
- Look for overly permissive CORS or CSP configurations
## Data Exposure
- Sensitive data returned in API responses unnecessarily
- PII or secrets in application logs
- Information leakage in error messages (stack traces, internal paths)
- Missing data encryption for sensitive fields
## Severity Levels
- 🔴 **CRITICAL**: Exploitable vulnerability (injection, auth bypass, exposed secrets)
- 🟠**HIGH**: Potential vulnerability that needs investigation
- 🟡 **MEDIUM**: Security weakness or missing best practice
- 🔵 **LOW**: Minor security improvement suggestion
This skill provides a focused security code-review checklist to help identify common vulnerabilities in TypeScript and JavaScript projects. It highlights injection risks, authentication and authorization gaps, secret leaks, input validation issues, and data exposure problems. The goal is to make reviews faster and to prioritize fixes by severity.
The skill inspects code patterns and review concerns across common attack surfaces: database queries, shell invocation, template rendering, file access, and API endpoints. It guides reviewers to look for hardcoded secrets, missing auth checks, weak validation, and sensitive data leakage, and maps findings to clear severity levels for triage. Use the checklist as a repeatable linting companion during pull-request reviews or security audits.
What severity level should I assign for a leaked API key in code?
Treat exposed API keys or credentials as CRITICAL because they are immediately exploitable; rotate keys and remove them from code.
How do I handle findings about missing input validation?
Classify missing validation as MEDIUM if no immediate exploit is visible, but prioritize adding schema validation and sanitization before release.