Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
graph-go — simplesmente nós e grafos | Kitploit
Ferramentas/GitHubGitHub/guilherme-grimm/graph-go
Segurança de Infraestrutura em NuvemSegurança de ContêineresMapeamento de RedeAuditoria de ConfiguraçãoDevSecOpsSegurança de Banco de DadosAnálise de Logs
GitHubguilherme-grimm/graph-go

graph-go

simplesmente nós e grafos

Ver Repositório
124521há 1 mêsRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

graph-go

Veja sua infraestrutura. Zero Configuração.

Aponte o graph-go para seu stack e obtenha um mapa interativo e ao vivo de todos os bancos de dados, tabelas, serviços e buckets de armazenamento — com monitoramento de saúde em tempo real.

License: AGPL v3 graph-go demo


graph-go é um mapeador de infraestrutura focado em CLI. Ele descobre automaticamente sua infraestrutura conectando-se ao daemon Docker, inspecionando contêineres em execução e sondando bancos de dados e serviços de armazenamento. A interface é servida pelo backend e reflete o estado real do backend — sem necessidade de inventário manual.

CapacidadeDetalhes
Descoberta automáticaDetecta infraestrutura a partir de contêineres Docker e clusters Kubernetes — sem inventário manual
KubernetesNamespaces, Deployments, StatefulSets, DaemonSets, Pods, Services — com monitoramento em tempo real baseado em informers
DockerClassifica contêineres em execução, extrai credenciais, observa eventos Docker, respeita labels graphgo.* para sobrescrever tipo/DSN/tipo-de-nó/nome ou ignorar um contêiner
PostgreSQLTabelas, relações de chave estrangeira, topologia de esquema
MongoDBBancos de dados e coleções
MySQLTabelas, relações de chave estrangeira
RedisKeyspaces e distribuição de chaves
ElasticsearchÍndices, saúde do cluster, status de shards
S3 / MinIOBuckets e prefixos de primeiro nível
Serviços HTTPEndpoints de saúde, mapeamento de dependências entre serviços
Saúde em tempo realAtualizações de status ao vivo via WebSocket a cada 5 segundos
Grafo interativoLayout de raias (swimlane), contêineres de agrupamento por namespace, pan/zoom, filtro por tipo/saúde, busca de nós

Labels Docker

O graph-go respeita um conjunto pequeno de labels de contêiner graphgo.* (defina-as em qualquer contêiner que deseja controlar):

LabelEfeito
graphgo.ignore=trueIgnorar este contêiner completamente
graphgo.type=postgresForçar o tipo de adaptador (postgres, mongodb, mysql, redis, elasticsearch, s3, http)
graphgo.dsn=...Injetar uma string de conexão (DSN para postgres/mysql, URI para mongodb, caso contrário usa dsn)
graphgo.node-type=gatewaySobrescrever o tipo visual do nó (service, gateway, auth, api, queue, cache)
graphgo.name=...Sobrescrever o nome do nó mostrado no grafo e usado em IDs de nó / logs

Use estas para resgatar contêineres mal classificados, apontar o graph-go para um DSN personalizado ou ocultar um contêiner do grafo sem removê-lo.


Início Rápido — experimente em 30 segundos

Inicie o stack de demonstração com dados de exemplo usando a CLI. Esta é a maneira mais rápida de ver o graph-go em um ambiente realista e o caminho de integração recomendado para novos usuários:

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

Abra http://localhost:8080. O comando é executado anexado via Docker Compose. Pressione Ctrl+C para parar a sessão anexada.

A primeira execução pode levar vários minutos em uma máquina fria porque o Docker pode precisar baixar imagens base e construir as imagens de demonstração locais. Execuções posteriores são muito mais rápidas.

O stack de demonstração espera que as seguintes portas do host estejam livres: 8080, 5432, 27017, 9000 e 9001.

Se precisar de uma desmontagem explícita após:

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

Execute contra seu próprio stack

Um contêiner, uma porta. Monte o socket do Docker como somente leitura e o graph-go descobre automaticamente tudo que está rodando no host:

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

O graph-go apenas lê do socket Docker. A flag :ro impõe isso — mantenha-a.

Abra http://localhost:8080. A descoberta automática lida com contêineres Docker e (quando um kubeconfig ou conta de serviço in-cluster está presente) recursos Kubernetes sem qualquer arquivo de configuração.

Para serviços que estão fora do Docker/Kubernetes (bancos de dados remotos, serviços gerenciados em nuvem), monte um arquivo de configuração — veja Configuração.


Binário pré-compilado

Binário único auto-contido — a interface está embutida, mas o ponto de entrada ainda é a CLI.

# Linux amd64 (requer a CLI do GitHub; veja Releases para outras plataformas)
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   # ou apenas `./graph-go` - mesma coisa

Abra http://localhost:8080. Outras plataformas na página de Releases.


Comandos

ComandoO que faz
graph-go demoInicia o stack de demonstração do Docker Compose com dados de exemplo a partir do repositório e exibe sua saída em primeiro plano.
graph-go serveInicia o servidor HTTP com descoberta automática e atualizações ao vivo (padrão - o mesmo que executar sem argumentos).
graph-go scanExecuta a descoberta uma vez e emite o grafo como JSON para stdout. Útil para canalizar para jq, verificações em CI ou exportações pontuais.
graph-go versionExibe versão, commit e data de compilação.
graph-go --health-checkAcessa o endpoint /health local e sai com 0/1. Usado pelo HEALTHCHECK do contêiner; não para uso interativo.

Flags globais (aplicam-se a todos os subcomandos): --config, --log-level, --log-format. Veja graph-go <comando> --help para a superfície completa de cada comando.

Fluxo típico:

  1. graph-go demo para um passo-a-passo realista local.
  2. graph-go serve para executar contra sua própria infraestrutura.
  3. graph-go scan para automação pontual, exportações ou verificações em CI.

Portas

PortaPropósito
8080graph-go (UI + API + WebSocket — produção)
5173Servidor de desenvolvimento Vite (apenas desenvolvimento — veja CONTRIBUTING.md)
9001Console MinIO (apenas stack de demonstração)

Configuração

A descoberta automática é o caminho. Monte o socket Docker e/ou execute dentro de um cluster Kubernetes — o graph-go descobre sua infraestrutura sem necessidade de arquivo de configuração.

Use a configuração YAML (conf/config.yaml) apenas como uma saída de emergência para serviços que não são alcançáveis via descoberta — bancos de dados remotos, serviços gerenciados em nuvem, endpoints externos. Veja conf/config.sample.yaml para o esquema completo — exemplos para cada adaptador e cada bloco de configuração (server, docker, kubernetes, connections).

Para usar um arquivo de configuração com o comando Docker acima:

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

Uso autorizado apenas: o graph-go é para visualizar infraestrutura que você possui ou tem permissão para acessar. Não o aponte para sistemas sem autorização.


Visão Geral da Arquitetura

Backend (Go)

Baixar ferramenta