Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/zomry1/samuraizer
OSINT (Inteligencia de Fuentes Abiertas)Recopilación de InformaciónUtilidades y FrameworksInteligencia de AmenazasAprendizaje AutomáticoAprendizaje y EducaciónCrawlerRecursos Curados
GitHubzomry1/samuraizer

Samuraizer

NotebookLM potenciado — diseñado específicamente para investigadores de seguridad.

Ver Repositorio
29hace 4 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Samuraizer

Samuraizer — Motor de Base de Conocimientos de Ciberseguridad

NotebookLM con esteroides — diseñado específicamente para investigadores de seguridad.

Self-hosted Built For
License Python React GitHub last commit

💡 ¿Por qué Samuraizer?

Todo investigador de seguridad conoce esa sensación — encuentras un repositorio interesante en GitHub, un artículo fresco sobre un CVE, una publicación de blog sobre una nueva técnica de explotación. Te lo reenvías a ti mismo por WhatsApp. Inmediatamente se pierde en el chat. Semanas después realmente necesitas ese artículo — y ha desaparecido.

Deja de enviarte enlaces que nunca volverás a encontrar — envíalos a Samuraizer una vez, y serán resumidos, etiquetados y buscables para siempre.

Antes 😵Después 🗡️

Enlaces dispersos ahogándose en el historial del chat

🔐 Privacidad local primero (función solo local)

🎯 Modo de privacidad extra (solo local) — ejecutar con ollama, todos los datos permanecen en tu máquina.

  • 🗄️ Almacenamiento vectorial local en samuraizer.db + incrustaciones locales de IA mediante Ollama.
  • ⚡ Funciona completamente sin conexión una vez descargados los modelos (ollama pull qwen3:4b, ollama pull qwen3-embedding:8b).
  • ✅ Ideal para equipos de seguridad e investigadores que requieren configuraciones aisladas/desconectadas.

🧩 Lo que obtienes (de un vistazo)

🔍 Analizar — Pega URLs, observa resultados en streaming

  • 📝 Pega una o más URLs (repositorios de GitHub, artículos sobre CVEs, publicaciones de blog, videos de YouTube) — los resultados fluyen en tiempo real
  • 📄 Sube archivos directamente desde el navegador o Telegram — el texto completo se extrae, analiza, almacena y es visible en la interfaz
    • formatos compatibles: .pdf, .docx, .pptx, .txt, .md
  • 🗞️ Escáner de blogs: pega la página principal de un blog y extrae todos los enlaces de artículos para análisis por lotes con un solo clic
  • ✨ Lectura sugerida: cada sesión se muestra una entrada no leída relevante en la pestaña Analizar para mantener tu cola en movimiento

🗂️ Base de Conocimientos

  • ✏️ Edición de etiquetas en línea (añadir/eliminar etiquetas en entradas, fuentes y elementos de listas)
  • 🔎 Búsqueda semántica (búsqueda vectorial mediante incrustaciones de Gemini) + búsqueda clásica por texto completo
  • 🧩 Nube de etiquetas + multifiltro (por etiqueta, categoría, fuente, lista, leído/útil)
  • 📚 Gestión de listas — agrupa entradas en listas manuales, listas RSS o listas de canales
  • 👁️‍🗨️ Vista previa al pasar el ratón (tarjetas de resumen) y botones de copia rápida

🗺️ Grafo de Conocimiento

  • Visualiza toda tu base de conocimientos como un grafo interactivo dirigido por fuerzas
  • Las entradas y etiquetas son nodos — las aristas muestran qué etiquetas enlazan a qué artículos
  • Haz clic para previsualizar una entrada; haz doble clic para abrir la URL original
  • Codificado por colores según la categoría (CVE, artículo, herramienta, video, blog, etc.)
  • Busca etiquetas para resaltar clústeres relacionados en todo el grafo

📡 Fuentes RSS y Suscripciones a YouTube

  • Añade fuentes RSS/Atom — el servidor consulta cada hora y automáticamente ingiere y resume nuevas publicaciones
  • Las nuevas publicaciones se añaden automáticamente a la Base de Conocimientos
  • Cada fuente se convierte en su propia lista, facilitando la revisión por lotes
  • Los elementos de las fuentes muestran metadatos de origen y pueden etiquetarse/filtrarse como cualquier entrada

🎥 Suscripciones a Canales de YouTube

  • Suscríbete a canales de YouTube mediante URL (p.ej. https://www.youtube.com/@handle, /channel/UCxxx)
  • Previsualiza los últimos videos antes de suscribirte y selecciona qué videos analizar
  • Al suscribirte, los videos seleccionados se analizan inmediatamente; las futuras subidas se consultan automáticamente cada hora
  • Se ejecuta mediante la API /yt-channels y aparece en la interfaz bajo las secciones RSS/YT

🤖 Bot de Telegram (Opcional)

  • Envía cualquier URL al bot — la analiza a través del mismo backend y devuelve una tarjeta formateada
  • Envía un archivo PDF — lo descarga, analiza y devuelve una tarjeta de resultado con un enlace para ver/descargar el archivo
  • Actualizaciones de progreso en vivo mientras se ejecuta el análisis
  • Recibe una notificación de Lectura sugerida — el bot proactivamente muestra entradas no leídas

Analizando una URL

Lectura sugerida diaria

💬 Chat (RAG + streaming + contexto fijado)

  • Haz preguntas sobre tu base de conocimientos — las respuestas se citan de las mejores coincidencias
  • ⚡ Respuestas en streaming con escritura en vivo y puntuaciones de relevancia por fuente
  • 🗂️ Múltiples sesiones de chat con historial guardado y selección de modelo
  • 📌 Fija artículos específicos como contexto — escribe @ para autocompletar o usa el botón de @ para explorar
    • Cuando se fijan entradas, Gemini responde solo a partir de esos artículos — sin ruido de RAG
    • Las entradas fijadas aparecen como fichas sobre el campo de entrada; las fuentes muestran una insignia 📌 en lugar de una puntuación
    • Perfecto para sumergirse en un PDF, artículo o CVE específicos

Chat RAG con puntuaciones de fuente

Chat con contexto fijado

[!IMPORTANT] ¡Da forma al futuro de Samuraizer! Actualmente estamos votando nuevas funciones como LLMs locales y exportación a Obsidian. ¡Vota aquí!


🏗 Arquitectura (alto nivel)

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

🧠 Cómo funciona (de extremo a extremo)

  1. Envía una URL o PDF a través de la interfaz web (o del bot de Telegram).
  2. El backend determina el tipo (repositorio de GitHub, artículo de blog, fuente RSS, PDF, etc.) y obtiene/extrae el contenido.
  3. El contenido se envía a Gemini 2.5 Flash para generar:
    • Un resumen conciso
    • Una categoría y etiquetas
    • (Opcionalmente) incrustaciones utilizadas para la búsqueda semántica
  4. Los resultados se almacenan en samuraizer.db y se muestran en el frontend.
  5. El frontend te permite:
    • Filtrar por etiquetas, categoría, fuente, lista, indicadores de leído/útil
    • Editar etiquetas en línea (las actualizaciones se persisten mediante PATCH /entries/<id>)
    • Usar búsqueda semántica (búsqueda vectorial sobre incrustaciones de Gemini)
  6. Las fuentes RSS se consultan periódicamente; las nuevas publicaciones se ingieren automáticamente.

🧰 Stack Tecnológico

CapaTecnologías / Librerías

🚀 Configuración

Elige tu método de configuración preferido:

⚙️ Configuración Local (instalación manual)

0) Clona el repositorio 📥

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

1) Configuración 🔐

Copia .env.example a .env y completa tus valores. También puedes abrir la interfaz web, ir a la pestaña Configuración y ajustar allí los parámetros (proveedor, claves API, nombres de modelos de Ollama, nombres de modelos de incrustación) antes de guardar.

root@kitploit:~
cp .env.example .env
🐳 Configuración con Docker (recomendada)

La forma más fácil de ejecutar el stack completo — un solo comando construye e inicia todo.

0) Clona el repositorio 📥

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

1) Configuración 🔐

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

2) Construir y ejecutar ▶️

Todos los archivos de Docker están en la carpeta docker/. Ejecuta los comandos desde la raíz del proyecto:

Gemini (nube) — predeterminado:

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

Ollama en CPU:

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

Ollama en GPU NVIDIA:

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

📺 Obtención de Transcripciones de YouTube

¿Por qué no youtube-transcript-api?

La implementación original usaba la biblioteca Python de código abierto youtube-transcript-api. Funciona bien localmente pero tiene una limitación crítica en la práctica: YouTube bloquea agresivamente las direcciones IP que realizan solicitudes automatizadas de transcripciones, especialmente:

  • IPs pertenecientes a proveedores de nube / hosts VPS (AWS, GCP, Azure, Hetzner, etc.)
  • IPs que consultan el endpoint de transcripciones con demasiada frecuencia

Esto significaba que después de analizar solo unos pocos videos, todo el servidor quedaba bloqueado y cada recuperación de transcripción posterior fallaba con un error IPBlocked / RequestBlocked — rompiendo por completo el análisis de videos de YouTube.

Solución actual: transcriptapi.com

Samuraizer ahora usa transcriptapi.com — una API de pago de terceros que maneja la obtención de transcripciones de YouTube por su lado, enrutando a través de una infraestructura que no está bloqueada.

Ventajas:

  • Sin bloqueos de IP — ellos gestionan el problema anti-bot por ti
📦 Endpoints de la API

Analizar una URL

POST /analyze

Body:

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

Analizar un PDF

POST /analyze-pdf

Body: multipart/form-data con un campo file que contenga un archivo .pdf. Transmite eventos NDJSON con la misma estructura que /analyze (usando el nombre del archivo como clave url).

Recuperar un PDF almacenado

GET /entries/<id>/pdf — sirve el PDF en línea en el navegador. GET /entries/<id>/pdf?dl=1 — sirve el PDF como descarga de archivo.


🙌 Contribuciones

  1. Haz un fork
  2. Crea una rama
  3. Realiza cambios
  4. Envía un PR

⚖️ Licencia

MIT

Descargar herramienta
Samuraizer — NotebookLM potenciado — diseñado específicamente para investigadores de seguridad. | Kitploit

Analizados, etiquetados y listos para ser encontrados
Backend
Python, Flask, SQLite, feedparser, PyMuPDF
LLMGemini 2.5 Flash (Gemini API), Ollama (local opcionalmente)
FrontendReact 18, Vite, Tailwind CSS
Botpython-telegram-bot v20
Transcripcionestranscriptapi.com
VariableRequeridaDónde conseguirla
LLM_PROVIDERNogemini (predeterminado, nube) u ollama (local)
GEMINI_API_KEYCuando se usa geminiGoogle AI Studio → Obtener clave API
OLLAMA_URLCuando se usa ollamaURL de la API de Ollama (predeterminado: http://localhost:11434)
OLLAMA_MODELCuando se usa ollamaModelo de razonamiento (predeterminado: qwen3:14b)
OLLAMA_EMBED_MODELCuando se usa ollamaModelo de incrustación (predeterminado: qwen3-embedding:8b)
TELEGRAM_BOT_TOKENNoCrea un bot con @BotFather en Telegram
GITHUB_TOKENNoGitHub → Configuración → Configuración de desarrollador → Tokens de acceso personal — aumenta el límite de tasa de API de 60 a 5,000 solicitudes/hora
TRANSCRIPTAPINotranscriptapi.com/dashboard/api-keys — requerido para obtener transcripciones de YouTube
SAMURAIZER_URLNoURL de tu backend (predeterminado: http://localhost:8000), utilizado por el bot de Telegram
🏠 Modo Local (Ollama)

Ejecuta Samuraizer completamente sin conexión con Ollama:

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

Si ya tienes incrustaciones de Gemini, cambiar a Ollama las eliminará automáticamente en el próximo inicio (incompatibilidad de dimensiones). Vuelve a incrustarlas mediante la interfaz o POST /entries/embed-all.

2) Instala las dependencias 📦

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) Ejecuta el backend ▶️

root@kitploit:~
python server.py

4) Ejecuta el frontend 🌐 (nueva terminal)

root@kitploit:~
cd frontend
npm run dev

5) (Opcional) Ejecuta el bot de Telegram 🤖 (nueva terminal)

root@kitploit:~
python telegram_bot.py
Requisitos previos para NVIDIA GPU

Windows (WSL 2):

  1. Instala los controladores más recientes NVIDIA Game Ready / Studio en Windows — no se necesita un controlador Linux independiente dentro de WSL.
  2. Instala WSL 2: abre PowerShell como Administrador y ejecuta:
    root@kitploit:~
    wsl --install
    wsl --update
    
  3. Instala Docker Desktop para Windows y en su configuración:
    • General → habilita "Use the WSL 2 based engine"
    • Resources → WSL Integration → habilita para tu distribución

Docker Desktop para Windows incluye automáticamente el runtime de contenedores NVIDIA — no se necesitan pasos adicionales.

Linux:

Instala el 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 en GPU AMD (requiere GPU compatible con ROCm + controlador amdgpu en Linux):

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

Eso es todo. El frontend está en http://localhost y la API en http://localhost:8000.

Consejo: Al usar cualquier perfil de Ollama, establece LLM_PROVIDER=ollama en tu .env. La OLLAMA_URL se establece automáticamente en http://ollama:11434 dentro de los contenedores — no necesitas cambiarla.

Después del primer inicio con Ollama, descarga los modelos (usa el nombre del contenedor que coincida con el perfil que iniciaste):

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
  • El backend y el frontend se reinician automáticamente en caso de fallo.
  • Docker almacena la base de datos y el archivo de registro en el directorio data/ del proyecto y las copias de seguridad en db_backups/.
  • Los archivos de modelo de Ollama se almacenan en el volumen Docker ollama_data (persiste entre reinicios).
  • El bot de Telegram está desactivado por defecto. Combina perfiles para habilitarlo junto con Ollama:
root@kitploit:~
docker compose -f docker/docker-compose.yml --profile ollama-nvidia --profile bot up -d

Actualización

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

Detener

root@kitploit:~
docker compose -f docker/docker-compose.yml down
  • API REST simple (GET /api/v2/youtube/transcript)
  • Nivel gratuito disponible; los créditos se cobran solo en caso de éxito (HTTP 200)
  • Códigos de error reintentables (408 / 503) con semántica clara
  • Desventajas:

    • No es gratuito más allá del nivel gratuito (facturación basada en créditos)
    • Dependencia externa — si su servicio está caído, la obtención de transcripciones falla
    • Los datos pasan por un tercero

    Configuración: Añade a .env:

    root@kitploit:~
    TRANSCRIPTAPI=tu_clave_aqui
    

    Obtén una clave en transcriptapi.com/dashboard/api-keys.

    Alternativas a considerar

    OpciónCómo funcionaRiesgo de bloqueo IPCosto
    transcriptapi.com (actual)API REST gestionadaNinguno (problema de ellos)Basado en créditos
    yt-dlpDescarga subtítulos mediante --write-sub --skip-downloadBajo (imita al navegador)Gratuito, autoalojado
    youtube-transcript-api + cookiesPasa un archivo cookies.txt de Netscape desde una sesión de navegador iniciadaMedio (riesgo de cuenta desechable)Gratuito
    YouTube Data API v3API oficial de Google, sin scrapingNingunoCuota gratuita, luego pago
    SupadataAPI REST gestionada similarNingunoNivel gratuito (100 solicitudes/día)

    Mejor alternativa gratuita: yt-dlp — tiene mantenimiento activo, imita solicitudes reales de navegador y es poco probable que sea bloqueado tan rápido como una solicitud HTTP simple. Para cambiarlo, reemplaza _fetch_youtube_content para ejecutar yt-dlp --write-auto-sub --sub-format vtt --skip-download y analiza el archivo .vtt resultante.

    Listar entradas

    GET /entries (admite filtros: search, category, tag, source, list_id, read, useful)

    Suscripciones a canales de YouTube

    • GET /yt-channels — lista los canales suscritos (id, channel_id, channel_url, name, last_checked)
    • POST /yt-channels/preview — body { "url": "https://www.youtube.com/@handle" }, devuelve información del canal + últimos videos (url/title/published)
    • POST /yt-channels — body { "url": "...", "name": "opcional", "analyze_urls": ["https://...", ...] }; crear suscripción y opcionalmente analizar videos seleccionados
    • POST /yt-channels/<id>/poll — consulta manual inmediata para un canal
    • DELETE /yt-channels/<id> — eliminar suscripción

    Gestionar etiquetas

    • Las ediciones de etiquetas se realizan mediante PATCH /entries/<id> con JSON { "tags": ["tag1","tag2"] }