Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
graph-go — Semplicemente nodi e grafi | Kitploit
Strumenti/GitHubGitHub/guilherme-grimm/graph-go
Sicurezza dell'Infrastruttura CloudSicurezza dei ContenitoriMappatura della ReteAudit di ConfigurazioneDevSecOpsSicurezza dei DatabaseAnalisi dei Log
GitHubguilherme-grimm/graph-go

graph-go

Semplicemente nodi e grafi

Vedi Repository
1245279 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

graph-go

Visualizza la tua infrastruttura. Zero Configurazione.

Punta graph-go sulla tua infrastruttura e ottieni una mappa interattiva e in tempo reale di ogni database, tabella, servizio e bucket di storage — con monitoraggio dello stato in tempo reale.

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

▶ Guarda in qualità completa (MP4)


graph-go è un mapper di infrastruttura CLI-first. Scopre automaticamente la tua infrastruttura connettendosi al daemon Docker, ispezionando i container in esecuzione e sondando database e servizi di storage. L'interfaccia utente è servita dal backend e riflette lo stato reale del backend — nessun inventario manuale necessario.

CapacitàDettagli
Auto-discoveryRileva l'infrastruttura dai container Docker e dai cluster Kubernetes — nessun inventario manuale necessario
KubernetesNamespace, Deployment, StatefulSet, DaemonSet, Pod, Service — con watching in tempo reale basato su informer
DockerClassifica i container in esecuzione, estrae le credenziali, osserva gli eventi Docker, rispetta le etichette graphgo.* per sovrascrivere tipo/DSN/node-type/name o ignorare un container
PostgreSQLTabelle, relazioni di chiave esterna, topologia dello schema
MongoDBDatabase e collezioni
MySQLTabelle, relazioni di chiave esterna
RedisKeyspace e distribuzione delle chiavi
ElasticsearchIndici, stato del cluster, stato degli shard
S3 / MinIOBucket e prefissi di primo livello
Servizi HTTPEndpoint di health, mappatura delle dipendenze tra servizi
Stato in tempo realeAggiornamenti di stato live via WebSocket ogni 5 secondi
Grafo interattivoLayout a swimlane, contenitori di gruppo per namespace, pan/zoom, filtro per tipo/stato, ricerca dei nodi

Etichette Docker

graph-go rispetta un piccolo insieme di etichette graphgo.* sui container (impostale su qualsiasi container che vuoi controllare):

EtichettaEffetto
graphgo.ignore=trueSalta completamente questo container
graphgo.type=postgresForza il tipo di adapter (postgres, mongodb, mysql, redis, elasticsearch, s3, http)
graphgo.dsn=...Inietta una stringa di connessione (DSN per postgres/mysql, URI per mongodb, altrimenti ricade su dsn)
graphgo.node-type=gatewaySovrascrive il tipo di nodo visivo (service, gateway, auth, api, queue, cache)
graphgo.name=...Sovrascrive il nome del nodo mostrato nel grafo e usato negli ID dei nodi / nei log

Usale per recuperare container classificati erroneamente, puntare graph-go su un DSN personalizzato o nascondere un container dal grafo senza rimuoverlo.


Avvio rapido — provalo in 30 secondi

Avvia lo stack demo preconfigurato con la CLI. Questo è il modo più veloce per vedere graph-go in un ambiente realistico ed è il percorso di onboarding previsto per i nuovi utenti:

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

Apri http://localhost:8080. Il comando viene eseguito in modalità attached tramite Docker Compose. Premi Ctrl+C per fermare la sessione attached.

La prima esecuzione può richiedere diversi minuti su una macchina a freddo perché Docker potrebbe dover scaricare le immagini di base e compilare le immagini demo locali. Le esecuzioni successive sono molto più veloci.

Lo stack demo richiede che queste porte host siano libere: 8080, 5432, 27017, 9000 e 9001.

Se hai bisogno di una rimozione esplicita in seguito:

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

Esegui sulla tua infrastruttura

Un container, una porta. Monta il socket Docker in sola lettura e graph-go scoprirà automaticamente tutto ciò che è in esecuzione sull'host:

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 legge solo dal socket Docker. Il flag :ro lo impone — mantienilo.

Apri http://localhost:8080. L'auto-discovery gestisce i container Docker e (quando è presente un kubeconfig o un service account in-cluster) le risorse Kubernetes senza alcun file di configurazione.

Per i servizi che risiedono al di fuori di Docker/Kubernetes (database remoti, servizi cloud gestiti), monta un file di configurazione — vedi Configurazione.


Binario precompilato

Binario singolo e autonomo — l'interfaccia utente è incorporata, ma l'entrypoint è comunque la 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

Apri http://localhost:8080. Altre piattaforme sulla pagina delle Releases.


Comandi

ComandoCosa fa
graph-go demoAvvia lo stack demo preconfigurato di Docker Compose dal repository e trasmette il suo output in primo piano.
graph-go serveAvvia il server HTTP con auto-discovery e aggiornamenti live (predefinito - come eseguirlo senza argomenti).
graph-go scanEsegue la discovery una volta e restituisce il grafo come JSON su stdout. Utile per il piping in jq, controlli CI o esportazioni one-shot.
graph-go versionStampa versione, commit e data di build.
graph-go --health-checkColpisce /health locale ed esce con 0/1. Usato dall'HEALTHCHECK del container; non per uso interattivo.

Flag globali (si applicano a ogni sottocomando): --config, --log-level, --log-format. Vedi graph-go <command> --help per la superficie completa per comando.

Flusso tipico:

  1. graph-go demo per una panoramica locale realistica.
  2. graph-go serve per eseguirlo sulla tua infrastruttura.
  3. graph-go scan per automazione one-shot, esportazioni o controlli CI.

Porte

PortaScopo
8080graph-go (UI + API + WebSocket — produzione)
5173Vite dev server (solo sviluppo — vedi CONTRIBUTING.md)
9001MinIO console (solo stack demo)

Configurazione

L'auto-discovery è la strada. Monta il socket Docker e/o esegui all'interno di un cluster Kubernetes — graph-go scopre la tua infrastruttura senza bisogno di alcun file di configurazione.

Usa il file di configurazione YAML (conf/config.yaml) solo come via di fuga per i servizi che non sono raggiungibili tramite discovery — database remoti, servizi cloud gestiti, endpoint esterni. Vedi conf/config.sample.yaml per lo schema completo — esempi per ogni adapter e ogni blocco di configurazione (server, docker, kubernetes, connections).

Per usare un file di configurazione con il comando Docker sopra:

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

Solo uso autorizzato: graph-go serve per visualizzare infrastrutture che possiedi o per cui hai il permesso di accesso. Non puntarlo su sistemi senza autorizzazione.


Panoramica dell'architettura

Backend (Go)

Scarica lo strumento