KI-Tools & -Skripte
Keycloak-Realm-Prüfung
Prüfen Sie Keycloak-Realm-Exporte und Serverkonfiguration vor dem Import oder Deployment: Platzhalter in Redirect-URIs, sslRequired none, Client-Secrets und Signaturschlüssel in Exporten, literale Admin-Passwörter, start-dev in Deployments und schwache Login-Einstellungen.
Das bekommst du: 1 Datei · 50.95 KB · ZIP
Kaufoptionen ansehenProduktbeschreibung
Ein Client mit "*" unter Valid Redirect URIs lässt Keycloak Autorisierungscodes an jede beliebige Website senden, die ein Angreifer auswählt. Eine mit kc.sh export geschriebene Realm-Datei enthält jedes Client-Secret und die privaten Signaturschlüssel des Realms im Klartext, sodass jeder, der sie nach einem Commit findet, eigene Tokens signieren kann. Ein Kubernetes-Manifest, das start-dev mit KC_BOOTSTRAP_ADMIN_PASSWORD: admin ausführt, stellt den Master-Realm über unverschlüsseltes HTTP mit einem bekannten Passwort bereit. Dieser Skill findet diese und die anderen unten aufgeführten Keycloak-Fehler und sagt Ihnen, wie Sie jeden davon beheben.
Ihr Agent führt einen Scanner auf Ihrem Projekt aus: Realm-Exporte und -Importe (Realm-JSON, die Users-Dateien von kc.sh export, KeycloakRealmImport-Ressourcen, keycloak-config-cli-YAML und in einer ConfigMap abgelegtes Realm-JSON), keycloak.json-Adapterdateien, keycloak.conf sowie Keycloak-Einstellungen, wo auch immer sie stehen: KC_-Variablen und kc.sh-Argumente in Compose-Dateien, Kubernetes-Manifeste und Secrets, Helm-Values, die Ressource des Keycloak-Operators, Dockerfiles, systemd-Units und .env-Dateien. Er kennt die Standardwerte von Keycloak und seine integrierten Clients, behandelt Vault- und Umgebungsplatzhalter sowie maskierte Exportwerte als außerhalb der Datei gespeichert und unterscheidet ein lokales start-dev-Setup von einem Deployment. Realm-Dateien und Einstellungen unter Test-, Fixture-, Dev- oder Local-Pfaden (src/test/resources, integration-tests, e2e, kind-Cluster) werden als REVIEW statt BLOCK gemeldet. Er kontaktiert Keycloak nie und nutzt nie das Netzwerk. Er liefert BLOCK, REVIEW oder NOT FLAGGED mit Datei, Zeile, Begründung und einem sichereren Ansatz. Geheimnisse werden niemals ausgegeben.
Was geprüft wird
BLOCK (vor der Auslieferung beheben)
- K01: ein Realm mit sslRequired auf none
- K02: Redirect-URIs, die andere Hosts akzeptieren: "*", "https://*" oder ein Platzhalter direkt nach dem Host (auch Post-Logout-Redirect-URIs); Platzhalter für Loopback-Ports bei nativen Apps werden nicht gemeldet
- K03: Zugangsdaten in Realm- und Adapterdateien: Client-Secrets, Client-Secrets von Identity Providern, SMTP- und LDAP-Bind-Passwörter, Benutzerpasswörter, OTP-Seeds, Client-Secrets in keycloak.json
- K04: Schlüsselmaterial des Realms in einer Datei: private Schlüssel und Secrets von Key Providern, Keystore-Passwörter, private Schlüssel von SAML-Clients
- K05: literale Server-Passwörter: Bootstrap-Admin-Passwort (auch das veraltete KEYCLOAK_ADMIN_PASSWORD), Datenbankpasswort (auch innerhalb von KC_DB_URL), Keystore, Truststore und andere Passwort- oder Secret-Optionen von Keycloak, als KC_-Variablen, kc.sh-Argumente, keycloak.conf-Zeilen oder Operator-Optionen
- K06: start-dev in einem Kubernetes-Manifest, in Helm-Values, einer systemd-Unit oder einer Compose-Datei oder einem Dockerfile, die nach Produktion oder Staging benannt sind (kind-, minikube- und k3d-Setups erhalten stattdessen K20)
REVIEW (vor dem Release prüfen)
- K11: Clients mit aktiviertem Implicit Flow
- K12: öffentliche Clients mit Direct Access Grants (dem Password Grant)
- K13: abgeschaltete Brute-Force-Erkennung
- K14: keine Passwortrichtlinie, keine Mindestlänge oder eine Mindestlänge unter 8
- K15: "*" in den Web Origins eines Clients
- K16: öffentliche Clients, die kein PKCE mit S256 verlangen, ohne aktivierte Client-Richtlinie für öffentliche Clients, die es erzwingt
- K17: Lebensdauer von Access Tokens über einer Stunde
- K18: Selbstregistrierung im Master-Realm oder ohne E-Mail-Verifizierung
- K19: hostname-strict abgeschaltet, ohne dass in derselben Datei ein Hostname gesetzt ist
- K20: start-dev in einem Compose-Dienst, der seinen Port über 127.0.0.1 hinaus veröffentlicht, oder in einem Dockerfile, das nicht für die lokale Nutzung benannt ist
- K21: Redirect-URIs mit einem Pfad-Platzhalter auf einem nicht lokalen Host (Keycloak vor 26.6.2 hat außerdem CVE-2026-7504 für Platzhalter in Redirect-URIs)
- K22: literale Keycloak-Passwörter in .env-Dateien, die von keiner .gitignore erfasst werden
Was enthalten ist
- Der Scanner (Python 3.9+, nur Standardbibliothek)
- Ein Regelleitfaden mit Begründung, sichererem Ansatz und Dokumentationslink für jede Regel (Keycloak-Dokumentation und RFC 9700)
- Ein riskantes und ein sicheres Beispiel (ein Realm-Export für einen Shop, eine Compose-Datei, ein Kubernetes-Deployment, keycloak.conf und eine Env-Datei) sowie der echte Bericht, den der Scanner für das riskante erzeugt
Grenzen
Er liest jede Datei für sich und so, wie sie geschrieben ist. Ein in einer anderen Datei gesetzter Hostname, Werte in .env-Dateien, die von einer Compose-Datei verwendet werden, Helm-Chart-Templates, chartspezifische Helm-Schlüssel, Terraform sowie spätere Änderungen in der Admin Console oder über die Admin REST API werden nicht erkannt. Literale Passwörter in .env-Dateien werden nur gemeldet, wenn keine .gitignore die Datei erfasst, und Passwörter in lokalen start-dev-Setups und CI-Workflows werden nicht gemeldet. Entwicklung, Test und Produktion werden anhand von Dateinamen, Ordnern, start-dev und veröffentlichten Ports bestimmt; prüfen Sie daher K06, K20 und die REVIEW-Befunde in Testpfaden daraufhin, wie die Dateien tatsächlich verwendet werden. Die Quickstart-Realms von Keycloak und das Kubernetes-Quickstart-Manifest werden dort gemeldet, wo sie außerhalb eines Laptops unsicher sind, und ein vollständiger Export mit den Standardwerten von Keycloak erhält K13 und K14, weil die Keycloak-Dokumentation empfiehlt, beides zu ändern. NOT FLAGGED ist keine Garantie.
Inhalt
Eine ZIP-Datei mit 20 Dateien: SKILL.md, der Scanner in scripts/ (7 Python-Dateien), references/rules.md (jede Regel mit Begründung und sichererem Ansatz) und examples/ (10 Beispieldateien plus report.md, die echte Scanner-Ausgabe für das riskante Beispiel).
Anwendung: Dies ist ein Agent-Skill: ein Ordner mit einer SKILL.md-Datei und Python-Skripten, die ein KI-Coding-Agent wie Claude Code, Cursor oder Codex CLI ausführen kann. Entpacken Sie ihn in den Skills-Ordner Ihres Agenten (für Claude Code: ~/.claude/skills/) und bitten Sie Ihren Agenten dann, Ihr Projekt zu prüfen. Die Skripte laufen auch eigenständig mit Python 3.9 oder neuer, ohne dass etwas installiert werden muss. Sie lesen nur Ihre Dateien: kein Netzwerkzugriff, und nichts wird irgendwohin gesendet.
Das bekommst du
1 Datei · 50.95 KB
- keycloak-realm-check-1.0.0.zipZIP · 50.95 KB
KI-Tools & -Skripte
Keycloak-Realm-Prüfung
Prüfen Sie Keycloak-Realm-Exporte und Serverkonfiguration vor dem Import oder Deployment: Platzhalter in Redirect-URIs, sslRequired none, Client-Secrets und Signaturschlüssel in Exporten, literale Admin-Passwörter, start-dev in Deployments und schwache Login-Einstellungen.
Getly hat die hochgeladenen Dateien geöffnet und nichts gefunden, was das Öffnen verhindern würde. Das ist kein Virenscan und keine Qualitätsbewertung.
Tags
Häufige Fragen
Erhalte ich sofort Zugriff?
Ja. Dies ist ein digitales Produkt - du kannst es direkt nach dem Kauf aus deiner Bibliothek herunterladen.
Darf ich es für kommerzielle Projekte nutzen?
Ja. Kommerzielle Nutzung ist erlaubt: im eigenen Business und in dem, was du verkaufst. Die Datei selbst darfst du nicht weiterverkaufen oder verbreiten.
Wie sind die Rückerstattungsbedingungen?
Du kannst innerhalb von 30 Tagen eine Rückerstattung anfordern. Stimmt etwas nicht, fordere sie bei deiner Bestellung an - das Getly-Team prüft sie.
Welche Dateiformate und -größen erhalte ich?
Du lädst 1 Datei herunter - ZIP - insgesamt 50.95 KB.
Erhalte ich kostenlose Updates?
Ja - wenn der Verkäufer eine neue Version veröffentlicht, kannst du die aktuellen Dateien kostenlos erneut aus deiner Bibliothek herunterladen. Aktuelle Änderungen findest du im Changelog.
Preis
$5.00



