Was macht api-authorization-and-bola?
API-Autorisierung und BOLA-Testspielbuch. Verwenden, wenn APIs Objekt-IDs, verschachtelte Ressourcen, versteckte beschreibbare Felder oder schwache Autorisierung auf Funktionsebene offenlegen.
Verwendung
yak run api-authorization-and-bola --target https://api.example.com
Unterstützte Plattformen
- Claude Code
- Cursor
- Codex
- Weitere Yaklang-kompatible KI-Agenten
Konfiguration
| Variable | Beschreibung | Standard |
|---|---|---|
API_BASE_URL | Ziel-API-Basis-URL | Erforderlich |
AUTH_HEADER | Authentifizierungs-Header-Typ | Bearer |
USER_TOKEN | Token eines legitimen Benutzers | Erforderlich |
ADMIN_TOKEN | Token eines Administrator-Benutzers | Optional |
Ablauf
- API-Struktur entdecken – Endpunkte, Ressourcen und Autorisierungsschema identifizieren
- Vertrauensgrenzen überschreiten – Testfälle für Objekt-ID-Manipulation (z. B.
/users/123→/users/456) generieren - Autorisierte vs. nicht autorisierte Anfragen validieren – Erwartete und tatsächliche HTTP-Statuscodes vergleichen
- Bericht erstellen – Schwachstellen, Ausnutzungspfade und Abhilfeempfehlungen dokumentieren
Beispiele
# BOLA-Test auf Benutzer-API
yak run api-authorization-and-bola \
--target https://api.example.com/v1/users \
--user-token eyJhbGciOiJIUzI1NiIs... \
--admin-token eyJhbGciOiJIUzI1NiIs...
Abhilfeempfehlungen
- Implementieren Sie eine rollenbasierte Zugriffskontrolle (RBAC) für alle Endpunkte
- Verwenden Sie eindeutige, nicht aufzählbare Objekt-IDs (z. B. UUIDs)
- Validieren Sie die Autorisierung auf jeder Funktionsebene, nicht nur am API-Gateway
- Aktivieren Sie Ratenbegrenzung und Protokollierung für verdächtige Zugriffsmuster