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

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

Репозиторий
1245258 дней назадПроверено Kitploit

Популярное

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

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

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

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

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

graph-go

Смотрите свою инфраструктуру. Без конфигурации.

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

License: AGPL v3 graph-go showcase: Docker auto-discovery, a container appearing live, and Kubernetes swimlanes

▶ Смотреть в полном качестве (MP4)


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

ВозможностьПодробности
АвтообнаружениеОпределяет инфраструктуру из контейнеров Docker и кластеров Kubernetes — ручная инвентаризация не требуется
KubernetesNamespaces, Deployments, StatefulSets, DaemonSets, Pods, Services — с наблюдением в реальном времени на основе informer
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=...Переопределить имя узла, отображаемое в графе и используемое в ID узлов / логах

Используйте их, чтобы спасти неверно классифицированные контейнеры, направить 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 (requires the GitHub CLI; browse Releases for other platforms)
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   # or just `./graph-go` - same thing

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


Команды

КомандаЧто делает
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)
5173Vite dev server (только для разработки — см. CONTRIBUTING.md)
9001Консоль MinIO (только демонстрационный стек)

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

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

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

Чтобы использовать файл конфигурации с приведённым выше запуском 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
Скачать инструмент