Skip to content
Back to skills

Security Scan

BSecurity

Scans the codebase for security vulnerabilities including injection flaws, authentication issues, hardcoded secrets, and insecure configurations. Run before any PR touching auth, user input, or external APIs.

  • 7 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 28, 2026
ai-agentspythonrustgojavabashsqlnodeawsgitapi

Works with

  • cli
  • api

Security analysis

B75/100
  • criticalAccesses sensitive system or user directories

Pro shows the line behind each finding and how to fix it

Scanned May 28, 2026

npx -y skills add viknesh20-20/claude-code-tool-kit --skill security-scan --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Security Scan?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Security Scan
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/viknesh20-20-security-scan/badge)](https://www.skillsdirectory.com/skills/viknesh20-20-security-scan)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: security-scan
description: "Scans the codebase for security vulnerabilities including injection flaws, authentication issues, hardcoded secrets, and insecure configurations. Run before any PR touching auth, user input, or external APIs."
argument-hint: "[file, directory, or 'all']"
allowed-tools: Read, Grep, Glob, Bash(git grep*), Bash(grep*)
---

# Security Vulnerability Scan

## Automated Secret Detection
!`git grep -rn "api_key\|apikey\|api-key\|secret\|password\|passwd\|token\|bearer\|private_key\|access_key\|client_secret\|auth_token" --include="*.ts" --include="*.js" --include="*.py" --include="*.go" --include="*.rs" --include="*.java" --include="*.rb" --include="*.cs" --include="*.env*" --include="*.yml" --include="*.yaml" --include="*.json" --include="*.toml" --include="*.cfg" --include="*.ini" --include="*.conf" 2>/dev/null | grep -v node_modules | grep -v .git | grep -v vendor | grep -v "\.lock" | grep -v "test" | grep -vi "example\|placeholder\|your_\|TODO\|FIXME\|change_me" | head -30`

## Environment Files Check
!`find . -name ".env*" -not -path "*/node_modules/*" -not -path "*/.git/*" 2>/dev/null`
!`cat .gitignore 2>/dev/null | grep -i "env\|secret\|key\|credential" || echo "WARNING: .gitignore may not exclude secret files"`

---

## Vulnerability Checklist

Scan the codebase systematically for each vulnerability class. For every finding:
- **Severity**: Critical / High / Medium / Low
- **File path and line number**
- **Vulnerability type** (CWE ID if known)
- **Description** of the risk
- **Remediation** steps with code

### 1. Injection Flaws
- **SQL Injection**: String concatenation in queries instead of parameterized/prepared statements
- **NoSQL Injection**: Unsanitized user input in MongoDB/DynamoDB queries
- **Command Injection**: User input passed to `exec`, `system`, `os.popen`, `subprocess` without sanitization
- **LDAP Injection**: Unsanitized input in LDAP queries
- **Path Traversal**: User input in file paths without normalization (`../../../etc/passwd`)
- **Template Injection**: User input rendered in templates without escaping (SSTI)

### 2. Cross-Site Scripting (XSS)
- Unescaped user input rendered in HTML
- `dangerouslySetInnerHTML` / `v-html` / `|safe` with user content
- Reflected XSS via URL parameters
- Stored XSS via database content rendered without sanitization
- DOM-based XSS via `document.write`, `innerHTML`, `eval`

### 3. Authentication & Authorization
- Missing authentication on sensitive endpoints
- Broken access control (IDOR — accessing other users' resources by ID)
- Missing rate limiting on login/auth endpoints
- JWT tokens without expiry or with weak signing algorithms (HS256 with weak secret)
- Session tokens in URLs or local storage
- Missing CSRF protection on state-changing operations

### 4. Hardcoded Secrets
- API keys, tokens, passwords in source code
- Private keys or certificates in the repository
- Database connection strings with embedded credentials
- Secret values in configuration files that should use env vars

### 5. Insecure Configuration
- Debug mode enabled in production configs
- Verbose error messages exposing stack traces or internals
- Open CORS policies (`Access-Control-Allow-Origin: *`)
- Missing security headers (CSP, HSTS, X-Frame-Options)
- Default credentials not changed
- Unnecessary ports or services exposed

### 6. Data Exposure
- Sensitive data in logs (passwords, tokens, PII)
- PII returned in API responses without need
- Missing encryption for data at rest or in transit
- Overly permissive file/directory permissions
- Backup files or source maps exposed in production

### 7. Dependency Vulnerabilities
- Check for known vulnerable dependencies using:
  - `npm audit` / `yarn audit` (Node.js)
  - `pip audit` / `safety check` (Python)
  - `go vuln check` (Go)
  - `cargo audit` (Rust)
  - `dotnet list package --vulnerable` (.NET)

---

## Output Format

### Findings by Severity

#### Critical (exploit possible, immediate fix required)
<!-- List findings -->

#### High (significant risk, fix before deploy)
<!-- List findings -->

#### Medium (should be addressed in next sprint)
<!-- List findings -->

#### Low (hardening recommendations)
<!-- List findings -->

### Security Score
Rate the overall security posture from **0 to 10** (10 = excellent, 0 = critical vulnerabilities present).

### Risk Assessment
Provide a paragraph summarizing the overall security state, the most concerning patterns, and the recommended order of remediation.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…