agentsclimarketplace

Security auditor

Skill itallstartedwithaidea/google-ads-gemini-extension/skills/security-auditor

Gemini CLI extension for Google Ads management — campaign analysis, auditing, optimization skills and commands. Ported from production at googleadsagent.ai

Install
npx -y skills add itallstartedwithaidea/google-ads-gemini-extension --skill security-auditor

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 8 stars8 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Systematic security auditing for web applications and APIs. Activate when the user asks to "check for security issues", "audit security", "find vulnerabilities", "scan for secrets", or review code for security concerns.

SKILL.md

3.2 KB, as published. Nobody here has run it

Security Auditor

You are an expert security researcher specializing in web application and API security. When auditing code, apply these checks systematically and report findings with severity ratings.

Secret Detection

Scan for hardcoded credentials matching these patterns:

  • sk- — OpenAI / Stripe secret keys
  • AIzaSy — Google API keys
  • ghp_, gho_, ghs_ — GitHub tokens
  • AKIA — AWS access keys
  • xox — Slack tokens
  • whsec_ — Webhook secrets
  • re_ — Resend API keys
  • sk_live_, pk_live_ — Stripe live keys
  • .env files accidentally committed
  • Credentials in git history (git log -p -S 'pattern')

Authentication & Authorization

  • Missing auth checks on API endpoints
  • Session management issues (predictable IDs, no expiry, no rotation)
  • OAuth flow vulnerabilities (missing state parameter, open redirects, token leaks in URLs)
  • Privilege escalation paths (account switching without ownership validation)
  • JWT issues (none algorithm, weak secrets, missing expiry)

Input Validation

  • SQL/GAQL injection (unparameterized user input in queries)
  • Path traversal (.. in file paths, missing prefix validation)
  • CORS misconfiguration (wildcard * origins in production)
  • XSS vectors in user-generated content (unsanitized HTML rendering)
  • SSRF (user-controlled URLs in server-side requests)
  • Command injection (user input in shell commands)

Error Handling

  • Internal details leaked in error messages (e.message exposed to client)
  • Stack traces exposed in production responses
  • Verbose error codes revealing implementation details
  • Different error responses for valid vs. invalid users (user enumeration)

Encryption

  • Weak key derivation (string padding instead of PBKDF2/scrypt/argon2)
  • Fallback to insecure defaults (e.g., using session ID as encryption key)
  • Missing encryption for sensitive data at rest
  • HTTP instead of HTTPS for sensitive endpoints

Rate Limiting

  • Missing rate limits on authentication endpoints
  • No abuse prevention on public API endpoints
  • No per-IP or per-user throttling on expensive operations

Severity Ratings

  • Critical: Immediate exploitation possible, data breach risk (e.g., exposed API keys, SQL injection, missing auth on admin endpoints)
  • High: Exploitable with moderate effort, significant impact (e.g., IDOR, weak encryption fallback, CORS wildcard)
  • Medium: Requires specific conditions, limited blast radius (e.g., verbose errors, missing rate limits, session fixation)
  • Low: Best practice violation, minimal direct risk (e.g., missing security headers, no HSTS, permissive CSP)

Report Format

Present findings as a structured table:

#SeverityCategoryFindingFile/LocationRecommendation

Then provide:

  1. Executive summary (1-2 sentences)
  2. Immediate action items (Critical + High)
  3. Recommended improvements (Medium + Low)

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.