Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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
124527há 9 diasRevisado 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 sua stack e obtenha um mapa interativo e ao vivo de cada banco de dados, tabela, serviço e bucket de armazenamento — com monitoramento de saúde em tempo real.

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

▶ Assista em qualidade total (MP4)


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

CapacidadeDetalhes
Descoberta automáticaDetecta infraestrutura a partir de contêineres Docker e clusters Kubernetes — nenhum inventário manual é necessário
KubernetesNamespaces, Deployments, StatefulSets, DaemonSets, Pods, Services — com observação em tempo real baseada em informers
DockerClassifica contêineres em execução, extrai credenciais, observa eventos do Docker, respeita rótulos graphgo.* para sobrescrever tipo/DSN/node-type/name ou ignorar um contêiner
PostgreSQLTabelas, relacionamentos de chave estrangeira, topologia de schema
MongoDBBancos de dados e coleções
MySQLTabelas, relacionamentos de chave estrangeira
RedisKeyspaces e distribuição de chaves
ElasticsearchÍndices, saúde do cluster, status de shards
S3 / MinIOBuckets e prefixos de nível superior
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 em swimlane, contêineres de agrupamento por namespace, pan/zoom, filtro por tipo/saúde, busca de nós

Rótulos Docker

O graph-go respeita um pequeno conjunto de rótulos de contêiner graphgo.* (defina-os em qualquer contêiner que você queira controlar):

RótuloEfeito
graphgo.ignore=trueIgnora completamente este contêiner
graphgo.type=postgresForça o tipo de adaptador (postgres, mongodb, mysql, redis, elasticsearch, s3, http)
graphgo.dsn=...Injeta uma string de conexão (DSN para postgres/mysql, URI para mongodb, caso contrário usa dsn)
graphgo.node-type=gatewaySobrescreve o tipo visual do nó (service, gateway, auth, api, queue, cache)
graphgo.name=...Sobrescreve o nome do nó exibido no grafo e usado em IDs de nós / logs

Use-os 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 a stack de demonstração pré-configurada com a CLI. Esta é a maneira mais rápida de ver o graph-go em um ambiente realista e o caminho de integração pretendido para usuários de primeira viagem:

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 em anexo via Docker Compose. Pressione Ctrl+C para parar a sessão em anexo.

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.

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

Se você precisar de uma desmontagem explícita depois:

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

Execute contra sua própria stack

Um contêiner, uma porta. Monte o socket do Docker como somente leitura e o graph-go descobre automaticamente tudo o 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 do Docker. A flag :ro garante isso — mantenha-a.

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

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


Binário pré-compilado

Binário único e autocontido — a UI é embutida, mas o ponto de entrada ainda é a 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

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


Comandos

ComandoO que faz
graph-go demoInicia a stack de demonstração pré-configurada do Docker Compose a partir do repositório e transmite 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 encadear em jq, verificações de CI ou exportações pontuais.
graph-go versionImprime versão, commit e data de build.
graph-go --health-checkAcessa o /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 <command> --help para a superfície completa por comando.

Fluxo típico:

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

Portas

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

Configuração

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

Use o arquivo de configuração YAML (conf/config.yaml) apenas como uma válvula de escape para serviços que não são acessíveis via descoberta — bancos de dados remotos, serviços de nuvem gerenciados, endpoints externos. Veja conf/config.sample.yaml para o schema 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

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


Baixar ferramenta