Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Samuraizer — NotebookLM mit Steroiden — speziell für Sicherheitsforscher entwickelt. | Kitploit
Tools/GitHubGitHub/zomry1/samuraizer
OSINT (Open-Source-Intelligence)InformationsbeschaffungDienstprogramme & FrameworksBedrohungsanalyseMaschinelles LernenLernen & BildungCrawlerKuratierte Ressourcen
GitHubzomry1/samuraizer

Samuraizer

NotebookLM mit Steroiden — speziell für Sicherheitsforscher entwickelt.

Repository anzeigen
29vor 4 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Samuraizer

Samuraizer — Wissensdatenbank-Engine für Cybersicherheit

NotebookLM im Hochleistungsmodus – speziell für Sicherheitsforscher entwickelt.

Self-hosted Built For
License Python React GitHub last commit

💡 Warum Samuraizer?

Jeder Sicherheitsforscher kennt das Gefühl – man findet ein interessantes GitHub-Repository, einen aktuellen CVE-Artikel, einen Blogbeitrag über eine neue Exploitation-Technik. Man schickt ihn sich selbst auf WhatsApp. Er geht sofort im Chat unter. Wochen später braucht man genau diesen Artikel – und er ist weg.

Hör auf, dir selbst Links zu schicken, die du nie wiederfindest – schicke sie einmal an Samuraizer, und sie werden für immer zusammengefasst, getaggt und durchsuchbar.

Vorher 😵Nachher 🗡️

Verstreute Links, die in der Chat-Historie untergehen

🔐 Datenschutz zuerst – lokal (nur lokales Feature)

🎯 Erweiterter Datenschutzmodus (nur lokal) – mit ollama ausführen, alle Daten bleiben auf deinem Rechner.

  • 🗄️ Lokaler Vektorspeicher in samuraizer.db + lokale KI-Embeddings über Ollama.
  • ⚡ Funktioniert vollständig offline, sobald die Modelle geladen wurden (ollama pull qwen3:4b, ollama pull qwen3-embedding:8b).
  • ✅ Ideal für Sicherheitsteams und Forscher, die abgeschottete/isolierte Umgebungen benötigen.

🧩 Das bekommst du (auf einen Blick)

🔍 Analysieren – URLs einfügen, Ergebnisse live streamen

  • 📝 Füge eine oder mehrere URLs ein (GitHub-Repos, CVE-Artikel, Blogbeiträge, YouTube-Videos) – Ergebnisse werden in Echtzeit zurückgestreamt
  • 📄 Dateien hochladen direkt aus dem Browser oder per Telegram – der gesamte Text wird extrahiert, analysiert, gespeichert und in der Benutzeroberfläche angezeigt
    • unterstützte Formate: .pdf, .docx, .pptx, .txt, .md
  • 🗞️ Blog-Scanner: Füge die Startseite eines Blogs ein und extrahiere mit einem Klick alle Artikellinks für die Stapelanalyse
  • ✨ Lesevorschlag: Ein relevanter, ungelesener Eintrag wird in jeder Sitzung auf dem Analyse-Tab eingeblendet, damit deine Warteschlange in Bewegung bleibt

🗂️ Wissensdatenbank

  • ✏️ Inline-Tag-Bearbeitung (Tags bei Einträgen, Feeds und Listenelementen hinzufügen/entfernen)
  • 🔎 Semantische Suche (Vektorsuche über Gemini-Embeddings) + klassische Volltextsuche
  • 🧩 Tag-Cloud + Mehrfachfilterung (nach Tag, Kategorie, Quelle, Liste, gelesen/nützlich)
  • 📚 Listenverwaltung – gruppiere Einträge in manuelle Listen, RSS-Listen oder Kanallisten
  • 👁️‍🗨️ Vorschau beim Überfahren mit der Maus (Zusammenfassungskarten) und Schnellkopieren-Schaltflächen

🗺️ Wissensgraph

  • Visualisiere deine gesamte Wissensdatenbank als interaktiven, kraftbasierten Graphen
  • Einträge und Tags sind Knoten – Kanten zeigen, welche Tags mit welchen Artikeln verknüpft sind
  • Klicken, um einen Eintrag in der Vorschau zu sehen; Doppelklick, um die ursprüngliche URL zu öffnen
  • Farbcodiert nach Kategorie (CVE, Artikel, Tool, Video, Blog usw.)
  • Suche nach Tags, um verwandte Cluster im gesamten Graphen hervorzuheben

📡 RSS-Feeds & YouTube-Abonnements

  • RSS-/Atom-Feeds hinzufügen – der Server fragt stündlich ab und übernimmt und fasst neue Beiträge automatisch zusammen
  • Neue Beiträge werden automatisch zur Wissensdatenbank hinzugefügt
  • Jeder Feed wird zu einer eigenen Liste, was die Stapelprüfung erleichtert
  • Feed-Einträge zeigen Quell-Metadaten und können wie jeder andere Eintrag getaggt und gefiltert werden

🎥 YouTube-Kanal-Abonnements

  • Abonniere YouTube-Kanäle über die URL (z. B. https://www.youtube.com/@handle, /channel/UCxxx)
  • Zeige die neuesten Videos vor dem Abonnieren in der Vorschau an und wähle aus, welche Videos analysiert werden sollen
  • Beim Abonnieren werden die ausgewählten Videos sofort analysiert; zukünftige Uploads werden stündlich automatisch abgerufen
  • Läuft über die /yt-channels-API und erscheint in der Benutzeroberfläche unter den Abschnitten RSS/YT

🤖 Telegram-Bot (optional)

  • Sende eine beliebige URL an den Bot – er analysiert sie über dasselbe Backend und gibt eine formatierte Karte zurück
  • Sende eine PDF-Datei – er lädt sie herunter, analysiert sie und gibt eine Ergebniskarte mit einem Link zum Anzeigen/Herunterladen der Datei zurück
  • Live-Fortschrittsmeldungen werden während der Analyse gestreamt
  • Erhält eine Lesevorschlag-Benachrichtigung – der Bot zeigt proaktiv ungelesene Einträge an

Analysiert eine URL

Täglicher Lesevorschlag

💬 Chat (RAG + Streaming + angehefteter Kontext)

  • Stelle Fragen zu deiner Wissensdatenbank – Antworten werden aus den am besten passenden Einträgen zitiert
  • ⚡ Streaming-Antworten mit Live-Tippanzeige und Relevanzwerten pro Quelle
  • 🗂️ Mehrere Chat-Sitzungen mit gespeichertem Verlauf und Modellauswahl
  • 📌 Bestimmte Artikel anheften als Kontext – tippe @ für Autovervollständigung oder nutze die @-Schaltfläche zum Durchsuchen
    • Wenn Einträge angeheftet sind, antwortet Gemini nur anhand dieser Artikel – kein RAG-Rauschen
    • Angeheftete Einträge erscheinen als Chips über dem Eingabefeld; Quellen zeigen ein 📌-Abzeichen anstelle eines Scores
    • Perfekt, um sich intensiv mit einer bestimmten PDF, einem Write-up oder einer CVE zu beschäftigen

RAG-Chat mit Quellen-Scores

Chat mit angeheftetem Kontext

[!IMPORTANT] Gestalte die Zukunft von Samuraizer! Wir stimmen derzeit über neue Funktionen wie lokale LLMs und Obsidian-Export ab. Stimme hier ab!


🏗 Architektur (Überblick)

root@kitploit:~
flowchart LR
  Browser[Browser UI] -->|HTTP| Frontend[React Frontend]
  Frontend -->|REST/NDJSON| Backend[Flask API]
  Backend -->|SQL| SQLite[(samuraizer.db)]
  Backend -->|API| Gemini[Gemini 2.5 Flash]
  Backend -->|local API| Ollama[Ollama - Local LLM]
  Backend -->|GitHub API| GitHub[GitHub]
  Backend -->|RSS| RSS[RSS feeds]
  Telegram[Telegram Bot] -->|HTTP| Backend

🧠 So funktioniert es (End-to-End)

  1. Sende eine URL oder PDF über die Weboberfläche (oder den Telegram-Bot).
  2. Das Backend bestimmt den Typ (GitHub-Repository, Blogbeitrag, RSS-Feed, PDF usw.) und ruft den Inhalt ab bzw. extrahiert ihn.
  3. Der Inhalt wird an Gemini 2.5 Flash gesendet, um Folgendes zu erzeugen:
    • Eine prägnante Zusammenfassung
    • Eine Kategorie und Tags
    • (Optional) Embeddings für die semantische Suche
  4. Die Ergebnisse werden in samuraizer.db gespeichert und im Frontend angezeigt.
  5. Das Frontend ermöglicht dir:
    • Nach Tags, Kategorie, Quelle, Liste sowie den Flags gelesen/nützlich zu filtern
    • Tags inline zu bearbeiten (Änderungen werden über PATCH /entries/<id> gespeichert)
    • Die semantische Suche zu nutzen (Vektorsuche über Gemini-Embeddings)
  6. RSS-Feeds werden regelmäßig abgerufen; neue Beiträge werden automatisch übernommen.

🧰 Technologie-Stack

EbeneTechnik / Bibliotheken
Backend

🚀 Einrichtung

Wähle deine bevorzugte Einrichtungsmethode:

⚙️ Lokale Einrichtung (manuelle Installation)

0) Repository klonen 📥

root@kitploit:~
git clone https://github.com/zomry1/Samuraizer.git
cd Samuraizer

1) Konfiguration 🔐

Kopiere .env.example in .env und fülle deine Werte aus. Du kannst auch die Weboberfläche öffnen, zum Tab Einstellungen wechseln und die Einstellungen dort vor dem Speichern anpassen (Anbieter, API-Schlüssel, Ollama-Modellnamen, Embedding-Modellnamen).

root@kitploit:~
cp .env.example .env
🐳 Docker-Einrichtung (empfohlen)

Der einfachste Weg, den gesamten Stack zu betreiben – ein Befehl baut und startet alles.

0) Repository klonen 📥

root@kitploit:~
git clone https://github.com/zomry1/Samuraizer.git
cd Samuraizer

1) Konfiguration 🔐

root@kitploit:~
cp .env.example .env
# Edit .env and fill in GEMINI_API_KEY (and any other values you need)

2) Bauen & starten ▶️

Alle Docker-Dateien befinden sich im Ordner docker/. Führe die Befehle aus dem Projektstammverzeichnis aus:

Gemini (Cloud) – Standard:

root@kitploit:~
docker compose -f docker/docker-compose.yml up -d

Ollama auf CPU:

root@kitploit:~
docker compose -f docker/docker-compose.yml --profile ollama up -d

Ollama auf NVIDIA-GPU:

root@kitploit:~
docker compose -f docker/docker-compose.yml --profile ollama-nvidia up -d

📺 Abruf von YouTube-Transkripten

Warum nicht youtube-transcript-api?

Die ursprüngliche Implementierung nutzte die Open-Source-Python-Bibliothek youtube-transcript-api. Sie funktioniert lokal gut, hat aber in der Praxis eine kritische Einschränkung: YouTube blockiert aggressiv IP-Adressen, die automatisierte Transkriptanfragen stellen, insbesondere:

  • IP-Adressen von Cloud-Anbietern / VPS-Hosts (AWS, GCP, Azure, Hetzner usw.)
  • IP-Adressen, die den Transkript-Endpunkt zu häufig aufrufen

Das bedeutete, dass nach der Analyse nur weniger Videos der gesamte Server blockiert wurde und jeder weitere Transkriptabruf mit einem IPBlocked- / RequestBlocked-Fehler fehlschlug – was die YouTube-Videoanalyse vollständig zum Erliegen brachte.

Aktuelle Lösung: transcriptapi.com

Samuraizer verwendet jetzt transcriptapi.com – eine kostenpflichtige Drittanbieter-API, die den Abruf von YouTube-Transkripten auf ihrer Seite übernimmt und über eine Infrastruktur leitet, die nicht blockiert wird.

Vorteile:

  • Keine IP-Sperren – sie lösen das Anti-Bot-Problem für dich
  • Einfache REST-API ()
📦 API-Endpunkte

Eine URL analysieren

POST /analyze

Body:

root@kitploit:~
{ "url": "https://github.com/owner/repo" }

Eine PDF analysieren

POST /analyze-pdf

Body: multipart/form-data mit einem file-Feld, das eine .pdf-Datei enthält. Streamt NDJSON-Ereignisse im gleichen Format wie /analyze (unter Verwendung des Dateinamens als url-Schlüssel).

Eine gespeicherte PDF abrufen

GET /entries/<id>/pdf – stellt die PDF inline im Browser bereit. – stellt die PDF als Dateidownload bereit.


🙌 Mitwirken

  1. Forken
  2. Einen Branch erstellen
  3. Änderungen vornehmen
  4. Einen PR einreichen

⚖️ Lizenz

MIT

Tool herunterladen

Analysiert, getaggt und bereit, gefunden zu werden
Python, Flask, SQLite, feedparser, PyMuPDF
LLMGemini 2.5 Flash (Gemini API), Ollama (optional lokal)
FrontendReact 18, Vite, Tailwind CSS
Botpython-telegram-bot v20
Transkriptetranscriptapi.com
VariableErforderlichWo du sie bekommst
LLM_PROVIDERNeingemini (Standard, Cloud) oder ollama (lokal)
GEMINI_API_KEYBei geminiGoogle AI Studio → API-Schlüssel abrufen
OLLAMA_URLBei ollamaOllama-API-URL (Standard: http://localhost:11434)
OLLAMA_MODELBei ollamaReasoning-Modell (Standard: qwen3:14b)
OLLAMA_EMBED_MODELBei ollamaEmbedding-Modell (Standard: qwen3-embedding:8b)
TELEGRAM_BOT_TOKENNeinErstelle einen Bot mit @BotFather auf Telegram
GITHUB_TOKENNeinGitHub → Einstellungen → Entwicklereinstellungen → Persönliche Zugriffstoken – erhöht das API-Ratenlimit von 60 auf 5.000 Anfragen/Std.
TRANSCRIPTAPINeintranscriptapi.com/dashboard/api-keys – erforderlich für den Abruf von YouTube-Transkripten
SAMURAIZER_URLNeinURL deines Backends (Standard: http://localhost:8000), wird vom Telegram-Bot verwendet
🏠 Lokaler Modus (Ollama)

Betreibe Samuraizer mit Ollama vollständig offline:

root@kitploit:~
# Install Ollama CLI (platform-dependent)
# macOS
curl -fsSL https://ollama.com/install.sh | sh

# Windows
irm https://ollama.com/install.ps1 | iex

# Linux (Ubuntu/Debian)
curl -fsSL https://ollama.com/install.sh | sh
root@kitploit:~
# Start Ollama service
ollama serve

# Install models
ollama pull qwen3:4b            # reasoning
ollama pull qwen3-embedding:8b  # embeddings

# Set provider in .env
LLM_PROVIDER=ollama

Wenn du bereits Gemini-Embeddings hast, werden diese beim nächsten Start durch die Umstellung auf Ollama automatisch gelöscht (Dimensionskonflikt). Führe die Einbettung erneut über die Benutzeroberfläche oder POST /entries/embed-all durch.

2) Abhängigkeiten installieren 📦

root@kitploit:~
# Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

pip install -r requirements.txt

cd frontend
npm install
cd ..

3) Backend starten ▶️

root@kitploit:~
python server.py

4) Frontend starten 🌐 (neues Terminal)

root@kitploit:~
cd frontend
npm run dev

5) (Optional) Telegram-Bot starten 🤖 (neues Terminal)

root@kitploit:~
python telegram_bot.py
Voraussetzungen für NVIDIA-GPU

Windows (WSL 2):

  1. Installiere die neuesten NVIDIA Game Ready / Studio-Treiber unter Windows – innerhalb von WSL wird kein separater Linux-Treiber benötigt.
  2. Installiere WSL 2: Öffne PowerShell als Administrator und führe Folgendes aus:
    root@kitploit:~
    wsl --install
    wsl --update
    
  3. Installiere Docker Desktop für Windows und aktiviere in dessen Einstellungen:
    • Allgemein → „Use the WSL 2 based engine" aktivieren
    • Ressourcen → WSL-Integration → für deine Distribution aktivieren

Docker Desktop für Windows enthält die NVIDIA-Container-Runtime automatisch – keine weiteren Schritte erforderlich.

Linux:

Installiere das NVIDIA Container Toolkit:

root@kitploit:~
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
  sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
  sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

Ollama auf AMD-GPU (erfordert ROCm-fähige GPU + amdgpu-Treiber unter Linux):

root@kitploit:~
docker compose -f docker/docker-compose.yml --profile ollama-amd up -d

Das war's. Das Frontend läuft unter http://localhost und die API unter http://localhost:8000.

Tipp: Wenn du ein Ollama-Profil verwendest, setze LLM_PROVIDER=ollama in deiner .env. Die OLLAMA_URL wird in den Containern automatisch auf http://ollama:11434 gesetzt – du musst sie nicht ändern.

Ziehe nach dem ersten Start mit Ollama die Modelle (verwende den Containernamen, der zum gestarteten Profil passt):

root@kitploit:~
# --profile ollama
docker exec -it samuraizer-ollama-1 ollama pull qwen3:4b
docker exec -it samuraizer-ollama-1 ollama pull qwen3-embedding:8b

# --profile ollama-nvidia
docker exec -it samuraizer-ollama-nvidia-1 ollama pull qwen3:4b
docker exec -it samuraizer-ollama-nvidia-1 ollama pull qwen3-embedding:8b

# --profile ollama-amd
docker exec -it samuraizer-ollama-amd-1 ollama pull qwen3:4b
docker exec -it samuraizer-ollama-amd-1 ollama pull qwen3-embedding:8b
  • Backend und Frontend starten bei einem Fehler automatisch neu.
  • Docker speichert die Datenbank und die Logdatei im data/-Verzeichnis des Projekts und Backups unter db_backups/.
  • Die Ollama-Modelldateien werden im Docker-Volume ollama_data gespeichert (bleibt über Neustarts hinweg erhalten).
  • Der Telegram-Bot ist standardmäßig deaktiviert. Kombiniere Profile, um ihn zusammen mit Ollama zu aktivieren:
root@kitploit:~
docker compose -f docker/docker-compose.yml --profile ollama-nvidia --profile bot up -d

Aktualisieren

root@kitploit:~
git pull
docker compose -f docker/docker-compose.yml up -d --build

Beenden

root@kitploit:~
docker compose -f docker/docker-compose.yml down
GET /api/v2/youtube/transcript
  • Kostenlose Stufe verfügbar; Credits werden nur bei Erfolg berechnet (HTTP 200)
  • Wiederholbare Fehlercodes (408 / 503) mit klarer Semantik
  • Nachteile:

    • Über die kostenlose Stufe hinaus nicht kostenlos (Abrechnung auf Credit-Basis)
    • Externe Abhängigkeit – wenn ihr Dienst ausfällt, schlägt der Transkriptabruf fehl
    • Daten laufen über einen Drittanbieter

    Einrichtung: Füge Folgendes in .env ein:

    root@kitploit:~
    TRANSCRIPTAPI=your_key_here
    

    Hole einen Schlüssel unter transcriptapi.com/dashboard/api-keys.

    Alternativen, die sich lohnen

    OptionFunktionsweiseIP-SperrrisikoKosten
    transcriptapi.com (aktuell)Verwaltete REST-APIKeines (ihr Problem)Auf Credit-Basis
    yt-dlpLädt Untertitel über --write-sub --skip-download herunterGering (ahmt Browser nach)Kostenlos, selbst gehostet
    youtube-transcript-api + CookiesÜbergib eine Netscape-cookies.txt aus einer angemeldeten Browser-SitzungMittel (Risiko von Wegwerf-Konten)Kostenlos
    YouTube Data API v3Offizielle Google-API, kein ScrapingKeinesKostenloses Kontingent, dann kostenpflichtig
    SupadataÄhnliche verwaltete REST-APIKeinesKostenlose Stufe (100 Anfragen/Tag)

    Beste kostenlose Alternative: yt-dlp – es wird aktiv gepflegt, ahmt echte Browseranfragen nach und wird wahrscheinlich nicht so schnell blockiert wie eine einfache HTTP-Anfrage. Zum Wechsel ersetze _fetch_youtube_content so, dass es yt-dlp --write-auto-sub --sub-format vtt --skip-download aufruft und die resultierende .vtt-Datei parst.

    GET /entries/<id>/pdf?dl=1

    Einträge auflisten

    GET /entries (unterstützt Filter: search, category, tag, source, list_id, read, useful)

    YouTube-Kanal-Abonnements

    • GET /yt-channels – listet abonnierte Kanäle auf (id, channel_id, channel_url, name, last_checked)
    • POST /yt-channels/preview – Body { "url": "https://www.youtube.com/@handle" }, gibt Kanalinfo + neueste Videos zurück (url/title/published)
    • POST /yt-channels – Body { "url": "...", "name": "optional", "analyze_urls": ["https://...", ...] }; Abonnement erstellen und optional ausgewählte Videos analysieren
    • POST /yt-channels/<id>/poll – sofortiger manueller Abruf für einen Kanal
    • DELETE /yt-channels/<id> – Abonnement entfernen

    Tags verwalten

    • Tag-Änderungen erfolgen über PATCH /entries/<id> mit JSON { "tags": ["tag1","tag2"] }