agentleFS
boazsegevboazsegev/omoya/skills/analyzing-security/SKILL.md

analyzing-security

Skill1 starsChanged 6 days agoMITView on GitHub

This skill should be used when auditing code, configuration, dependencies or frontend markup for vulnerabilities, tracing untrusted input to sinks, confirming exploitability, rating severity, or writing security findings.

We split this skill into the rules it gives an agent

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

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    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:

    Run available static and dependency scanners.

    line 15
  2. Distinctive:

    Use the highest level that applies.

    line 38

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “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

Analyzing Security

Report only vulnerabilities with a plausible attack path. Without one, label the item a hardening concern, not a vulnerability. Never infer safety without file/line or config evidence.

Process

  1. Map the attack surface: routes and API handlers; auth, session, reset, MFA and admin flows; uploads, downloads and file paths; webhooks, queues, cron, CLI and IPC inputs; server-side fetches; templates, database, shell, deserializers, redirects.
  2. Trace each untrusted value (user, tenant, role, object ID, URL, path, serialized data, upload): source → validation/canonicalization → authorization → transform/store → sink.
  3. Mark each OWASP category pass, fail or N/A with evidence.
  4. Run available static and dependency scanners. Verify every finding manually; suppress only with a written justification.
  5. Confirm exploitability; rate severity.
  6. Repeat until no new sources, sinks, auth paths, dependency alerts or design flaws appear.

OWASP Checks

CategoryRequired checks
A01 Access Controlauthz on every sensitive endpoint; horizontal (object) and vertical (role) escalation blocked; path traversal blocked; no wildcard credentialed CORS
A02 CryptographyTLS 1.2+; no secrets/PII in source, logs, URLs or errors; passwords hashed with Argon2/bcrypt/scrypt/PBKDF2; CSPRNG for tokens; no ECB or static IVs
A03 Injectionparameterized queries; no shell with user input (argv arrays, allowlists); no user-controlled eval; output encoding matches the sink
A04 Insecure Designthreat model for sensitive features; rate limits; server-side business rules; re-auth for dangerous operations
A05 Misconfigurationdefaults and unused features removed; debug off; production hides stack traces; security headers set
A06 Componentsdependency audit run; critical/high CVEs and abandoned packages assessed for reachability
A07 Authenticationthrottled login; time-limited single-use reset tokens; logout invalidates session; long random session IDs; MFA for privileged users
A08 Integrityno deserialization of untrusted data into objects; pinned/signed CI actions, artifacts and images
A09 Loggingauth, authz failures and admin actions logged and alerted; no secrets/PII in logs
A10 SSRFserver-side fetches use host allowlists; block localhost, private, link-local and metadata ranges, including after redirects and DNS rebinding

Baseline headers: nonce/hash Content-Security-Policy (no 'unsafe-inline'/'unsafe-eval', with base-uri, form-action, frame-ancestors); X-Content-Type-Options: nosniff; HSTS; Referrer-Policy: strict-origin-when-cross-origin; restrictive Permissions-Policy.

Severity

Use the highest level that applies.

SeverityCriteriaExamples
Criticaleasy or unauthenticated exploit, catastrophic impactRCE, auth bypass, SQLi data dump, exposed credential
Highmajor data or system impact under conditionsprivilege escalation, sensitive-data exposure, privileged XSS, unsafe deserialization
Mediumlimited or interaction-dependent impactCSRF state change, weak reset, information leak
Lowdefense in depthverbose errors, weak cookie flags, missing rate limits

Fix Critical before deploy, High in the current cycle, Medium/Low in the backlog.

Finding Format

Order findings Critical → Low; use this structure for each:

SEVERITY: Critical | High | Medium | Low
TYPE: <class> (CWE-NNN)
LOCATION: <file:line>
VULNERABLE CODE: <exact snippet>
ATTACK SCENARIO: <step-by-step exploitation path>
IMPACT: <specific consequence>
REMEDIATION: <fixed code or exact corrective action>
REFERENCES: OWASP <AXX:YYYY category>; CWE-NNN; CVE (if any)

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.

Reviews can't be read right now.

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.