
flowsint v1.2.12
Eine moderne Plattform für visuelle, flexible und erweiterbare graphbasierte Untersuchungen. Für Cybersicherheitsanalysten und Ermittler.
Flowsint
Flowsint ist ein Open-Source-OSINT-Graphen-Explorationstool, das für ethische Ermittlungen, Transparenz und Verifizierung entwickelt wurde.
Ethik: Bitte lesen Sie ETHICS.md für Richtlinien zur verantwortungsvollen Nutzung.
https://github.com/user-attachments/assets/eaabfa81-d7b3-414d-8cf7-f69b4e37bab6
https://github.com/user-attachments/assets/7457d94a-cf1d-4a97-949f-f9b1d8d92644
https://github.com/user-attachments/assets/65c3f26e-7132-4853-be45-21b8933688bd
Mitwirken
Flowsint befindet sich noch in der frühen Entwicklungsphase und braucht definitiv die Hilfe der Community! Zögern Sie nicht, Issues zu melden, Funktionen vorzuschlagen usw.
Erste Schritte
Keine Lust zu lesen? Verstanden. Hier sind Ihre Installationsanweisungen:
Linux / macOS
1. Voraussetzungen installieren
- Docker
- Make
2. Installationsbefehl ausführen
git clone https://github.com/reconurge/flowsint.git
cd flowsint
make prod
Windows
Kein Make erforderlich. Funktioniert sowohl in der Eingabeaufforderung (cmd) als auch in PowerShell.
1. Voraussetzungen installieren
- Docker Desktop (stellen Sie sicher, dass es läuft, bevor Sie den nächsten Schritt ausführen)
- Git
2. Klonen und Umgebungsdateien einrichten
git clone https://github.com/reconurge/flowsint.git
cd flowsint
copy .env.example .env
copy .env.example flowsint-api\.env
copy .env.example flowsint-core\.env
copy .env.example flowsint-app\.env
3. Starten
docker compose -f docker-compose.prod.yml up -d
Dies zieht die vorgebauten Images aus der GitHub Container Registry — kein lokaler Build erforderlich.
Erste Anmeldung
Gehen Sie dann zu http://localhost:5173/register und erstellen Sie ein Konto. Es gibt standardmäßig keine Anmeldedaten oder Konten.
✅ OSINT-Ermittlungen erfordern ein hohes Maß an Privatsphäre. Alles wird auf Ihrem Rechner gespeichert.
In einem Netzwerk bereitstellen (Team / Server)
Das gleiche Setup funktioniert sofort auf einem Server: Das Frontend bedient die Benutzeroberfläche und leitet alle API-Aufrufe intern weiter, sodass keine zusätzliche Konfiguration für Clients erforderlich ist.
git clone https://github.com/reconurge/flowsint.git
cd flowsint
cp .env.example .env
# .env bearbeiten — siehe „Vor der Bereitstellung in einem Netzwerk" unten
docker compose -f docker-compose.prod.yml up -d
Jeder im Netzwerk kann dann auf Flowsint unter http://<server-ip>:5173 zugreifen.
Vor der Bereitstellung in einem Netzwerk die Standard-Geheimnisse in .env ändern:
AUTH_SECRET— signiert Authentifizierungstokens. Eines generieren:openssl rand -hex 32MASTER_VAULT_KEY_V1— verschlüsselt gespeicherte API-Schlüssel. Einen generieren:python3 -c "import os, base64; print('base64:' + base64.b64encode(os.urandom(32)).decode())"NEO4J_PASSWORD— Neo4j-Datenbankpasswort.
Fügen Sie außerdem Ihren Server-Hostnamen/die IP zur Host-Header-Allowlist hinzu in flowsint-app/nginx.conf (suchen Sie nach map $http_host $is_flowsint_host). Die Standard-Allowlist akzeptiert nur localhost / 127.0.0.1 / [::1], was Einzelbenutzer-Installationen gegen DNS-Rebinding schützt; LAN- und öffentliche Bereitstellungen müssen ihren eigenen Hostnamen aktivieren. Zwei auskommentierte Vorlagenzeilen im selben Map-Block zeigen das Format.
Nur Port 5173 ist für das Netzwerk freigegeben. PostgreSQL, Redis, Neo4j und die API sind auf dem Server an 127.0.0.1 gebunden und nur über den Frontend-Proxy erreichbar.
Um eine bestimmte Version statt latest festzulegen, setzen Sie FLOWSINT_VERSION in .env (z. B. FLOWSINT_VERSION=1.2.10).
HTTPS (empfohlen außerhalb eines vertrauenswürdigen LANs): Platzieren Sie einen beliebigen Reverse-Proxy vor Port 5173. Beispiel mit Caddy:
flowsint.example.com {
reverse_proxy 127.0.0.1:5173
}
Wenn Sie einen Reverse-Proxy vorschalten, binden Sie den App-Port in docker-compose.prod.yml auch an localhost ("127.0.0.1:5173:8080"), sodass Clients nur über HTTPS zugreifen können.
Was ist das?
Flowsint ist ein graphenbasiertes Ermittlungstool, das sich auf Reconnaissance und OSINT (Open Source Intelligence) konzentriert. Es ermöglicht Ihnen, Beziehungen zwischen Entitäten über eine visuelle Graphenoberfläche und automatisierte Enricher zu erkunden.
Verfügbare Enricher
Domain-Enricher
- Reverse-DNS-Auflösung - Domains finden, die auf eine IP zeigen
- DNS-Auflösung - Domain in IP-Adressen auflösen
- Subdomain-Erkennung - Subdomains aufzählen
- WHOIS-Abfrage - Domain-Registrierungsinformationen abrufen
- Domain zu Website - Domain in Website-Entität umwandeln
- Domain zu Root-Domain - Root-Domain extrahieren
- Domain zu ASN - Mit der Domain verknüpfte ASN finden
- Domain-Verlauf - Historische Domain-Daten abrufen
IP-Enricher
- IP-Informationen - Geolokalisierung und Netzwerkdetails abrufen
- IP zu ASN - ASN für IP-Adresse finden
ASN-Enricher
- ASN zu CIDRs - IP-Bereiche für eine ASN abrufen
CIDR-Enricher
- CIDR zu IPs - IPs in einem Bereich aufzählen
Social-Media-Enricher
- Maigret - Benutzernamenssuche über soziale Plattformen
Organisations-Enricher
- Organisation zu ASN - ASNs finden, die der Organisation gehören
- Organisationsinformationen - Unternehmensdetails abrufen
- Organisation zu Domains - Domains finden, die der Organisation gehören
Kryptowährungs-Enricher
- Wallet zu Transaktionen - Transaktionsverlauf abrufen
- Wallet zu NFTs - NFTs finden, die dem Wallet gehören
Website-Enricher
- Website-Crawler - Website-Struktur crawlen und kartieren
- Website zu Links - Alle Links extrahieren
- Website zu Domain - Domain aus URL extrahieren
- Website zu Webtrackern - Tracking-Skripte identifizieren
- Website zu Text - Textinhalt extrahieren
E-Mail-Enricher
- E-Mail zu Gravatar - Gravatar-Profil finden
- E-Mail zu Datenlecks - Datenbanken für Datenlecks prüfen
- E-Mail zu Domains - Verknüpfte Domains finden
Telefon-Enricher
- Telefon zu Datenlecks - Telefonnummer in Datenlecks prüfen
Einzelpersonen-Enricher
- Einzelperson zu Organisation - Organisatorische Zugehörigkeiten finden
- Einzelperson zu Domains - Mit der Person verknüpfte Domains finden
Integrations-Enricher
- N8n-Connector - Verbindung zu N8n-Workflows herstellen
Projektstruktur
Das Projekt ist in autonome Module organisiert:
Kernmodule
- flowsint-core: Kern-Dienstprogramme, Orchestrator, Vault, Celery-Aufgaben und Basisklassen
- flowsint-types: Pydantic-Modelle und Typdefinitionen
- flowsint-enrichers: Enricher-Module, Scan-Logik und Tools
- flowsint-api: FastAPI-Server, API-Routen und nur Schemas
- flowsint-app: Frontend-Anwendung
Modulabhängigkeiten
flowsint-app (Frontend)
↓
flowsint-api (API-Server)
↓
flowsint-core (Orchestrator, Aufgaben, Vault)
↓
flowsint-enrichers (Enricher & Tools)
↓
flowsint-types (Typen)
Entwicklungseinrichtung
Voraussetzungen
- Docker
Ausführen
Linux / macOS (erfordert Make):
make dev
Windows (cmd oder PowerShell, kein Make — erst die .env-Dateien erstellen, siehe Erste Schritte):
docker compose -f docker-compose.dev.yml up -d --build
docker compose -f docker-compose.dev.yml logs -f
Entwicklung
Die App ist unter http://localhost:5173 erreichbar.
Moduldetails
flowsint-core
Kern-Dienstprogramme und Basisklassen, die von allen anderen Modulen verwendet werden:
- Datenbankverbindungen (PostgreSQL, Neo4j)
- Authentifizierung und Autorisierung
- Protokollierung und Ereignisbehandlung
- Konfigurationsverwaltung
- Basisklassen für Enricher und Tools
- Dienstprogrammfunktionen
flowsint-types
Pydantic-Modelle für alle Datentypen:
- Domain, IP, ASN, CIDR
- Einzelperson, Organisation, E-Mail, Telefon
- Website, soziale Profile, Anmeldedaten
- Krypto-Wallets, Transaktionen, NFTs
- Und viele mehr...
flowsint-enrichers
Enricher-Module, die Daten verarbeiten:
- Domain-Enricher (Subdomains, WHOIS, Auflösung)
- IP-Enricher (Geolokalisierung, ASN-Abfrage)
- Social-Media-Enricher (Maigret, Sherlock)
- E-Mail-Enricher (Datenlecks, Gravatar)
- Krypto-Enricher (Transaktionen, NFTs)
- Und viele mehr...
flowsint-api
FastAPI-Server, der Folgendes bereitstellt:
- REST-API-Endpunkte
- Authentifizierung und Benutzerverwaltung
- Graphdatenbank-Integration
- Echtzeit-Ereignisstreaming
flowsint-app
Frontend-Anwendung.
- Moderne und benutzerfreundliche Oberfläche
- Für Leistung gebaut (kein Lag selbst bei Tausenden von Knoten)
Entwicklungsworkflow
- Neue Typen hinzufügen: Zum Modul
flowsint-typeshinzufügen - Neue Enricher hinzufügen: Zum Modul
flowsint-enrichershinzufügen - Neue API-Endpunkte hinzufügen: Zum Modul
flowsint-apihinzufügen - Neue Dienstprogramme hinzufügen: Zum Modul
flowsint-corehinzufügen
Testen
Jedes Modul hat seine eigene (unvollständige) Testsuite:
# Kernmodul testen
cd flowsint-core
uv run pytest
# Typenmodul testen
cd ../flowsint-types
uv run pytest
# Enricher-Modul testen
cd ../flowsint-enrichers
uv run pytest
# API-Modul testen
cd ../flowsint-api
uv run pytest
Mitwirken
- Befolgen Sie die modulare Struktur
- Verwenden Sie uv für die Abhängigkeitsverwaltung
- Schreiben Sie Tests für neue Funktionen
- Aktualisieren Sie die Dokumentation nach Bedarf
- Siehe CONTRIBUTING.md für die Prüfungen, die vor dem Committen ausgeführt werden müssen
⚖️ Rechtliche & Ethische Nutzung
Ethik: Bitte lesen Sie ETHICS.md für Richtlinien zur verantwortungsvollen Nutzung.
Flowsint ist streng für rechtmäßige, ethische Ermittlungs- und Forschungszwecke konzipiert.
Es wurde entwickelt, um Folgenden zu helfen:
- Cybersicherheitsforschern und -analysten
- Journalisten und OSINT-Ermittlern
- Strafverfolgungs- oder Betrugsermittlungsteams
- Organisationen, die interne Bedrohungsinformationen oder digitale Risikoanalysen durchführen
Flowsint darf nicht verwendet werden für:
- Unbefugtes Eindringen, Überwachung oder Datenerfassung
- Belästigung, Doxxing oder das Zielen auf Einzelpersonen
- Politische Manipulation, Desinformation oder Verletzung von Datenschutzgesetzen
Jeglicher Missbrauch dieser Software ist strengstens untersagt und widerspricht den ethischen Grundsätzen, die in ETHICS.md definiert sind.