devopscodepro
Язык
Работает полностью в браузере — данные не покидают страницу.

Анализатор IAM / RBAC

Вставьте политику AWS IAM, RBAC-манифест Kubernetes или GCP-биндинги — опасные гранты подсветятся: wildcard'ы, PassRole, доступ к секретам, публичные принципалы.

Вставьте политику выше — формат определяется сам, никуда ничего не загружается.

Читаем политики так, как их читает атакующий

Вставьте политику AWS IAM, манифест Role/RoleBinding Kubernetes или список GCP-биндингов — формат определится сам — и подсветятся гранты, из которых реально вырастают инциденты: wildcard-действия и ресурсы, iam:PassRole на *, IAM-вызовы самоповышения, доступ к секретам, verbs эскалации, биндинги cluster-admin, участники allUsers.

Правила кодируют известные пути повышения привилегий, а не вкусовые предпочтения. Политика может быть идеально валидным JSON и всё равно раздавать аккаунт: Action s3:* плюс Resource * на ревью читается как «доступ к S3», а в инциденте — как «удалить все бакеты».

Анализ целиком в браузере. Ваши политики описывают границы доверия инфраструктуры — ровно такой документ не стоит вставлять в чей-то бэкенд.

Почему iam:PassRole — это так серьёзно?

PassRole на * позволяет принципалу прицепить любую существующую роль к подконтрольному сервису: поднять EC2 или Lambda с админ-ролью — и эскалация завершена. Это самый частый шаг реальных цепочек повышения привилегий в AWS, поэтому его всегда ограничивают конкретными ARN ролей.

Что не так с чтением Secrets в Kubernetes?

Ничего — пока не посмотришь на область действия. get на именованный секрет — нагрузка делает свою работу; list на все секреты namespace'а (или кластера) — все учётные данные одним вызовом API. Частичного чтения в RBAC нет: если грант покрывает secrets широко, он покрывает их все.

Анализатор ничего не нашёл. Политика безопасна?

В ней нет известных опасных паттернов — это не то же самое, что least-privilege. Правила ловят wildcard'ы и пути эскалации; они не могут знать, что вашей нагрузке нужны только три действия из десяти перечисленных. Чистый результат — это пол, а не сертификат.

Понимает ли он SCP, permission boundaries и условия?

Условия распознаются настолько, чтобы смягчить вердикт (публичный principal с условиями — пункт на проверку, а не автоматический fail), но инструмент их не вычисляет, а организационные механизмы вне охвата. Он читает один документ за раз — как и происходит большинство ревью.

Смежные инструменты: Валидатор манифестов K8s, Сканер секретов и CVE Kubernetes.