Quantickle – Netzwerkgraph-Visualisierung für Threat Intelligence
Ein browserbasiertes Tool zur Visualisierung von Netzwerkgraphen, aufgebaut auf Cytoscape.js. Quantickle hilft dabei, verbundene Daten jeder Art zu visualisieren und zu analysieren, ist aber auf Threat Intelligence ausgerichtet.
Installation
Inhaltsverzeichnis
Haftungsausschluss
Dieses Projekt wurde weitgehend per Vibecoding erstellt, daher solltest du entsprechende Vorsichtsmaßnahmen treffen.
Der Code wurde von echten Programmierern überprüft, ist aber nicht gegen Schwachstellen gehärtet. Ohne eine gründliche Sicherheitsüberprüfung nicht extern zugänglich machen.
Überblick
Quantickle ist ein interaktives, browserzentriertes Toolkit zum Erstellen und Untersuchen von Netzwerkgraphen. Das Frontend (Cytoscape.js + eigene UI) übernimmt Rendering, Bearbeitung und Layout-Ausführung, während der schlanke Express-Server die UI ausliefert, Integrationsaufrufe weiterleitet und optional Graphen in Neo4j speichert. Mit anderen Worten: Der Browser besitzt den Graphenzustand und die Visualisierung, während der Server existiert, um bei Bedarf Assets und Integrationen bereitzustellen.
✨ Wichtige Funktionen
- Standardmäßig keine serverseitige Speicherung: Graphen bleiben in deinem Browser, bis du sie exportierst oder über Integrationen synchronisierst.
- Mehrere Methoden zur Dateneingabe:
- CSV-/Kantenlisten-Datei-Upload
- REST-API-Integration
- Direkte Dateneingabe
- Hohe Leistung:
- WebGL-Rendering für große Graphen
- Progressives Laden
- Automatische Leistungsoptimierung
- Flexible Visualisierung:
- Über 20 Layout-Algorithmen
- Anpassbare Knoten-/Kantenstile
- Markdown-fähiges Info-Feld für Knoten
- Dynamische Filterung
- Graphen sind chronologiebewusst (Zeitachsen-Layouts, Zeitstempel-Färbung)
- Kantenkurven-Stile:
- Der Kanteneditor bietet gekrümmte (
bezier), gerade, gebündelte (unbundled-bezier), Taxi- und abgerundete Taxi-Optionen.
- Cytoscape unterstützt über benutzerdefinierte Stile auch
haystack- und segments-Kurvenstile.
- Interaktive Oberfläche:
- Zoom-/Pan-Steuerung
- Knoten ziehen
- Auswahlwerkzeuge
- Suchfunktion
- Der Graph bewegt sich nicht, wenn einzelne Knoten bewegt werden
- Containerknoten zum Gruppieren verwandter Elemente
- Callouts und Bilder für Kontext hinzufügen
- Alle Oberflächen können anpassbare Symbole und Hintergründe haben
- Verknüpfbare Graphen:
- Graphenknoten hinzufügen, um einen Sprungpunkt zu einem anderen Graphen zu erstellen
- Der Zielgraph zeigt eine „Zurück“-Schaltfläche
- Graphen in Baumstrukturen und Dashboards verketten
Funktionen und Beispiele
Hier sind einige Beispiele, was Quantickle kann:
Alles anpassen: Hintergründe, Symbole, Callouts, Knoten- und Kantentypen sowie Forschungsbereiche
Zwischen über 20 Layout-Algorithmen wählen (z. B. Klay vs. Euler)
Teile des Graphen in Containerknoten einschließen und separates Styling und Layout anwenden
Knoten mit Zeitstempeln versehen, um Zeitachsen oder zeitgefärbte Graphen zu erstellen
Graphen verknüpfen, um navigierbare Dashboards und logische Verbindungen zu erstellen
In JSON speichern. Nach CSV, PDF, PNG oder statischem HTML exportieren. CSV importieren, einfügen oder Inhalte aus Integrationen abrufen
Optional in Neo4j-Datenbanken speichern
Integrationen wie VirusTotal oder OpenAI abfragen – Ergebnisse in separaten Containern zurückerhalten
Grundkonzepte
Quantickle baut auf einer kleinen Menge gemeinsamer Konzepte auf, die die Dokumentation verbinden:
-
Koordinatensystem & räumliche Layouts — Quantickles absolute und tiefenbewusste Layouts verwenden einen 0–1000-Würfel für x-, y- und z-Koordinaten. Vollständige räumliche Regeln und Lichtverhalten findest du unter COORDINATE_SYSTEM.md.
-
Graphdateiverwaltung & Projektdateien — .qut-Dateien sind der kanonische gespeicherte Zustand; sie speichern Knoten, Kanten, Metadaten und die Container-Hierarchie.
-
Neo4j-Integration — Der Server kann Graphen in Neo4j speichern und daraus abrufen, einschließlich Metadaten-Snapshots. Details zu Konfiguration und Workflow findest du unter NEO4J_INTEGRATION_README.md.
Datenmodell