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
ShunyaNet-Sentinel — ShunyaNet Sentinel es un programa ligero que monitorea fuentes RSS, las envía a un LLM para su análisis y entrega resúmenes o alertas directamente a la GUI y a Slack. | Kitploit
Herramientas/GitHubGitHub/everythingscomputer/shunyanet-sentinel
OSINT (Inteligencia de Fuentes Abiertas)Recopilación de InformaciónUtilidades y FrameworksInteligencia de AmenazasAprendizaje y Educación
GitHubeverythingscomputer/shunyanet-sentinel

ShunyaNet-Sentinel

ShunyaNet Sentinel es un programa ligero que monitorea fuentes RSS, las envía a un LLM para su análisis y entrega resúmenes o alertas directamente a la GUI y a Slack.

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
Ver Repositorio
4043hace 6 mesesRevisado por Kitploit
ShunyaNetSentinelAppGraphicV1

ShunyaNet Sentinel (ACTUALIZADO: 03/02/2026)

ShunyaNet Sentinel es un programa ligero con temática cyberpunk que ingiere fuentes RSS (por ejemplo, noticias de última hora, redes sociales), las envía a un LLM para su análisis y entrega alertas e informes resumidos directamente a la interfaz gráfica y a Slack en intervalos regulares.

El proyecto está diseñado para utilizar un LLM alojado localmente en la misma máquina o red (por ejemplo, con Tailscale) usando LMStudio u Ollama (Actualización 02/23). También funcionará con una clave API de OpenAI (Actualización 02/23).

Para las alertas, el programa utiliza Webhooks de Slack, lo que permite enviar notificaciones push a un dispositivo móvil.

ShunyaNet Sentinel es compatible con las últimas versiones de Linux, MacOS y Windows*

La calidad de los informes y análisis está influenciada por el prompt, el tamaño del contexto, las fuentes RSS y el LLM elegido. Se recomienda desactivar las funciones de razonamiento. Los modelos que parecen haber funcionado bien y generalmente siguen las instrucciones incluyen:

  • GPT OSS 20b (razonamiento configurado en BAJO en LMStudio)
  • GPT OSS 120b (probablemente excesivo)
  • Hermes 4 70b (mi referencia)
  • Gemma 3 27b it abliterated (versión de mlabonne)
  • Qwen3 32b y/o VL 30b (no recuerdo cuál...)

*Se recomienda encarecidamente macOS o Linux. Consulte Problemas conocidos a continuación.

¡Consulte Consejos, trucos y problemas conocidos al final para obtener información importante!


Flujo de trabajo de alto nivel

  1. El usuario ingresa temas de interés
  2. El usuario proporciona una lista de fuentes RSS
  3. Sentinel extrae las fuentes RSS en intervalos de tiempo configurados por el usuario
  4. El contenido RSS se envía al servidor LLM proporcionado por el usuario
  5. El LLM revisa las fuentes e informa a Sentinel sobre los temas de interés relevantes
  6. Si el webhook de Slack está configurado, las alertas se reenvían y las notificaciones se pueden acceder en iOS/Android (a menudo con enlaces activos al contenido RSS de referencia)
  7. El análisis masivo opcional identifica tendencias a lo largo del tiempo

Capacidades principales

Monitoreo de fuentes RSS

  • Sondeo periódico de fuentes RSS
  • Deduplicación y seguimiento de marcas de tiempo
  • Maneja fuentes lentas o mal formadas (...queda más trabajo por hacer aquí)

Análisis basado en LLM (Opcional)

  • Envía elementos de fuentes RSS al endpoint LLM local/API
  • Clasificación, resumen y filtrado basados en prompts
  • Funciona con cualquier endpoint /v1/chat/completions compatible con OpenAI, diseñado para LMStudio

Alertas / Generación de señales

  • Soporte para webhook de Slack (para obtener información sobre la configuración del webhook, visite: https://docs.slack.dev/messaging/sending-messages-using-incoming-webhooks/)
  • Salida estructurada adecuada para automatización
  • Diseñado para la integración en flujos de trabajo más grandes

Local y autoalojado

  • Aparte de sondear fuentes RSS o enviar respuestas a Slack (opcional), toda la información permanece en el hardware que usted controla

Requisitos

  • Python 3.10+
  • Dependencias listadas en requirements.txt:
    • PySide6==6.10.0
    • feedparser==6.0.12
    • requests==2.31.0
    • python-dateutil==2.9.0.post0

LLM alojado a través de:

  • LM Studio (recomendado)
  • Ollama
  • Clave API de OpenAI
  • (próximamente algunos más)

Instalación

1. Clonar el repositorio (...O descargar el Zip) y navegar a la carpeta

root@kitploit:~
git clone https://github.com/EverythingsComputer/ShunyaNet-Sentinel.git
cd ShunyaNet-Sentinel

2. (Muy recomendado) Crear un entorno virtual

macOS / Linux:

root@kitploit:~
python3 -m venv venv
source venv/bin/activate

Windows (PowerShell):

root@kitploit:~
python -m venv venv
venv\Scripts\Activate.ps1

3. Instalar requisitos

root@kitploit:~
pip install -r requirements.txt

4. Ejecutar

macOS / Linux:

root@kitploit:~
python3 ShunyaNet_Sentinel.py

Windows:

root@kitploit:~
python ShunyaNet_Sentinel.py

Inicio rápido (con LMStudio) (ACTUALIZADO 02/23)

  1. Haga clic en "Load Prompt File" y cargue default_prompt.txt
  2. Haga clic en "Load Data Source File" y cargue la lista RSS Default_test
  3. Abra "Additional Settings" e ingrese:
    • LM_PROVIDER = lmstudio
    • LLM_BASE_URL = <SU IP DEL SERVIDOR LMSTUDIO, ej.: http://x.x.x.x:port/v1>
    • LLM_MODEL = <Recomiendo dejarlo en blanco. Simplemente siga el Paso 4>
    • API_KEY = <déjelo en blanco, a menos que haya configurado una para su servidor>
  4. Cargue el modelo en LM Studio. Active "Serve on Local Network" en Configuración del servidor. Consejos:
    • En la ventana "Load Model"/selección de modelo, active "Manually choose model load parameters"
    • En la ventana de parámetros de carga de su modelo, establezca Max Concurrent Predictions en 1 (por ahora)
    • En la pestaña de inferencia, desactive o minimice el pensamiento, si esa configuración está disponible.
    • Un modelo de tamaño moderado que funciona bien: gpt-oss-20b. Pensamiento configurado en "bajo"
  5. ¡Haga clic en el gato! (...o simplemente presione Fetch / Send)

Instrucciones completas y configuración (ACTUALIZADO 03/02/2026)

  1. Ingrese temas de interés, o cargue una de las listas predeterminadas proporcionadas. Se pueden agregar hasta 10 temas por lista.

  2. Haga clic en "Load Prompt File" para cargar un archivo de prompt. Se proporciona un prompt predeterminado (default_prompt.txt).

    1. Se le anima a modificar y revisar este prompt; puede mejorar sustancialmente la calidad de los informes y la capacidad del LLM para identificar una señal en medio del ruido. Hay MUCHO espacio para la personalización aquí.
    2. Se incluye un 'default_prompt-always-reply.txt' en la carpeta experimental. Está desactualizado, pero puede usarlo para depurar/probar el análisis del LLM y asegurarse de que informe algo en el formato correcto.
    3. ACTUALIZADO 03/02/2026 También se proporciona un prompt 'default_Summary-Report-Only_prompt.txt'. Esta versión no busca seleccionar una señal del ruido, sino resumir un mayor volumen de fuentes relevantes cuando el espacio de información es rico en datos sobre el tema. Por lo tanto, es más útil después de que haya ocurrido el "evento" que está buscando. También se usa mejor con menos frecuencia (por ejemplo, cada media hora para un evento de rápido movimiento y ampliamente reportado, o cada pocas horas para algo con menos datos reportados) y con una gran asignación de tokens para el prompt y la respuesta.
  3. Haga clic en "Load Data Source File" para cargar una lista RSS. Se proporcionan dos listas predeterminadas. Una lista corta "Default_test" y una lista más larga "Default_long", que se centra en noticias mundiales y de última hora.

    1. Personalizar sus propias listas para su región o temas de interés afectará significativamente la salida de información. Se proporciona un ejemplo de lista centrada en una región que utilicé para un viaje reciente ('India_regional_example-v1.txt'). También se incluye un ejemplo centrado en el conflicto de Irán.
    2. Reddit y BlueSky se pueden convertir fácilmente en fuentes RSS. Programas como RSSBridge también pueden generar fuentes RSS a partir de sitios web y redes sociales (por ejemplo, Telegram) que no tienen una.
    3. La lista "Default_test" es una lista corta de varias fuentes RSS. El propósito es mantener la primera extracción RSS rápida y breve, de modo que pueda diagnosticar si todas las piezas funcionan como deberían.
  4. En "Additional Settings", configure los siguientes campos. Estos se guardarán y persistirán si cierra y reinicia el programa. La configuración predeterminada funcionará con la mayoría de las configuraciones, pero aún debe ingresar el campo #1 usted mismo:

  1. Cargue su modelo (por ejemplo, en LMStudio, Ollama) o adquiera su clave API (por ejemplo, para OpenAI) de su elección y asegúrese de configurar su ventana de contexto para que supere cómodamente el valor que ingrese en los campos TOKENS_INPUT de ShunyaNet Sentinel. El programa está diseñado actualmente para ser compatible con LMStudio, Ollama y OpenAI (a través de clave API). Luego, vaya a "Additional Settings" en ShunyaNet Sentinel y complete los siguientes campos según corresponda para su solución LLM:
LMSTUDIO
  • LLM_PROVIDER = lmstudio
  • LLM_BASE_URL = <su URL del servidor LMStudio, ej.: http://localhost:1234/v1>
  • LLM_MODEL = <OPCIONAL. Recomiendo dejarlo en blanco y cargar su modelo directamente en LMStudio. Si es necesario, el formato es como: lmstudio-community/mistral-7b-instruct>
  • LLM_API_KEY = <Déjelo en blanco, a menos que use una clave de autenticación>
OLLAMA
  • LLM_PROVIDER = ollama
  • LLM_BASE_URL = <Su URL del servidor LMStudio, ej.: http://localhost:11434/v1>
  • LLM_MODEL = llama3
  • LLM_API_KEY = = <déjelo vacío/en blanco>
OPENAI (a través de CLAVE API)
  • LLM_PROVIDER = openai
  • LLM_BASE_URL = (no importa: este campo se ignora)
  • LLM_MODEL = gpt-4o-mini
  • LLM_API_KEY = sk-xxxx
  1. ¡Hecho! - Ahora haga clic en el gato! (...o presione "Fetch / Send", o simplemente espere la cantidad de segundos que configuró en FETCH_INTERVAL)

NOTA: Recomiendo mantenerlo simple para la primera ejecución. Use la configuración predeterminada y asegúrese de que funcione. Luego, ajuste el contexto y las fuentes RSS. Luego, ajuste el prompt. ¡Me encantaría ver los prompts mejorados de la gente...!


Consejos, trucos y problemas conocidos

Problemas/Advertencias:

  • Sentinel se cierra espontáneamente en Windows 11 después de unas horas. No tengo idea de por qué. No arroja errores. No tiene este problema en Mac o Linux, ¡y tal vez su sistema sea diferente! Si encuentra este problema y debe usar Windows, le recomiendo configurar una máquina virtual con Linux/Ubuntu (o sugerir una mejor solución, si tiene una!). Nota: ¡este programa funciona bien en una Raspberry Pi!
  • Las malas elecciones de configuración pueden sobrecargar su LLM o hardware. Asegúrese de que su LLM pueda procesar y responder de manera confiable más rápido que su intervalo de extracción RSS.
  • LMStudio implementó recientemente la capacidad ("parallel") para que un LLM acepte y procese más de un prompt a la vez. Desactive esto hasta que lo haya probado con esta aplicación, de lo contrario, podría quedarse atascado con errores de tiempo de espera y un retraso en el procesamiento continuo de prompts.
  • A veces se muestra un mensaje de error cuando se cierra la aplicación en MacOS, quizás también en Linux. Sin embargo, no parece afectar el funcionamiento del programa ni su estabilidad. Lo solucioné una vez, pero volvió. Lo solucionaré de nuevo ...en algún momento.
  • Una URL lenta o 404 puede ralentizar la extracción de la fuente, así que supervise sus registros de vez en cuando para eliminarlas. Las listas RSS predeterminadas incluyen algunas de estas, pero es manejable.

Sugerencias:

  • La primera extracción / envío es una prueba de estrés: extrae el volumen máximo de fuente para su configuración y, por lo tanto, es probable que contenga información desactualizada. Sin embargo, esta es una buena manera de probar si todo funciona, comprender su tiempo de procesamiento de prompt más largo y obtener una muestra de cómo funcionarán su prompt, lista RSS y lista de temas.
  • Algunos modelos de "razonamiento" producen respuestas mal formadas o se quedan atascados en bucles. Recomiendo desactivar el razonamiento primero. El razonamiento configurado en "bajo" funciona bien para GPT OSS.
  • Hay todo tipo de trucos para transmitir fuentes que no tienen RSS por defecto (por ejemplo, investigue RSSBridge). Además, algunos sitios sociales se pueden convertir automáticamente en fuentes RSS (por ejemplo, agregando .rss a una URL de Reddit, o /RSS a una URL de perfil de BlueSky).
  • Algunos sitios, específicamente Reddit, limitarán la velocidad de sus extracciones RSS. Para minimizar este problema, recomiendo enfáticamente aleatorizar el orden de su lista de URL RSS para no golpear el mismo sitio demasiado rápido.

Estado

Alpha


Licencia

Este proyecto está licenciado bajo la Apache 2.0.

Atribución: ShunyaNet / EverythingsComputer

Sin garantía: El software se proporciona "tal cual", sin garantía de ningún tipo, expresa o implícita.

Dependencias

Este proyecto utiliza las siguientes bibliotecas de terceros. Revise sus licencias al usar, distribuir y/o modificar este proyecto:

  • PySide6 — LGPL
  • feedparser — BSD
  • requests — Apache 2.0
  • python-dateutil — BSD

Origen del nombre

Mi gato.

Descargar herramienta
ConfiguraciónDescripciónPredeterminadoEjemplo / Notas
LLM_PROVIDERVEA EL SIGUIENTE PASO——
LLM_BASE_URLVEA EL SIGUIENTE PASO——
LLM_MODELVEA EL SIGUIENTE PASO——
LLM_API_KEYVEA EL SIGUIENTE PASO——
SLACK_WEBHOOK_URLURL opcional del webhook de Slack para enviar alertas a Slack.Opcionalhttps://hooks.slack.com/services/...
MAX_INPUT_TOKENSMáximo de tokens enviados al LLM por extracción RSS. Regla general: 1 token ≈ 4 caracteres. Si excede el tamaño del contexto del modelo, active el modo fragmentado.4000Aumente con cuidado según la ventana de contexto de su LLM.
MAX_OUTPUT_TOKENSMáximo de tokens que el LLM enviará de vuelta en su respuesta. (nota: este es el máximo/límite, ¡no el objetivo!)4000Recomiendo no cambiarlo. 4000 es probablemente demasiado margen, para ser honesto.
MAX_INPUT_TOKENS_BULKLongitud máxima en tokens de las fuentes RSS enviadas al LLM para informes de procesamiento masivo. Cuando el procesamiento masivo está habilitado, las fuentes RSS se guardan y se envían junto con un prompt especial de análisis de tendencias (prompt codificado, por ahora). Nunca se usan fragmentos para esto, así que no exceda su límite de contexto.4000Probablemente necesite aumentarse para informes masivos significativos. Puede estresar la VRAM y los límites de contexto. Se recomienda deshabilitar el modo masivo inicialmente.
MAX_OUTPUT_TOKENS_BULKLongitud máxima en tokens del informe de procesamiento masivo en sí.4000Puede necesitar aumentarse para informes masivos significativos. Puede estresar la VRAM y los límites de contexto. Se recomienda deshabilitar el modo masivo inicialmente.
FETCH_INTERVALTiempo en segundos entre extracciones RSS y análisis LLM.600 (segundos, es decir, 10 min)No configure un valor inferior al tiempo total de procesamiento o podría producirse un retraso.
ITEMS_PER_FEEDNúmero máximo de entradas RSS extraídas por fuente por ciclo. Los elementos extraídos previamente se ignoran.50Valores más altos crean una primera extracción más grande. La mayoría de las fuentes RSS no producen mucho más de 20 elementos nuevos cada 10 minutos, algunas mucho menos.
USE_CHUNKED_MODEHabilita la división automática del contenido RSS si excede el límite de tokens. 1 = Activado, 0 = Desactivado.1Evita el desbordamiento del contexto pero puede duplicar la notificación de eventos entre fragmentos.
CHUNK_SIZETamaño de cada fragmento en caracteres (no tokens).8000Conversión aproximada: 4 caracteres ≈ 1 token. REPITO: ESTO ESTÁ EN CARACTERES. ¿Debería estar en tokens? ¡Probablemente! Pero no lo está.
WRITE_TO_FILEOpcional. Escribe todo el contenido RSS extraído en un archivo continuo para evaluaciones externas, pruebas de prompt o comparación de modelos. No afecta la funcionalidad principal de Sentinel. 1 = Activado, 0 = Desactivado.0Útil para pruebas y evaluación de LLM fuera de línea.
ANALYSIS_WINDOWIntervalo de tiempo utilizado para cada informe de procesamiento masivo.3600 (segundos, es decir, 1h)Se usa solo cuando el Procesamiento Masivo está habilitado.
BULK_ANALYSISHabilita informes de tendencias RSS masivas periódicas. 1 = Activado, 0 = Desactivado. Muy experimental en relación con los informes de rutina. El prompt especial está codificado, por ahora.0Envía fuentes RSS acumuladas al LLM para un informe de análisis de tendencias único. Puede aumentar significativamente la carga de procesamiento.