
Security Auditor
- 777 installs
- 51 repo stars
- Updated November 25, 2025
- ovachiever/droid-tings
security-auditor is an agent skill that automatically detects OWASP Top 10 vulnerabilities such as SQL injection, XSS, and exposed secrets in code for developers who need pre-production security alerts with concrete fixe
About
security-auditor is an agent skill from ovachiever/droid-tings that performs automatic OWASP Top 10 and security vulnerability detection while developers write or review code. It immediately flags issues such as SQL injection from string-interpolated queries, cross-site scripting, exposed API keys, weak authentication, authorization problems, security misconfigurations, and insecure data storage. Severity levels separate CRITICAL exploitable vulnerabilities from HIGH-risk findings so teams prioritize fixes before merge or deploy. Example output cites the vulnerable line, proposes a parameterized query fix, and links to OWASP guidance such as SQL injection documentation. Developers reach for security-auditor when they want continuous appsec feedback inside the agent session instead of waiting for a separate SAST scan or manual penetration test on every change.
- Detects 7 core vulnerability types including SQL Injection, XSS, exposed secrets, weak authentication and insecure data
- Four severity levels: CRITICAL, HIGH, MEDIUM, LOW with concrete fix suggestions and OWASP links
- Triggers on file changes, security mentions, or deployment prep
- Integrates with secret-scanner skill and code-reviewer sub-agent
- Delivers severity-bucketed findings with remediation steps
Security Auditor by the numbers
- 777 all-time installs (skills.sh)
- Ranked #432 of 2,203 Security skills by installs in the Skillselion catalog
- Security screen: MEDIUM risk (skills.sh audit)
- Data as of Jul 27, 2026 (Skillselion catalog sync)
npx skills add https://github.com/ovachiever/droid-tings --skill security-auditorAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 777 |
|---|---|
| repo stars | ★ 51 |
| Security audit | 2 / 3 scanners passed |
| Last updated | November 25, 2025 |
| Repository | ovachiever/droid-tings ↗ |
How do you catch OWASP Top 10 issues in code?
Automatically catch OWASP Top 10 vulnerabilities like SQL injection, XSS, and exposed secrets before they reach production.
Who is it for?
Developers who want automatic OWASP Top 10 and secrets detection with inline fix suggestions during active coding or review sessions.
Skip if: Teams needing full compliance audit reports, infrastructure pentesting, or formal SOC2 evidence collection beyond application code vulnerability patterns.
When should I use this skill?
The developer writes database queries, handles user input, stores credentials, or asks for a security review before shipping code.
What you get
Line-level security findings with CRITICAL or HIGH severity, suggested remediations, and OWASP reference links for each detected vulnerability.
- Security finding reports
- Suggested code fixes
By the numbers
- Covers OWASP Top 10 vulnerability classes
- Uses 2 severity tiers: CRITICAL and HIGH
Files
Security Auditor Skill
Automatic security vulnerability detection.
When I Activate
- ✅ Code files modified (especially auth, API, database)
- ✅ User mentions security or vulnerabilities
- ✅ Before deployments or commits
- ✅ Dependency changes
- ✅ Configuration file changes
What I Scan For
OWASP Top 10 Patterns
1. SQL Injection
// CRITICAL: SQL injection
const query = `SELECT * FROM users WHERE id = ${userId}`;
// SECURE: Parameterized query
const query = 'SELECT * FROM users WHERE id = ?';
db.query(query, [userId]);2. XSS (Cross-Site Scripting)
// CRITICAL: XSS vulnerability
element.innerHTML = userInput;
// SECURE: Use textContent or sanitize
element.textContent = userInput;
// or
element.innerHTML = DOMPurify.sanitize(userInput);3. Authentication Issues
// CRITICAL: Weak JWT secret
const token = jwt.sign(payload, 'secret123');
// SECURE: Strong secret from environment
const token = jwt.sign(payload, process.env.JWT_SECRET);4. Sensitive Data Exposure
# CRITICAL: Exposed password
password = "admin123"
# SECURE: Environment variable
password = os.getenv("DB_PASSWORD")5. Broken Access Control
// CRITICAL: No authorization check
app.delete('/api/users/:id', (req, res) => {
User.delete(req.params.id);
});
// SECURE: Authorization check
app.delete('/api/users/:id', auth, checkOwnership, (req, res) => {
User.delete(req.params.id);
});Additional Security Checks
- Insecure Deserialization
- Security Misconfiguration
- Insufficient Logging
- CSRF Protection Missing
- CORS Misconfiguration
Alert Format
🚨 CRITICAL: [Vulnerability type]
📍 Location: file.js:42
🔧 Fix: [Specific remediation]
📖 Reference: [OWASP/CWE link]Severity Levels
- 🚨 CRITICAL: Must fix immediately (exploitable vulnerabilities)
- ⚠️ HIGH: Should fix soon (security weaknesses)
- 📋 MEDIUM: Consider fixing (potential issues)
- 💡 LOW: Best practice improvements
Real-World Examples
SQL Injection Detection
// You write:
app.get('/users', (req, res) => {
const sql = `SELECT * FROM users WHERE name = '${req.query.name}'`;
db.query(sql, (err, results) => res.json(results));
});
// I alert:
🚨 CRITICAL: SQL injection vulnerability (line 2)
📍 File: routes/users.js, Line 2
🔧 Fix: Use parameterized queries
const sql = 'SELECT * FROM users WHERE name = ?';
db.query(sql, [req.query.name], ...);
📖 https://owasp.org/www-community/attacks/SQL_InjectionPassword Storage
# You write:
def create_user(username, password):
user = User(username=username, password=password)
user.save()
# I alert:
🚨 CRITICAL: Storing plain text password (line 2)
📍 File: models.py, Line 2
🔧 Fix: Hash passwords before storing
from bcrypt import hashpw, gensalt
hashed = hashpw(password.encode(), gensalt())
user = User(username=username, password=hashed)
📖 Use bcrypt, scrypt, or argon2 for password hashingAPI Key Exposure
// You write:
const stripe = require('stripe')('sk_live_abc123...');
// I alert:
🚨 CRITICAL: Hardcoded API key detected (line 1)
📍 File: payment.js, Line 1
🔧 Fix: Use environment variables
const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY);
📖 Never commit API keys to version controlDependency Scanning
I can run security audits on dependencies:
# Node.js
npm audit
# Python
pip-audit
# Results flagged with severityRelationship with @code-reviewer Sub-Agent
Me (Skill): Quick vulnerability pattern detection @code-reviewer (Sub-Agent): Deep security audit with threat modeling
Workflow
1. I detect vulnerability pattern 2. I flag: "🚨 SQL injection detected" 3. You want full analysis → Invoke @code-reviewer sub-agent 4. Sub-agent provides comprehensive security audit
Common Vulnerability Patterns
Authentication
- Weak password policies
- Missing MFA
- Session fixation
- Insecure password storage
Authorization
- Missing access control
- Privilege escalation
- IDOR (Insecure Direct Object Reference)
Data Protection
- Unencrypted sensitive data
- Weak encryption algorithms
- Missing HTTPS
- Insecure cookies
Input Validation
- SQL injection
- Command injection
- XSS
- Path traversal
Sandboxing Compatibility
Works without sandboxing: ✅ Yes Works with sandboxing: ✅ Yes
Optional: For dependency scanning
{
"network": {
"allowedDomains": [
"registry.npmjs.org",
"pypi.org",
"api.github.com"
]
}
}Integration with Tools
With secret-scanner Skill
security-auditor: Checks code patterns
secret-scanner: Checks for exposed secrets
Together: Comprehensive security coverageWith /review Command
/review --scope staged --checks security
# Workflow:
# 1. My automatic security findings
# 2. @code-reviewer sub-agent deep audit
# 3. Comprehensive security reportCustomization
Add company-specific security patterns:
cp -r ~/.claude/skills/security/security-auditor \
~/.claude/skills/security/company-security-auditor
# Edit SKILL.md to add:
# - Internal API patterns
# - Company security policies
# - Custom vulnerability checksLearn More
- OWASP Top 10
- CWE Top 25
- Security Best Practices
Security Auditor Skill
Automatic OWASP Top 10 and security vulnerability detection
Quick Example
// You write:
const query = `SELECT * FROM users WHERE id = ${userId}`;
// Skill immediately alerts:
🚨 CRITICAL: SQL injection vulnerability (line 1)
🔧 Fix: const query = 'SELECT * FROM users WHERE id = ?';
📖 https://owasp.org/www-community/attacks/SQL_InjectionWhat It Detects
- 🚨 SQL Injection
- 🚨 XSS (Cross-Site Scripting)
- 🚨 Exposed Secrets & API Keys
- 🚨 Weak Authentication
- 🚨 Authorization Issues
- ⚠️ Security Misconfigurations
- ⚠️ Insecure Data Storage
Severity Levels
- 🚨 CRITICAL: Exploitable vulnerabilities
- ⚠️ HIGH: Security weaknesses
- 📋 MEDIUM: Potential issues
- 💡 LOW: Best practices
Integration
- secret-scanner skill: Detects exposed credentials
- @code-reviewer sub-agent: Deep security audit
- /review command: Comprehensive security review
See SKILL.md for full documentation.
Related skills
How it compares
Pick security-auditor over generic lint rules when you need OWASP-focused vulnerability detection with inline remediations during agent-assisted coding.
FAQ
Which vulnerabilities does security-auditor detect?
security-auditor detects OWASP Top 10 patterns including SQL injection, XSS, exposed secrets and API keys, weak authentication, authorization issues, security misconfigurations, and insecure data storage. Findings include CRITICAL and HIGH severity levels.
What does security-auditor output for each finding?
security-auditor reports the vulnerable line, assigns CRITICAL or HIGH severity, suggests a concrete fix such as parameterized queries, and links to relevant OWASP documentation for the attack class detected.
Is Security Auditor safe to install?
skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.