Zugriffsrechte prüfen
Prüft, dass Personen nur erlaubte Daten sehen und ändern können – auch bei Sammelaktionen und Datenexporten.
authorization-verification
Entdecke, wie der Skill hilftWann ist der Skill hilfreich?
Mit diesem Skill prüfst du Berechtigungen in konkreten Situationen statt nur für Administratoren und Gäste. Er berücksichtigt Eigentümer, Teams, Datensatzstatus sowie mögliche Datenlecks in Listen und Exporten.
Wobei hilft er dir?
- Erstellt Tests für erlaubte und verbotene Aktionen über Rollen, Eigentümer, Abteilungen und Organisationen hinweg.
- Prüft gesperrte Datensätze, Selbstfreigaben, abgelaufene Zugriffe und Freigaben auf Basis veralteter Daten.
- Kontrolliert, ob Suche, Zähler, Exporte und einzelne Felder denselben Zugriffsregeln folgen wie Detailseiten.
Das könntest du fragen
Prüfe die Kursberechtigungen: Lernende dürfen nur eigene Ergebnisse und Lehrende nur zugewiesene Kurse sehen. Teste auch direkte URLs, Exporte und widerrufene Zugriffe. Ordne die Lehrkraft einem anderen Kurs zu und wiederhole die Prüfungen. Alte Links und zwischengespeicherte Zählwerte dürfen frühere Lernergebnisse nicht mehr verraten.
Ausführliche Dokumentation
Hier findest du die ursprüngliche Anleitung, Beispiele und Prüfschritte des Skills in ihrer Originalsprache.
Weniger anzeigen
Authorization Verification
When to Use
Use when writing tests for or reviewing any role, permission, ownership rule, field mask, delegation grant, or approval workflow.
Combinatorial Policy Test Matrix
A test that only verifies admin can perform an action and guest gets 403 leaves the actual business rules untested. Derive test cases systematically from the cartesian boundary of (Actor Role & Relationship) × (Resource State & Value) × (Operation):
1. Required Positive & Negative Test Cases
For every protected operation, assert both authorized allow and unauthorized deny across:
- Role & Ownership Boundaries:
- Resource owner vs. non-owner peer in the same department.
- Department/team manager of the owner vs. manager of a different department.
- Read-only viewer/auditor vs. active editor.
- Cross-tenant user (member of Workspace B targeting a resource in Workspace A $\rightarrow$ must return
404without leaking existence).
- Resource Lifecycle State Boundaries:
- Action allowed in
draftstate (edit,delete) $\rightarrow$ must be denied once the resource transitions tosubmitted,approved,fulfilled, orlocked.
- Action allowed in
- Threshold & Separation-of-Duties (SoD) Boundaries:
- Value just below threshold (
9,999.99) vs. at/above threshold (10,000.00). - Self-Approval Attempt: The creator/requester of a request (even if they hold a
managerorapproverrole!) attempts to approve their own request $\rightarrow$ must be denied.
- Value just below threshold (
- Tampered / Stale Approval & TOCTOU Attempts:
- Modify a critical parameter (price, discount, recipient, bank account, quantity) on a request after it was approved, or submit an approval against a stale
version/ payload hash $\rightarrow$ must invalidate the approval or reject the commit.
- Modify a critical parameter (price, discount, recipient, bank account, quantity) on a request after it was approved, or submit an approval against a stale
2. Verify Side-Channel & Collection Enforcement
- List, Search, Count & Export Parity:
- Seed 3 records: one owned by the actor, one in another department (forbidden), and one in another tenant (forbidden).
- Assert that
list,search,count/aggregate, andexportreturn only the 1 permitted record and do not leak the existence or field values of the forbidden records in error messages or facet counts.
- Field-Level Redaction & Mass-Assignment Protection:
- Assert that restricted fields (
cost_price,internal_margin,ssn,approver_notes,role,status) are omitted from JSON responses for unauthorized roles and rejected/ignored when injected intoPOST/PATCHpayloads.
- Assert that restricted fields (
- Delegation & Revocation Expiry:
- Advance the test clock past
expires_at(or revoke the grant/role) and assert that immediate subsequent calls and queued delayed actions are rejected.
- Advance the test clock past
Enthaltene Dateien 1
SKILL.md
