Skip to content
Security
Skill

/access-control-test

Test a web app's authorization: IDOR/BOLA, missing function-level access control, privilege escalation (horizontal and vertical), and forced browsing. Use to validate OWASP A01 on an authorized target — the most prevalent web risk.

From plugin
awesome-claude-security
11111 skills17 agents13 commands1 MCP

Claude Code

$ npx -y skills add jassics/awesome-claude-security --skill access-control-test --agent claude-code

SKILL.md

access-control-test.SKILL.md
name: access-control-test
description: >-
  Test a web app's authorization: IDOR/BOLA, missing function-level access control,
  privilege escalation (horizontal and vertical), and forced browsing. Use to
  validate OWASP A01 on an authorized target — the most prevalent web risk.

Goal

Evidence on whether the app enforces authorization server-side on every object and function, tied to the authenticated user — or whether a user can reach data/actions they shouldn't.

Prerequisites

  • Authorization to test, ideally two accounts at different privilege levels (User

A, User B, and an admin) with identifiable resources.

Test cases

1. **IDOR / BOLA (horizontal)** — as User A, manipulate object identifiers (IDs, UUIDs, filenames, GUIDs in URLs/bodies/JWT) to access User B's resources. 2. **Function-level (vertical)** — call admin/privileged endpoints as a normal user; check hidden/undocumented functions and HTTP-method overrides. 3. **Forced browsing** — request resources/pages not linked for your role. 4. **Privilege escalation** — tamper with role/tenant claims (JWT, cookies, hidden fields, mass-assignment) to elevate. 5. **Missing ownership checks on writes** — update/delete another user's object.

Steps

1. Map roles and sensitive objects/functions. 2. Run cases as the lower-privilege identity; never use the higher account's session to "prove" access. 3. Record per case: enforced / leaked / action-performed, with request+response evidence (redact secrets). 4. Identify the gap: client-side-only checks, IDs trusted from the request, missing server-side ownership/role enforcement.

Output

A results table: case · object/function · result · evidence · remediation (deny-by-default, server-side authz tied to identity). Confirmed issues → `security-reporting:finding` (rate high+ for cross-user data access).

Notes

Authorization must be enforced on the **server**, per object and per function, against the authenticated identity — never trust IDs, roles, or tenant hints from the client. This is the same class as API `BOLA/BFLA` — see `api-security`.

Read more
@jassics
Ships withawesome-claude-security

A Claude Code plugin marketplace for the full cybersecurity & GenAI-security lifecycle — from recon and threat modeling to detection engineering, GRC, and CISO-level strategy. A pentester knows which OWASP test bends a broken-access-control endpoint.

11111 skills17 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
11
Star history of jassics/awesome-claude-security on GitHub, a chart by star-history.com

Other skills on awesome-claude-security.

More skills from other plugins.

api-security

api-security

Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…

@zhaoxuya520@zhaoxuya520Install Skill
nemoclaw-user-guide

nemoclaw-user-guide

Find official NemoClaw documentation for installation, configuration, operation, or troubleshooting. Also handles requested docs…

nemoclaw12d23k
@nvidia@nvidiaInstall Skill

Questions about access-control-test.

Which coding agents can use access-control-test?
access-control-test installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.