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

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

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

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

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

Категории

Все категории
Loading categories
graph-go — просто узлы и графы | Kitploit
Инструменты/GitHubGitHub/guilherme-grimm/graph-go
Безопасность облачной инфраструктурыБезопасность контейнеровКартирование сетиАудит конфигурацииDevSecOpsБезопасность Баз ДанныхАнализ Журналов
GitHubguilherme-grimm/graph-go

graph-go

просто узлы и графы

Репозиторий
1245201 месяц назадПроверено Kitploit

Популярное

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

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

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

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

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

graph-go

Увидьте свою инфраструктуру. Ноль конфигурации.

Направьте graph-go на ваш стек и получите живую интерактивную карту каждой базы данных, таблицы, сервиса и хранилища — с мониторингом состояния в реальном времени.

License: AGPL v3 graph-go demo


graph-go — это инфраструктурный картограф с CLI-интерфейсом. Он автоматически обнаруживает вашу инфраструктуру, подключаясь к демону Docker, проверяя запущенные контейнеры и опрашивая базы данных и службы хранения. Веб-интерфейс обслуживается бэкендом и отражает реальное состояние — ручной инвентаризации не требуется.

ВозможностьПодробности
АвтообнаружениеОбнаруживает инфраструктуру через контейнеры Docker и кластеры Kubernetes — без ручного ввода.
KubernetesПространства имён, Deployment'ы, StatefulSet'ы, DaemonSet'ы, Pod'ы, Service'ы — с отслеживанием в реальном времени на основе информеров.
DockerКлассифицирует работающие контейнеры, извлекает учётные данные, отслеживает события Docker, учитывает метки graphgo.* для переопределения типа/DSN/типа узла/имени или игнорирования контейнера.
PostgreSQLТаблицы, связи внешних ключей, топология схемы.
MongoDBБазы данных и коллекции.
MySQLТаблицы, связи внешних ключей.
RedisПространства ключей и распределение ключей.
ElasticsearchИндексы, состояние кластера, статус шардов.
S3 / MinIOКорзины и префиксы верхнего уровня.
HTTP-сервисыЭндпоинты здоровья, сопоставление зависимостей между службами.
Мониторинг в реальном времениОбновления состояния через WebSocket каждые 5 секунд.
Интерактивный графSwimlane-раскладка, группировка контейнеров по пространствам имён, панорамирование/масштабирование, фильтрация по типу/состоянию, поиск узлов.

Docker-метки

graph-go поддерживает небольшой набор меток контейнеров graphgo.* (установите их на любой контейнер, которым хотите управлять):

МеткаЭффект
graphgo.ignore=trueПолностью пропустить этот контейнер.
graphgo.type=postgresПринудительно задать тип адаптера (postgres, mongodb, mysql, redis, elasticsearch, s3, http).
graphgo.dsn=...Внедрить строку подключения (DSN для postgres/mysql, URI для mongodb, иначе используется dsn).
graphgo.node-type=gatewayПереопределить визуальный тип узла (service, gateway, auth, api, queue, cache).
graphgo.name=...Переопределить имя узла, отображаемое в графе и используемое в идентификаторах узлов/логах.

Используйте их для «спасения» неправильно классифицированных контейнеров, указания graph-go на произвольный DSN или скрытия контейнера из графа без его удаления.


Быстрый старт — попробуйте за 30 секунд

Запустите демонстрационный стек с предварительно заполненными данными с помощью CLI. Это самый быстрый способ увидеть graph-go в действии в реалистичном окружении и рекомендуемый путь для первых пользователей:

git clone https://github.com/guilherme-grimm/graph-go.git
cd graph-go
go run ./cmd/app demo

Откройте http://localhost:8080. Команда выполняется в прикреплённом режиме через Docker Compose. Нажмите Ctrl+C, чтобы остановить сессию.

Первый запуск может занять несколько минут на «холодной» машине, так как Docker может потребоваться скачать базовые образы и собрать локальные демо-образы. Последующие запуски выполняются значительно быстрее.

Демо-стек ожидает, что следующие порты на хосте свободны: 8080, 5432, 27017, 9000 и 9001.

Если требуется явный сброс окружения после:

docker compose -f docker-compose.demo.yml down

Запуск против своего стека

Один контейнер, один порт. Подключите сокет Docker только для чтения — и graph-go автоматически обнаружит всё, что работает на хосте:

docker run -d -p 8080:8080 \
  -v /var/run/docker.sock:/var/run/docker.sock:ro \
  ghcr.io/guilherme-grimm/graph-go:latest

graph-go только читает из сокета Docker. Флаг :ro обеспечивает это — сохраняйте его.

Откройте http://localhost:8080. Автообнаружение обрабатывает контейнеры Docker и (при наличии kubeconfig или сервисного аккаунта внутри кластера) ресурсы Kubernetes без какого-либо конфигурационного файла.

Для сервисов, работающих вне Docker/Kubernetes (удалённые базы данных, управляемые облачные сервисы), смонтируйте конфигурационный файл — см. Конфигурация.


Предварительно собранный бинарник

Один самодостаточный бинарный файл — веб-интерфейс встроен, но точка входа остаётся CLI.

# Linux amd64 (требуется GitHub CLI; другие платформы смотрите в Releases)
gh release download --repo guilherme-grimm/graph-go --pattern 'graph-go_*_linux_amd64.tar.gz' --clobber
tar xzf graph-go_*_linux_amd64.tar.gz
./graph-go serve   # или просто `./graph-go` — то же самое

Откройте http://localhost:8080. Другие платформы на странице релизов.


Команды

КомандаЧто делает
graph-go demoЗапускает предварительно заполненный демо-стек из репозитория (Docker Compose) и выводит его лог на передний план.
graph-go serveЗапускает HTTP-сервер с автообнаружением и обновлениями в реальном времени (по умолчанию — то же, что и запуск без аргументов).
graph-go scanВыполняет одноразовое обнаружение и выводит граф в формате JSON в stdout. Полезно для передачи в jq, проверок CI или одноразового экспорта.
graph-go versionВыводит версию, коммит и дату сборки.
graph-go --health-checkОтправляет запрос на локальный /health и завершается с кодом 0/1. Используется в качестве HEALTHCHECK контейнера; не предназначено для интерактивного использования.

Глобальные флаги (применяются ко всем подкомандам): --config, --log-level, --log-format. Для полного описания каждой команды используйте graph-go <command> --help.

Типичный рабочий процесс:

  1. graph-go demo — реалистичное локальное знакомство.
  2. graph-go serve — запуск на собственной инфраструктуре.
  3. graph-go scan — одноразовая автоматизация, экспорт или проверки CI.

Порты

ПортНазначение
8080graph-go (UI + API + WebSocket — production)
5173Dev-сервер Vite (только разработка — см. CONTRIBUTING.md)
9001Консоль MinIO (только демо-стек)

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

Автообнаружение — это путь. Подключите сокет Docker и/или запустите внутри кластера Kubernetes — graph-go обнаружит вашу инфраструктуру без конфигурационного файла.

Используйте YAML-конфигурацию (conf/config.yaml) только как запасной вариант для сервисов, недоступных через обнаружение — удалённые базы данных, управляемые облачные службы, внешние эндпоинты. Полную схему с примерами для каждого адаптера и каждого блока конфигурации (server, docker, kubernetes, connections) см. в conf/config.sample.yaml.

Для использования конфигурационного файла при запуске через Docker (см. выше):

docker run -d -p 8080:8080 \
  -v /var/run/docker.sock:/var/run/docker.sock:ro \
  -v $(pwd)/conf/config.yaml:/app/conf/config.yaml:ro \
  ghcr.io/guilherme-grimm/graph-go:latest

Только авторизованное использование: graph-go предназначен для визуализации инфраструктуры, которой вы владеете или на доступ к которой имеете разрешение. Не направляйте его на системы без авторизации.


Архитектурный обзор

Бэкенд (Go)

Скачать инструмент