Keycloak Auditor

Modular Keycloak security auditing framework with Nuclei integration

View on GitHub

Tutorial

This tutorial walks through using Keycloak Auditor to assess a Keycloak deployment.

Prerequisites

Install

pip install -e .

Quickstart

Enumerate public endpoints and generate a basic audit:

keycloak-auditor \
  --base-url https://kc.example.com \
  --realm master \
  --out audit-output enumerate

keycloak-auditor \
  --base-url https://kc.example.com \
  --realm master audit

Run Nuclei scans using local templates and wordlists:

keycloak-auditor \
  --base-url https://kc.example.com \
  --realm master \
  --use-wordlists \
  --wordlists-dir wordlists \
  --nuclei-templates nuclei-templates \
  scan --workflow

Generate a final report:

keycloak-auditor \
  --base-url https://kc.example.com \
  --realm master report

Authenticated Enumeration

To enumerate realms, clients, roles, and more, provide a client credentials token:

keycloak-auditor \
  --base-url https://kc.example.com \
  --realm master \
  --client-id admin-cli \
  --client-secret $SECRET \
  enumerate

Performance and Safety

Outputs

Artifacts written to audit-output/ by default:

Report Formats

Generate different report formats:

# All formats (default)
keycloak-auditor --base-url https://kc.example.com --realm master report

# HTML only (interactive with charts)
keycloak-auditor --base-url https://kc.example.com --realm master report --format html

# SARIF for CI/CD integration
keycloak-auditor --base-url https://kc.example.com --realm master report --format sarif

Extending the Framework