Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
graph-go — simplement des nœuds et des graphes | Kitploit
Outils/GitHubGitHub/guilherme-grimm/graph-go
Sécurité de l'Infrastructure CloudSécurité des ConteneursCartographie RéseauAudit de ConfigurationDevSecOpsSécurité des Bases de DonnéesAnalyse de Journaux
GitHubguilherme-grimm/graph-go

graph-go

simplement des nœuds et des graphes

Voir le dépôt
124527il y a 8 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

graph-go

Visualisez votre infrastructure. Zéro configuration.

Pointez graph-go vers votre stack et obtenez une carte interactive et en direct de chaque base de données, table, service et bucket de stockage — avec une surveillance de l'état en temps réel.

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

▶ Regarder en pleine qualité (MP4)


graph-go est un cartographe d'infrastructure orienté CLI. Il découvre automatiquement votre infrastructure en se connectant au démon Docker, en inspectant les conteneurs en cours d'exécution et en sondant les bases de données et les services de stockage. L'interface utilisateur est servie par le backend et reflète l'état réel du backend — aucun inventaire manuel n'est nécessaire.

CapacitéDétails
Auto-découverteDétecte l'infrastructure à partir des conteneurs Docker et des clusters Kubernetes — aucun inventaire manuel nécessaire
KubernetesNamespaces, Deployments, StatefulSets, DaemonSets, Pods, Services — avec surveillance en temps réel basée sur les informers
DockerClassifie les conteneurs en cours d'exécution, extrait les identifiants, surveille les événements Docker, respecte les labels graphgo.* pour remplacer le type/DSN/node-type/name ou ignorer un conteneur
PostgreSQLTables, relations de clés étrangères, topologie du schéma
MongoDBBases de données et collections
MySQLTables, relations de clés étrangères
RedisEspaces de clés et distribution des clés
ElasticsearchIndex, état du cluster, état des shards
S3 / MinIOBuckets et préfixes de premier niveau
Services HTTPPoints de terminaison de santé, cartographie des dépendances entre services
État en temps réelMises à jour d'état en direct via WebSocket toutes les 5 secondes
Graphe interactifDisposition en swimlanes, conteneurs de groupe par namespace, panoramique/zoom, filtrage par type/état, recherche de nœuds

Labels Docker

graph-go respecte un petit ensemble de labels de conteneur graphgo.* (définissez-les sur n'importe quel conteneur que vous souhaitez contrôler) :

LabelEffet
graphgo.ignore=trueIgnorer complètement ce conteneur
graphgo.type=postgresForcer le type d'adaptateur (postgres, mongodb, mysql, redis, elasticsearch, s3, http)
graphgo.dsn=...Injecter une chaîne de connexion (DSN pour postgres/mysql, URI pour mongodb, sinon repli sur dsn)
graphgo.node-type=gatewayRemplacer le type visuel du nœud (service, gateway, auth, api, queue, cache)
graphgo.name=...Remplacer le nom du nœud affiché dans le graphe et utilisé dans les ID de nœuds / les logs

Utilisez-les pour récupérer des conteneurs mal classifiés, pointer graph-go vers un DSN personnalisé, ou masquer un conteneur du graphe sans le supprimer.


Démarrage rapide — essayez en 30 secondes

Démarrez la stack de démonstration pré-remplie avec la CLI. C'est le moyen le plus rapide de voir graph-go face à un environnement réaliste et le parcours d'intégration prévu pour les nouveaux utilisateurs :

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

Ouvrez http://localhost:8080. La commande s'exécute en mode attaché via Docker Compose. Appuyez sur Ctrl+C pour arrêter la session attachée.

Le premier lancement peut prendre plusieurs minutes sur une machine froide, car Docker peut avoir besoin de télécharger les images de base et de construire les images de démonstration locales. Les lancements suivants sont beaucoup plus rapides.

La stack de démonstration nécessite que ces ports hôtes soient libres : 8080, 5432, 27017, 9000 et 9001.

Si vous avez besoin d'un démontage explicite par la suite :

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

Exécuter contre votre propre stack

Un conteneur, un port. Montez le socket Docker en lecture seule et graph-go découvre automatiquement tout ce qui tourne sur l'hôte :

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 ne fait que lire depuis le socket Docker. Le flag :ro l'impose — conservez-le.

Ouvrez http://localhost:8080. L'auto-découverte gère les conteneurs Docker et (lorsqu'un kubeconfig ou un compte de service in-cluster est présent) les ressources Kubernetes sans aucun fichier de configuration.

Pour les services qui vivent en dehors de Docker/Kubernetes (bases de données distantes, services cloud managés), montez un fichier de configuration — voir Configuration.


Binaire pré-compilé

Binaire unique autonome — l'interface utilisateur est intégrée, mais le point d'entrée reste 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

Ouvrez http://localhost:8080. Autres plateformes sur la page Releases.


Commandes

CommandeCe qu'elle fait
graph-go demoDémarre la stack de démonstration Docker Compose pré-remplie depuis le dépôt et diffuse sa sortie au premier plan.
graph-go serveDémarre le serveur HTTP avec auto-découverte et mises à jour en direct (par défaut - identique à une exécution sans argument).
graph-go scanExécute la découverte une fois et émet le graphe en JSON sur stdout. Utile pour le pipe vers jq, les vérifications CI, ou les exports ponctuels.
graph-go versionAffiche la version, le commit et la date de build.
graph-go --health-checkInterroge /health en local et se termine avec 0/1. Utilisé par le HEALTHCHECK du conteneur ; pas pour un usage interactif.

Flags globaux (s'appliquent à chaque sous-commande) : --config, --log-level, --log-format. Voir graph-go <command> --help pour la surface complète par commande.

Flux typique :

  1. graph-go demo pour une visite locale réaliste.
  2. graph-go serve pour exécuter contre votre propre infrastructure.
  3. graph-go scan pour l'automatisation ponctuelle, les exports, ou les vérifications CI.

Ports

PortObjectif
8080graph-go (UI + API + WebSocket — production)
5173Serveur de développement Vite (développement uniquement — voir CONTRIBUTING.md)
9001Console MinIO (stack de démonstration uniquement)

Configuration

L'auto-découverte est la voie à suivre. Montez le socket Docker et/ou exécutez-vous dans un cluster Kubernetes — graph-go découvre votre infrastructure sans aucun fichier de configuration nécessaire.

Utilisez le fichier de configuration YAML (conf/config.yaml) uniquement comme échappatoire pour les services qui ne sont pas joignables via la découverte — bases de données distantes, services cloud managés, points de terminaison externes. Voir conf/config.sample.yaml pour le schéma complet — des exemples pour chaque adaptateur et chaque bloc de configuration (server, docker, kubernetes, connections).

Pour utiliser un fichier de configuration avec la commande Docker ci-dessus :

Télécharger l’outil