Строит карту, граф и проводит аудит AWS, Azure и GCP из одного CLI. Создаёт граф топологии, запускает Prowler/Checkov/Trivy, сопоставляет находки с 28 фреймворками соответствия и экспортирует HTML-отчёты, RDF-онтологии, RAG-чанки и файлы воссоздания Terraform.
cloudg (cloud graphing) отображает инфраструктуру AWS, Azure и GCP в виде графа,
запускает сканеры безопасности по тому же инвентарю и превращает результаты в отчёты, которые действительно можно использовать.
Одна команда параллельно собирает ресурсы от каждого настроенного провайдера, пропускает их через граф NetworkX для анализа достижимости и путей атаки, запускает Prowler, ScoutSuite, Checkov и Trivy, а затем объединяет и дедуплицирует все находки по 28 фреймворкам соответствия. На выходе получаются интерактивный HTML-отчёт, GraphML, RDF-онтология, RAG-чанки для LLM-пайплайнов и файлы Terraform, воссоздающие живую инфраструктуру.
Нужна карта без средств безопасности? cloudg map — это независимый от сканеров инструмент инвентаризации: он глубоко собирает всё развёрнутое (или используемое по умолчанию) в аккаунте вплоть до сетевой структуры, охватывает все остальные сервисы и связывает всё в единую карту ресурсов, на которую позже можно наложить находки сканеров. См. Сопоставление инвентаря.
Хотите, чтобы со всем этим работал ИИ-агент? cloudg mcp serve превращает cloudg в MCP-сервер для Claude Desktop, Claude Code, Cursor или любого другого клиента, поддерживающего Model Context Protocol. См. MCP-сервер.
Полная документация: отрендеренное руководство доступно по адресу morpheuslord.github.io/cloudg, тот же контент в формате markdown — в справочнике по функциям, а примечания к выпускам — в журнале изменений. У инструмента инвентаризации есть собственные подробные документы: справочник по инвентарю (каждая структура возврата и выходной файл, поле за полем), каталог инвентаря (все 156 типов ресурсов, их метаданные и связи) и внутреннее устройство инвентаря (как это работает и как это расширять). MCP-сервер описан в руководстве по MCP, справочнике по инструментам и справочнике по конфиденциальности, а троттлинг — в разделе ограничения скорости и троттлинг.
Пример отчёта: чтобы увидеть, что создаёт cloudg, ещё до запуска чего-либо, откройте пример отчёта. Это report.html синтетической среды AWS, Azure и GCP, поэтому все идентификаторы в нём вымышлены, а scripts/build_sample_report.py пересобирает его из тестовых фикстур.
git clone https://github.com/morpheuslord/cloudg.git
cd cloudg
uv venv && source .venv/bin/activate
uv pip install -e ".[all,dev]"
# one provider, one region
cloudg run -p aws --regions us-east-1
# everything, everywhere
cloudg run -p all --regions all
# with Terraform recreation files
cloudg run -p aws --regions us-east-1 --terraform
Отчёты сохраняются в ./reports. Сначала откройте report.html.
Уже запускали сканеры самостоятельно? Передайте cloudg их нативные выходные файлы. Без облачных учётных данных, без бинарников сканеров:
cloudg ingest --prowler ./prowler-output/ --checkov ./results_json.json --trivy ./trivy.json
Любая комбинация выходных данных Prowler, ScoutSuite, Checkov и Trivy работает; cloudg нормализует, устраняет дубликаты между сканерами с помощью наборов правил эквивалентности проверок, сопоставляет фреймворки соответствия и формирует отчёты.
В CI cloudg gate завершает задание с ошибкой при обнаружении находок с уровнем серьёзности не ниже заданного и записывает SARIF для сканирования кода. На GitHub репозиторий также выступает в роли action, который устанавливает cloudg и сканеры, запускает конвейер и выполняет проверку:
permissions:
contents: read
id-token: write # OIDC login to the cloud
security-events: write # SARIF upload
steps:
- uses: aws-actions/configure-aws-credentials@v6
with:
role-to-assume: arn:aws:iam::123456789012:role/cloudg-github
aws-region: us-east-1
- uses: morpheuslord/[email protected]
with:
provider: aws
fail-on: critical
min-assets: "1"
Руководство по CI и автоматизации содержит все входные данные, варианты входа в Azure и GCP, GitLab CI и версию для обычной оболочки.
Обычный pip тоже подходит: pip install -e ".[all]". Облачные SDK являются дополнениями, поэтому pip install cloudg[aws] подтягивает только boto3/aioboto3, [azure] и [gcp] делают то же самое для своих SDK, а [all] устанавливает всё сразу. Базовый пакет без дополнений по-прежнему предоставляет вам движок графов, онтологию, нормализатор и средства рендеринга отчётов.
Внешние сканеры (Prowler, Checkov, Trivy, ScoutSuite) — это отдельные исполняемые файлы, а не зависимости Python. install.sh (Linux/macOS) и install.bat (Windows) настраивают всё, включая сканеры и облачные CLI.
Docker — это ленивый путь: образ включает Prowler, Checkov и Trivy (ScoutSuite не включён, поэтому запускайте его отдельно и передавайте его отчёт в cloudg ingest):
docker build -t cloudg:latest .
docker compose run --rm cloudg run -p aws --regions us-east-1
cloudg map отвечает на другой вопрос, нежели cloudg run: что существует и как это связано между собой. Выяснение того, что не так, остаётся задачей сканеров, и ни один из них здесь не запускается и даже не требует установки. Что делает карту полной: