Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
cloud-doctor — Одна команда оценивает весь ваш облачный аккаунт — неправильные конфигурации, отсутствие наблюдаемости и состояние безопасности. | Kitploit
Инструменты/GitHubGitHub/dumbmachine/cloud-doctor
Безопасность облачной инфраструктурыСканеры уязвимостейАудит конфигурацииБезопасность облачных средDevSecOpsНеправильная Конфигурация
GitHubdumbmachine/cloud-doctor

cloud-doctor

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

Репозиторий
21 месяц назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

cloud-doctor

npm version license

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

Направьте её на AWS, Cloudflare, Vercel, Supabase, Render, Fly.io или Railway, и она вернёт оценку, список проблем и исправление для каждой — достаточно самодостаточно, чтобы передать агенту.

Быстрый старт

root@kitploit:~
npx cloud-doctor

https://github.com/user-attachments/assets/60b610ab-7aee-4c3a-8d9e-83f045c8cc56

Это выбирает провайдера, определяет вашу идентичность (AWS профиль, API токен, …) и запускает сканирование в интерактивном режиме. Чтобы сразу перейти к провайдеру:

root@kitploit:~
npx cloud-doctor aws --profile prod
npx cloud-doctor cloudflare --yes
npx cloud-doctor vercel --yes

Если в ~/.npmrc установлен min-release-age (укрепление цепочки поставок) и блокирует свежие релизы:

root@kitploit:~
# =<число>, 0 выбран как пример
npm x --min-release-age=0 cloud-doctor -- aws profiles

Предпочитаете самую свежую версию? Альфа-сборки публикуются со своим тегом: npx cloud-doctor@alpha.

Поддерживаемые провайдеры

Токены аутентификации можно задать как переменные окружения или ввести, когда TUI запросит их:

root@kitploit:~
CLOUDFLARE_API_TOKEN=cfut_aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1kUXc0dzlXZ1hjUQ== npx cloud-doctor cloudflare

(не декодируйте токен base64)

или

root@kitploit:~
$ npx cloud-doctor cloudflare

Cloudflare credentials are not set — enter them below.
Kept for this run only, never written to disk. Skip these prompts: export CLOUDFLARE_API_TOKEN

  панель управления → Мой профиль → API-токены
? Cloudflare API-токен только для чтения › <input>

Скоро: Google Cloud, Kubernetes и Базы данных (Postgres, MySQL, Redis) — см. Что дальше.

Команды

root@kitploit:~
npx cloud-doctor                    # выбрать провайдера (по умолчанию AWS) → выбрать идентичность → сканировать
npx cloud-doctor aws                # быстрый путь AWS
npx cloud-doctor aws --profile prod # неинтерактивный, если однозначно
npx cloud-doctor aws --yes --json   # CI, машиночитаемый вывод
npx cloud-doctor aws --yes --json --fail-under 75  # CI-шлюз по оценке

npx cloud-doctor cloudflare --yes   # требуется CLOUDFLARE_API_TOKEN
npx cloud-doctor vercel --yes       # требуется VERCEL_TOKEN (+ VERCEL_TEAM_ID)
npx cloud-doctor supabase --yes     # требуется SUPABASE_ACCESS_TOKEN
npx cloud-doctor render --yes       # требуется RENDER_API_KEY
npx cloud-doctor fly --yes          # требуется FLY_API_TOKEN (+ FLY_ORG)
npx cloud-doctor railway --yes      # требуется RAILWAY_API_TOKEN

npx cloud-doctor aws profiles       # список профилей ~/.aws/config
npx cloud-doctor aws whoami         # показать определенную идентичность AWS

--yes пропускает запросы (безопасно для CI); --json выводит стабильный отчёт с версией схемы вместо терминального вида; --verbose выводит все находки вместо главных нарушителей; --no-color отключает цветной вывод.

Что вы получаете

  • Оценка (0–100): взвешенный по серьёзности коэффициент прохождения для каждого правила, которое фактически выполнялось. Ошибки имеют больший вес, чем предупреждения; предложения никогда не влияют на оценку.
  • Топ-5 исправлений, отсортированные по влиянию на оценку, каждое с указанием затронутого ресурса и конкретным исправлением.
  • Строка проверки пройдены, где всё отключённое (отключено через конфиг) или недоступное (недостающие разрешения) раскрывается, а не молча пропускается — пробел в разрешениях никогда не засчитывается как пройденная проверка.
  • Если что-то сломано и вы находитесь в интерактивном терминале, cloud-doctor может передать отчёт вашему ИИ-агенту для кода — Claude Code, Codex или Cursor, какой бы ни был установлен — чтобы он начал исправлять, пока вы ещё читаете вывод.

Оценки никогда не подделываются: если ни одно правило не смогло выполниться, оценка — null с меткой "Проверки не запущены", а не пустая 100.

Конфигурация

Настройте правила для каждого провайдера через doctor.config.ts (или doctor.config.json, или cloudDoctor в package.json):

root@kitploit:~
import { defineConfig } from "cloud-doctor/api";

export default defineConfig({
  defaultProvider: "aws",
  aws: {
    profile: "prod",
    regions: ["us-east-1", "eu-west-1"],
    account: "123456789012",
  },
  rules: {
    "aws/s3-unencrypted-bucket": "off",
    "aws/iam-user-access-key": "error",
  },
});

"off" отключает правило; "error" / "warning" переопределяет его серьёзность. Отключённые правила исключаются из оценки и раскрываются как отключённые — никогда не вычитаются молча.

Архитектура

Тонкий CLI поверх реестра плагинов — каждый провайдер реализует один и тот же контракт, поэтому CLI никогда не выделяет один над другим.

Каждый провайдер реализует CloudDoctorPlugin:

  • discoverIdentities() — список профилей/проектов/учётных записей для выбора
  • resolveIdentity() — сопоставление флагов/переменных окружения/конфига → идентичность, без сетевых вызовов
  • validateIdentity() — подтверждение работоспособности учётных данных (sts:GetCallerIdentity или аналог)
  • scan() — выполнение проверяемых правил, возврат диагностики + оценка

Новые провайдеры регистрируются в packages/plugins/src/index.ts.

Что дальше

gcloud, k8s и db скоро появятся.

Локальная разработка

root@kitploit:~
pnpm install
pnpm build
pnpm typecheck
pnpm test

Для практической проверки правил без обращения к реальной облачной учётной записи, репозиторий содержит комплект фикстур http-mock и Moto/fab: (прим.: fab — CLI для генерации окружения для запуска, пока приватный, зависимый проект также будет открыт)

root@kitploit:~
pnpm mock:up <scenario>                  # запустить постоянный mock-экземпляр
eval "$(pnpm -s mock:env <scenario>)"    # указать переменные окружения на него
pnpm mock:run <scenario>                 # запустить CLI против него

Лицензия

MIT


Спасибо react-doctor

Скачать инструмент
ПровайдерКомандаАутентификация
AWScloud-doctor awsЦепочка учетных данных AWS SDK — --profile, AWS_PROFILE, переменные окружения, SSO, веб-идентификация
Cloudflarecloud-doctor cloudflareCLOUDFLARE_API_TOKEN
Vercelcloud-doctor vercelVERCEL_TOKEN (+ опционально VERCEL_TEAM_ID)
Supabasecloud-doctor supabaseSUPABASE_ACCESS_TOKEN
Rendercloud-doctor renderRENDER_API_KEY
Fly.iocloud-doctor flyFLY_API_TOKEN (+ опционально FLY_ORG)
Railwaycloud-doctor railwayRAILWAY_API_TOKEN (токен рабочего пространства/учётной записи)
ПакетРоль
packages/cloud-doctorCLI (commander, prompts, ora) + программное API diagnose()
packages/coreРеестр плагинов, оценка, загрузка конфигурации, общие типы
packages/plugin-*Один пакет на провайдера — обнаружение идентичности + правила
packages/pluginsРеестр по умолчанию, связывающий всех провайдеров вместе