OfficialToolMonitoring / AuditActive
kcwarden
Security audit tool for Keycloak configuration.Keycloak設定のセキュリティ監査ツール
- ★
- 135
- Forks
- 10
- Contributors
- 10
- Updated
- 2026-10-26
- KC
- —
- License
- Apache-2.0
What it can doできること5
- Audit a realm export for security and correctness misconfigurations, based on the OAuth 2.0 Security BCP (RFC 9700) plus Keycloak-specific checks.realmエクスポートを解析し、OAuth 2.0 Security BCP(RFC 9700)とKeycloak固有のルールでセキュリティ・設定ミスを検出
- Check OIDC clients in depth (PKCE, implicit/direct grants, wildcard or plain-HTTP redirect URIs, web origins, full scope, offline access, token lifespans) and service accounts.OIDCクライアント(PKCE、Implicit/Direct Grant、ワイルドカードやHTTPのリダイレクトURI、Web Origins、Full Scope、オフラインアクセス、トークン有効期間)とサービスアカウントを詳しくチェック
- "Monitors" flag config drift specific to your setup, e.g. which groups hold a sensitive role, against an allowlist.「Monitor」で、機密ロールを持つグループなど環境固有の設定のずれを、許可リストと照合して検出
- Download the config itself (password or service-account auth) and output findings as txt, CSV or JSON, with severity filters.設定の取得(パスワード認証またはサービスアカウント)も自分ででき、結果はtxt/CSV/JSONで出力、重大度で絞り込み可能
- Fail CI pipelines on findings (exit code 42), silence findings via a config file, and add custom auditors as plugins.検出時にCIを失敗させられる(終了コード42)。設定ファイルで検出の抑制、プラグインで独自Auditorの追加も可能
What it cannot do / limitsできないこと・制約4
- Not a Keycloak extension — a Python CLI / container that analyses exported configuration.Keycloak拡張ではなく、エクスポートした設定を解析するPythonのCLI/コンテナ
- Still in beta and does not cover all of Keycloak — IdPs are only lightly checked.まだベータ版で、Keycloakのすべては網羅していない。IdPは軽くチェックする程度
- Per its coverage page, LDAP/SAML IdPs, user federation, IdP mappers, authentication flows and required actions are not audited at all (some SAML client checks exist).カバー範囲のページによると、LDAP/SAMLのIdP、ユーザーフェデレーション、IdPマッパー、認証フロー、Required Actionは監査対象外(SAMLクライアントのチェックは一部あり)
- It cannot know your context — environment-specific problems need hand-written monitors, and it tends to over-report.利用環境の事情はわからないため、固有の問題はMonitorを自分で書く必要がある。また検出は多めに出る傾向
Requirements前提条件
- Python (pip) or the container image, plus a realm export or an account with
manage-realm,manage-clientsandmanage-users.Python(pip)かコンテナイメージ。加えてrealmエクスポート、またはmanage-realm/manage-clients/manage-usersを持つアカウント