ШІ-інструменти та скрипти
Перевірка realm Keycloak
Перевіряйте експорти realm і конфігурацію сервера Keycloak перед імпортом або розгортанням: URI перенаправлення із шаблонами, sslRequired none, секрети клієнтів і ключі підпису в експортах, паролі адміністратора у відкритому вигляді, start-dev у розгортаннях і слабкі налаштування входу.
Що ви отримаєте: 1 файл · 50.95 KB · ZIP
Переглянути варіанти купівліОпис товару
Клієнт із "*" у Valid Redirect URIs дозволяє Keycloak надсилати коди авторизації на будь-який сайт, який обере зловмисник. Файл realm, створений командою kc.sh export, містить усі секрети клієнтів і приватні ключі підпису realm у відкритому вигляді, тож коміт такого файлу дає будь-кому змогу підписувати власні токени. Маніфест Kubernetes, що запускає start-dev з KC_BOOTSTRAP_ADMIN_PASSWORD: admin, обслуговує realm master через незахищений HTTP з відомим паролем. Ця навичка знаходить ці та інші помилки Keycloak, наведені нижче, і пояснює, як виправити кожну з них.
Ваш агент запускає сканер для вашого проєкту: експорти та імпорти realm (JSON realm, файли користувачів із kc.sh export, ресурси KeycloakRealmImport, YAML для keycloak-config-cli і JSON realm, що зберігається в ConfigMap), файли адаптера keycloak.json, keycloak.conf і налаштування Keycloak, де б вони не були записані: змінні KC_ та аргументи kc.sh у файлах Compose, маніфести та Secrets Kubernetes, значення Helm, ресурс оператора Keycloak, Dockerfile, юніти systemd і файли .env. Він знає стандартні значення Keycloak і його вбудованих клієнтів, вважає плейсхолдери vault і змінних середовища, а також замасковані значення експорту такими, що зберігаються поза файлом, і відрізняє локальне налаштування start-dev від розгортання. Файли realm і налаштування в тестових, fixture, dev або локальних шляхах (src/test/resources, integration-tests, e2e, кластери kind) позначаються як REVIEW замість BLOCK. Він ніколи не звертається до Keycloak і ніколи не використовує мережу. Він повертає BLOCK, REVIEW або NOT FLAGGED із файлом, рядком, причиною та безпечнішим підходом. Секрети ніколи не виводяться.
Що перевіряється
BLOCK (виправити перед випуском)
- K01: realm, у якому sslRequired має значення none
- K02: URI перенаправлення, що приймають інші хости: "*", "https://*" або шаблон одразу після хоста (зокрема URI перенаправлення після виходу); шаблони порту loopback для нативних застосунків не позначаються
- K03: облікові дані у файлах realm і адаптера: секрети клієнтів, секрети клієнтів постачальників ідентичності, паролі SMTP і LDAP bind, паролі користувачів, сиди OTP, секрети клієнтів у keycloak.json
- K04: ключовий матеріал realm у файлі: приватні ключі та секрети постачальників ключів, паролі сховищ ключів, приватні ключі клієнтів SAML
- K05: паролі сервера у відкритому вигляді: пароль адміністратора bootstrap (також застарілий KEYCLOAK_ADMIN_PASSWORD), пароль бази даних (також усередині KC_DB_URL), сховище ключів, сховище довірених сертифікатів та інші параметри паролів чи секретів Keycloak у вигляді змінних KC_, аргументів kc.sh, рядків keycloak.conf або параметрів оператора
- K06: start-dev у маніфесті Kubernetes, значеннях Helm, юніті systemd або у файлі Compose чи Dockerfile, назва якого вказує на production або staging (для налаштувань kind, minikube і k3d натомість видається K20)
REVIEW (перевірити перед релізом)
- K11: клієнти з увімкненим implicit flow
- K12: публічні клієнти з Direct Access Grants (надання доступу за паролем)
- K13: вимкнене виявлення атак методом перебору
- K14: немає політики паролів, немає мінімальної довжини або мінімальна довжина менша за 8
- K15: "*" у Web Origins клієнта
- K16: публічні клієнти, які не вимагають PKCE з S256, і немає увімкненої клієнтської політики для публічних клієнтів, яка б цього вимагала
- K17: термін дії токенів доступу понад одну годину
- K18: самостійна реєстрація в realm master або без підтвердження електронної пошти
- K19: вимкнений hostname-strict без імені хоста, заданого в тому самому файлі
- K20: start-dev у сервісі Compose, що публікує свій порт за межі 127.0.0.1, або в Dockerfile, назва якого не вказує на локальне використання
- K21: URI перенаправлення із шаблоном шляху на нелокальному хості (Keycloak до версії 26.6.2 також має вразливість CVE-2026-7504 для URI перенаправлення із шаблонами)
- K22: паролі Keycloak у відкритому вигляді у файлах .env, які не охоплює жоден .gitignore
Що входить до комплекту
- Сканер (Python 3.9+, лише стандартна бібліотека)
- Посібник із правил із причиною, безпечнішим підходом і посиланням на документацію для кожного правила (документація Keycloak і RFC 9700)
- Ризикований і безпечний приклади (експорт realm магазину, файл Compose, Deployment Kubernetes, keycloak.conf і файл env), а також справжній звіт, який сканер створює для ризикованого
Обмеження
Він читає кожен файл окремо і в тому вигляді, як його написано. Ім'я хоста, задане в іншому файлі, значення у файлах .env, які використовує файл Compose, шаблони чартів Helm, ключі Helm, специфічні для конкретного чарту, Terraform, а також зміни, внесені пізніше в Admin Console або через Admin REST API, не враховуються. Паролі у відкритому вигляді у файлах .env позначаються лише тоді, коли файл не охоплює жоден .gitignore, а паролі в локальних налаштуваннях start-dev і робочих процесах CI не позначаються. Середовище розробки, тестування чи production визначається за назвами файлів, теками, start-dev і опублікованими портами, тож звіряйте K06, K20 і результати REVIEW у тестових шляхах із тим, як файли використовуються насправді. Власні quickstart-realm Keycloak і його quickstart-маніфест для Kubernetes позначаються там, де вони небезпечні поза ноутбуком, а повний експорт зі стандартними значеннями Keycloak отримує K13 і K14, бо документація Keycloak радить змінити обидва. NOT FLAGGED не є гарантією.
Вміст
Один ZIP-файл із 20 файлами: SKILL.md, сканер у scripts/ (7 файлів Python), references/rules.md (кожне правило з причиною та безпечнішим підходом) і examples/ (10 файлів прикладів, а також report.md, справжній результат роботи сканера для ризикованого прикладу).
Як користуватися: Це навичка (skill) для агента: тека з файлом SKILL.md і скриптами Python, які може запускати агент для програмування на основі ШІ, наприклад Claude Code, Cursor або Codex CLI. Розпакуйте її в теку навичок вашого агента (для Claude Code: ~/.claude/skills/), а потім попросіть агента перевірити ваш проєкт. Скрипти також працюють самостійно з Python 3.9 або новішим, нічого не потрібно встановлювати. Вони лише читають ваші файли: жодного доступу до мережі, нічого нікуди не надсилається.
Що ви отримаєте
1 файл · 50.95 KB
- keycloak-realm-check-1.0.0.zipZIP · 50.95 KB
ШІ-інструменти та скрипти
Перевірка realm Keycloak
Перевіряйте експорти realm і конфігурацію сервера Keycloak перед імпортом або розгортанням: URI перенаправлення із шаблонами, sslRequired none, секрети клієнтів і ключі підпису в експортах, паролі адміністратора у відкритому вигляді, start-dev у розгортаннях і слабкі налаштування входу.
Getly відкрив завантажені файли й не знайшов нічого, що завадило б їх відкрити. Це не антивірусна перевірка і не оцінка якості.
Теги
Поширені запитання
Чи отримаю я доступ одразу?
Так. Це цифровий товар: ви можете завантажити його одразу після оплати, просто зі своєї бібліотеки.
Чи можна використовувати його в комерційних проєктах?
Так. Комерційне використання дозволено: користуйтеся в особистому бізнесі та в тому, що продаєте. Ви не можете перепродавати чи поширювати сам файл.
Яка у вас політика повернення коштів?
Ви можете запросити повернення коштів протягом 30 дн. Якщо щось не так, подайте запит зі свого замовлення, і команда Getly його розгляне.
Які формати та розміри файлів я отримаю?
Ви завантажите 1 файл - ZIP - загалом 50.95 KB.
Чи отримую я безкоштовні оновлення?
Так: коли продавець випускає нову версію, ви можете повторно завантажити свіжі файли зі своєї бібліотеки безкоштовно. Останні оновлення дивіться в журналі змін.
Ціна
$5.00



