agentleFS
descopedescope/skills/skills/auth-review/SKILL.md

auth-review

Skill18 starsChanged 7 months agoMITView on GitHub

Static security review for authentication and authorization vulnerabilities. Use when the user invokes /auth-review, asks to audit auth, find identity breaches, review access control, hunt for IDOR/BOLA, or check authorization. Framework- and vendor-agnostic. Enumerates every route/endpoint, builds an authorization matrix, applies a vulnerability catalog, and writes a triage report ready to turn into issues or PRs.

2 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

15 rules. About 0 are common, 11 are distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈11

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Run these phases in order.

    line 18
  2. Distinctive:

    Before calling a check missing, confirm no upstream middleware, decorator, guard, filter, interceptor, framework default, or reverse proxy …

    line 38
  3. Very specific:

    Create ./auth-review/ if absent.

    line 42
  4. Distinctive:

    After writing, summarize severity counts to the user and point at the file path.

    line 53
  5. Very specific:

    Always include a CWE ID (e.g., CWE-287, CWE-639, CWE-862, CWE-863).

    line 63
  6. Distinctive:

    DO NOT modify source code.

    line 67
  7. Distinctive:

    DO NOT execute the application, run network probes, or make outbound requests.

    line 68
  8. Very specific:

    DO NOT report a finding without a file.ext:line reference and evidence snippet.

    line 69
  9. Distinctive:

    DO NOT flag a missing check before confirming no upstream middleware, guard, decorator, or proxy enforces it.

    line 70
  10. Distinctive:

    DO NOT invent CWE IDs, CVSS scores, or framework behaviors — if unsure, mark the finding "unconfirmed" and move it to Open Questions.

    line 71
  11. Very specific:

    DO NOT include secrets, tokens, private keys, or real user data in the report.

    line 72
  12. Distinctive:

    DO NOT commit the report to git unless the user asks.

    line 73
  13. Distinctive:

    DO NOT create GitHub issues or PRs directly.

    line 74
  14. Distinctive:

    DO NOT stop after finding one bug.

    line 75
  15. Distinctive:

    DO NOT trust code comments or documentation over the code itself.

    line 76

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 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

Auth Review

Perform a static, read-only security review of authentication and authorization in the current codebase. Framework- and vendor-agnostic. Output: a triage report in ./auth-review/ with findings ready to file as issues or PRs.

When to Use

  • User invokes /auth-review.
  • Requests like "audit auth", "find authz bugs", "review access control", "check for IDOR", "identity security review".
  • Pre-release hardening or post-incident forensic code review focused on identity.

Workflow

Run these phases in order. Do not skip ahead.

Phase 1 — Enumerate every entrypoint

Identify every code path reachable by an external or semi-trusted caller. See references/enumeration.md for exhaustive patterns. A single repo often mixes HTTP, GraphQL, WebSocket, queue consumers, serverless handlers, and admin CLIs — list them all.

Deliverable: an Endpoint Inventory table: method, path / trigger, handler (file:line), auth required? (y/n/unknown), roles or scopes, notes.

Reconcile against router files, OpenAPI specs, and GraphQL schemas before moving on.

Phase 2 — Build the authorization matrix

For each endpoint answer: who should reach this, and what does the code actually enforce? Use references/authz-matrix.md to infer the expected principal from conventions and classify gaps.

Deliverable: an Authorization Matrix table: endpoint, expected principal, enforced check (file:line), gap.

Phase 3 — Apply the vulnerability catalog

Walk references/vulnerability-catalog.md category by category. For each, run the detection heuristics, then read the matched files to confirm. Never flag from a grep hit alone.

Before calling a check missing, confirm no upstream middleware, decorator, guard, filter, interceptor, framework default, or reverse proxy enforces it. Trace at least one concrete caller path end-to-end for each finding. If a check is conditional, record the condition and whether an attacker controls it.

Phase 4 — Write the report

Create ./auth-review/ if absent. Write to ./auth-review/report-YYYY-MM-DD.md (append -HHMM if one already exists for today). Use the structure in references/report-template.md.

The report must include:

  1. Executive summary with counts by severity.
  2. Endpoint inventory (Phase 1).
  3. Authorization matrix (Phase 2).
  4. Findings — each with title, severity, CWE, file:line, evidence, exploit reasoning, remediation.
  5. "Issues to file" — findings pre-formatted as ready-to-paste issue bodies.
  6. Open questions the maintainer must answer.

After writing, summarize severity counts to the user and point at the file path. Do not create issues or PRs.

Severity Scale

LevelMeaning
HighExploitable by unauthenticated or low-privilege attacker; leads to account takeover, data breach, privilege escalation, or tenant crossing.
MediumRequires specific conditions, partial impact, or defense-in-depth failure.
LowHardening recommendation; minor information disclosure; missing best practice.

Always include a CWE ID (e.g., CWE-287, CWE-639, CWE-862, CWE-863). Use identifiers from references/vulnerability-catalog.md — do not invent IDs.

DO NOT

  • DO NOT modify source code. This skill is read-only.
  • DO NOT execute the application, run network probes, or make outbound requests.
  • DO NOT report a finding without a file.ext:line reference and evidence snippet.
  • DO NOT flag a missing check before confirming no upstream middleware, guard, decorator, or proxy enforces it.
  • DO NOT invent CWE IDs, CVSS scores, or framework behaviors — if unsure, mark the finding "unconfirmed" and move it to Open Questions.
  • DO NOT include secrets, tokens, private keys, or real user data in the report. Redact as [REDACTED].
  • DO NOT commit the report to git unless the user asks.
  • DO NOT create GitHub issues or PRs directly. Output issue-ready text and let the user file them.
  • DO NOT stop after finding one bug. Enumerate everything, then report.
  • DO NOT trust code comments or documentation over the code itself. A comment saying "admin only" is not a security control.

References

  • references/enumeration.md — entrypoint patterns across HTTP, GraphQL, WebSocket, RPC, serverless, and background stacks.
  • references/vulnerability-catalog.md — full taxonomy with detection heuristics, CWE IDs, and fixes.
  • references/authz-matrix.md — matrix schema and expected-principal inference rules.
  • references/report-template.md — exact report structure and issue-body format.

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.