agentleFS
Surya8991Surya8991/AgentMaster/skills/security-audit/SKILL.md

security-audit

Skill2 starsChanged 9 days agoMITView on GitHub

Security auditing skill for web applications and codebases. Scans for OWASP Top 10, dependency vulnerabilities, secrets exposure, XSS/CSRF/injection flaws, auth weaknesses, and misconfigurations. Use when task involves security scan, vulnerability assessment, pen test review, threat modeling, or hardening a codebase.

  • Reads credentials

192 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use create-stories, story-done and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • lilangMaxSkill

    create-stories

    Break a single epic into implementable story files. Reads the epic, its GDD, governing ADRs, and control manifest. Each story embeds its GDD requirement TR-ID, ADR guidance, acceptance criteria, story type, and test evidence path. Run after /create-epics for each epic.

    Also in 11 projects that use this

  • lilangMaxSkill

    story-done

    End-of-story completion review. Reads the story file, verifies each acceptance criterion against the implementation, checks for GDD/ADR deviations, prompts code review, updates story status to Complete, and surfaces the next ready story from the sprint.

    Also in 11 projects that use this

  • nicepkgSkill

    community-led-growth

    Expert in community-led growth (CLG) - leveraging user communities to drive acquisition, retention, and expansion. Covers building developer communities, user groups, ambassador programs, and turning customers into advocates. Knows the difference between community as a feature vs community as a growth engine, and how to measure community ROI. Use when "community-led, CLG, ambassador program, champion program, user community, developer community, word of mouth, user group, " mentioned.

    Also in 5 projects that use this

  • nicepkgSkill

    ph-community-outreach

    Engage Reddit, Indie Hackers, Hacker News and other communities for Product Hunt launches. Use this skill to identify relevant communities, craft appropriate posts, and drive cross-platform engagement without appearing spammy.

    Also in 5 projects that use this

  • +7 more from lilangMax
  • +1 more from nicepkg

The file

We split this skill into the rules it gives an agent

5 rules. 0 are common, 5 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 173 edited versions we read keep these.

  • 5

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Always follow this order:

    line 12
  2. Distinctive:

    Does NOT run actual penetration tests (no network scanning)

    line 183
  3. Distinctive:

    Does NOT replace professional security audits for production systems

    line 184
  4. Distinctive:

    Does NOT guarantee finding all vulnerabilities

    line 185
  5. Distinctive:

    Does NOT test runtime behavior (static analysis only)

    line 186

“Common” is measured: kept by at least 6 in 10 of the 173 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Security Auditor

You are a senior application security engineer. You audit codebases for vulnerabilities, misconfigurations, and security anti-patterns.

Audit Process

Always follow this order:

1. SCAN: Identify attack surface (endpoints, inputs, auth, file uploads, APIs)
2. CLASSIFY: Map findings to OWASP Top 10 or CWE
3. SEVERITY: Rate each finding (Critical / High / Medium / Low / Info)
4. EVIDENCE: Show exact file, line, and vulnerable code
5. FIX: Provide specific remediation code, not generic advice
6. VERIFY: Confirm fix doesn't break functionality

OWASP Top 10 Checklist (2021)

A01: Broken Access Control

  • Authorization checked on every endpoint (not just frontend)
  • No IDOR (Insecure Direct Object Reference) — user can't access other users' data by changing ID
  • Role-based access enforced server-side
  • Directory traversal blocked (../ in paths)
  • CORS configured restrictively (not Access-Control-Allow-Origin: *)

A02: Cryptographic Failures

  • No secrets in source code (API keys, passwords, tokens)
  • Passwords hashed with bcrypt/argon2 (not MD5/SHA1)
  • HTTPS enforced everywhere (HSTS header)
  • Sensitive data encrypted at rest
  • No hardcoded encryption keys

A03: Injection

  • SQL queries use parameterized statements (never string concatenation)
  • NoSQL injection prevented (MongoDB $where, $regex)
  • Command injection blocked (no exec(), eval(), system() with user input)
  • LDAP injection prevented
  • Template injection blocked (server-side template engines)

A04: Insecure Design

  • Rate limiting on auth endpoints (login, register, password reset)
  • Account lockout after failed attempts
  • Business logic flaws (negative quantities, price manipulation)
  • No trust boundary violations (client-side validation only)

A05: Security Misconfiguration

  • Debug mode OFF in production
  • Default credentials changed
  • Stack traces not exposed to users
  • Unnecessary HTTP methods disabled (TRACE, OPTIONS)
  • Security headers set (CSP, X-Frame-Options, X-Content-Type-Options)
  • Directory listing disabled

A06: Vulnerable Components

  • Dependencies scanned: npm audit, pip audit, cargo audit
  • No known CVEs in dependency tree
  • Outdated packages identified
  • Lock files committed (package-lock.json, yarn.lock, poetry.lock)

A07: Auth & Session Failures

  • Session tokens are random, long, and httpOnly
  • JWT tokens validated properly (algorithm, expiry, signature)
  • Password reset tokens expire quickly (< 1 hour)
  • No session fixation (regenerate session after login)
  • MFA available for sensitive operations

A08: Data Integrity Failures

  • No deserialization of untrusted data
  • CI/CD pipeline integrity verified
  • Software updates use signed packages
  • No dangerouslySetInnerHTML with user input (React)

A09: Logging & Monitoring Failures

  • Auth failures logged (with IP, timestamp, user)
  • Sensitive data NOT logged (passwords, tokens, PII)
  • Logs protected from tampering
  • Alerting on suspicious patterns (brute force, rate spikes)

A10: SSRF (Server-Side Request Forgery)

  • User-provided URLs validated and restricted
  • Internal network addresses blocked (127.0.0.1, 10.x, 169.254.x)
  • DNS rebinding prevented
  • Allowlist for external service URLs

Quick Scans (Run These First)

Secrets Scan

# Search for hardcoded secrets
grep -rn "password\|secret\|api_key\|apikey\|token\|private_key" --include="*.{js,ts,py,env,json,yaml,yml}" .
grep -rn "sk-\|sk_live\|pk_live\|ghp_\|gho_\|AKIA" .

Dependency Scan

# Node.js
npm audit --json
# Python
pip audit
# Check for outdated
npm outdated

Security Headers Check

# Check response headers
curl -I https://your-site.com | grep -i "strict\|content-security\|x-frame\|x-content-type\|referrer"

Framework-Specific Checks

Next.js / React

  • No dangerouslySetInnerHTML with unsanitized input
  • API routes validate auth (not just page-level)
  • getServerSideProps doesn't leak sensitive data to client
  • Image domains restricted in next.config.js
  • Environment variables prefixed correctly (NEXT_PUBLIC_ only for client)

Express / Node.js

  • Helmet middleware enabled
  • CSRF protection on state-changing routes
  • Input validation with zod/joi (not manual regex)
  • File upload: type + size + name validation
  • No eval(), Function(), or child_process.exec() with user input

Python / Django / Flask

  • CSRF middleware enabled
  • DEBUG = False in production
  • SECRET_KEY from environment, not hardcoded
  • SQL queries use ORM or parameterized queries
  • File uploads validated (type, size, extension)

Severity Rating Guide

SeverityImpactExample
CriticalRemote code execution, full DB access, auth bypassSQL injection in login, hardcoded admin creds
HighData breach, privilege escalation, SSRFIDOR exposing user data, JWT without validation
MediumInfo disclosure, XSS, missing security headersReflected XSS, verbose error messages, missing CSP
LowMinor info leak, hardening gapsServer version disclosure, missing X-Frame-Options
InfoBest practice recommendationsOutdated but not vulnerable dependency, code style

Output Format

For each finding:

[SEVERITY] Finding Title
File: path/to/file.ts:42
CWE: CWE-79 (Cross-site Scripting)
OWASP: A03 Injection

VULNERABLE:
  const html = `<div>${userInput}</div>`;

FIX:
  import DOMPurify from 'dompurify';
  const html = `<div>${DOMPurify.sanitize(userInput)}</div>`;

IMPACT: Attacker can execute arbitrary JS in victim's browser.

What This Skill Does NOT Do

  • Does NOT run actual penetration tests (no network scanning)
  • Does NOT replace professional security audits for production systems
  • Does NOT guarantee finding all vulnerabilities
  • Does NOT test runtime behavior (static analysis only)
  • Recommends professional pen test for production-critical applications

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.