Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
ShunyaNet-Sentinel — ShunyaNet Sentinel est un programme léger qui surveille les flux RSS, les envoie à un LLM pour analyse, et délivre des résumés ou des alertes directement à la GUI et à Slack. | Kitploit
Outils/GitHubGitHub/everythingscomputer/shunyanet-sentinel
OSINT (Renseignement de Sources Ouvertes)Collecte d'InformationsUtilitaires et FrameworksRenseignement sur les MenacesApprentissage et Éducation
GitHubeverythingscomputer/shunyanet-sentinel

ShunyaNet-Sentinel

ShunyaNet Sentinel est un programme léger qui surveille les flux RSS, les envoie à un LLM pour analyse, et délivre des résumés ou des alertes directement à la GUI et à Slack.

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt
404il y a 5 moisVérifié par Kitploit
ShunyaNetSentinelAppGraphicV1

ShunyaNet Sentinel (MIS À JOUR : 03/02/2026)

ShunyaNet Sentinel est un programme léger sur le thème cyberpunk qui ingère des flux RSS (par exemple, actualités de dernière minute, réseaux sociaux), les envoie à un LLM pour analyse et fournit des alertes et rapports récapitulatifs directement dans l'interface graphique et Slack à intervalles réguliers.

Le projet est conçu pour utiliser un LLM hébergé localement sur la même machine ou le même réseau (par exemple, avec Tailscale) via LMStudio ou Ollama (mise à jour du 23/02). Il fonctionnera également avec une clé API OpenAI (mise à jour du 23/02).

Pour les alertes, le programme utilise les webhooks Slack, permettant d'envoyer des notifications push vers un appareil mobile.

Le ShunyaNet Sentinel est compatible avec les dernières versions de Linux, macOS et Windows*

La qualité des rapports et de l'analyse est influencée par le prompt, la taille du contexte, les flux RSS et le LLM choisi. Il est recommandé de désactiver les fonctions de réflexion (thinking). Les modèles qui semblent bien fonctionner et suivre généralement les instructions incluent :

  • GPT OSS 20b (thinking réglé sur LOW dans LMStudio)
  • GPT OSS 120b (probablement excessif)
  • Hermes 4 70b (mon modèle de prédilection)
  • Gemma 3 27b it abliterated (version de mlabonne)
  • Qwen3 32b et/ou VL 30b (je ne me souviens plus lequel...)

*Fortement recommandé sur macOS ou Linux. Voir la section Problèmes connus ci-dessous pour des informations importantes !


Flux de travail général

  1. L'utilisateur saisit les sujets d'intérêt
  2. L'utilisateur fournit une liste de flux RSS
  3. Sentinel récupère les flux RSS à des intervalles configurés par l'utilisateur
  4. Le contenu RSS est envoyé au serveur LLM fourni par l'utilisateur
  5. Le LLM examine les flux et renvoie à Sentinel les informations pertinentes sur les sujets d'intérêt
  6. Si un webhook Slack est configuré, les alertes sont transmises et les notifications sont accessibles sur iOS/Android (souvent avec des liens en direct vers le contenu RSS référencé)
  7. L'analyse groupée optionnelle identifie les tendances au fil du temps

Fonctionnalités principales

Surveillance des flux RSS

  • Interrogation périodique des flux RSS
  • Déduplication et suivi des horodatages
  • Gère les flux lents ou mal formés (...encore du travail à faire ici)

Analyse basée sur LLM (optionnelle)

  • Envoie les éléments du flux RSS à un point de terminaison LLM local ou via API
  • Classification, résumé et filtrage pilotés par prompt
  • Fonctionne avec tout point de terminaison /v1/chat/completions compatible OpenAI, conçu pour LMStudio

Alerte / Génération de signaux

  • Prise en charge des webhooks Slack (pour les informations de configuration du webhook, allez ici : https://docs.slack.dev/messaging/sending-messages-using-incoming-webhooks/)
  • Sortie structurée adaptée à l'automatisation
  • Conçu pour l'intégration dans des workflows plus larges

Local et auto-hébergé

  • En dehors de l'interrogation des flux RSS ou de l'envoi de réponses à Slack (optionnel), toutes les informations restent sur le matériel que vous contrôlez

Prérequis

  • Python 3.10+
  • Dépendances listées dans requirements.txt :
    • PySide6==6.10.0
    • feedparser==6.0.12
    • requests==2.31.0
    • python-dateutil==2.9.0.post0

LLM hébergé via :

  • LM Studio (recommandé)
  • Ollama
  • Clé API OpenAI
  • (quelques autres à venir prochainement)

Installation

1. Cloner le dépôt (...ou télécharger le Zip) et naviguer vers le dossier

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

2. (Fortement recommandé) Créer un environnement virtuel

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. Installer les dépendances

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

4. Exécuter

macOS / Linux :

root@kitploit:~
python3 ShunyaNet_Sentinel.py

Windows :

root@kitploit:~
python ShunyaNet_Sentinel.py

Démarrage rapide (avec LMStudio) (MIS À JOUR 23/02)

  1. Cliquez sur « Load Prompt File » et chargez default_prompt.txt
  2. Cliquez sur « Load Data Source File » et chargez la liste RSS Default_test
  3. Ouvrez « Additional Settings » et saisissez :
    • LM_PROVIDER = lmstudio
    • LLM_BASE_URL = <VOTRE IP SERVEUR LMSTUDIO, ex. : http://x.x.x.x:port/v1>
    • LLM_MODEL = <Je vous recommande de laisser ce champ vide. Suivez simplement l'étape 4>
    • API_KEY = <laissez vide, sauf si vous en avez défini une pour votre serveur>
  4. Chargez le modèle dans LM Studio. Activez « Serve on Local Network » dans les paramètres du serveur. Astuces :
    • Dans la fenêtre de sélection du modèle / « Load Model », activez « Manually choose model load parameters »
    • Dans la fenêtre des paramètres de chargement de votre modèle, réglez « Max Concurrent Predictions » sur 1 (pour l'instant)
    • Dans l'onglet d'inférence, désactivez ou réduisez la réflexion (thinking), si ce réglage est disponible.
    • Un modèle de taille modérée qui fonctionne bien : gpt-oss-20b. Thinking réglé sur « low »
  5. Cliquez sur le chat ! (...ou appuyez sur Fetch / Send)

Instructions complètes et configuration (MIS À JOUR 03/02/2026)

  1. Saisissez les sujets d'intérêt, ou chargez l'une des listes par défaut fournies. Jusqu'à 10 sujets peuvent être ajoutés à chaque liste.

  2. Cliquez sur « Load Prompt File » pour charger un fichier de prompt. Un prompt par défaut est fourni (default_prompt.txt).

    1. Vous êtes encouragé à modifier et réviser ce prompt - cela peut améliorer considérablement la qualité des rapports et la capacité du LLM à identifier un signal dans le bruit. Il y a BEAUCOUP de place pour la personnalisation ici.
    2. Un fichier « default_prompt-always-reply.txt » est inclus dans le dossier experimental. Il est obsolète, mais vous pouvez l'utiliser pour déboguer/tester l'analyse du LLM et vous assurer qu'il renvoie quelque chose dans le bon format.
    3. MIS À JOUR 03/02/2026 Un prompt « default_Summary-Report-Only_prompt.txt » est également fourni. Cette version ne cherche pas à extraire un signal du bruit, mais plutôt à résumer un plus grand volume de flux pertinents lorsque l'espace d'information est riche en données pertinentes. Elle est donc plus utile après que « l'événement » recherché s'est produit. Il est également préférable de l'utiliser moins fréquemment (par exemple, toutes les demi-heures pour un événement rapide et largement rapporté, ou toutes les quelques heures pour quelque chose avec moins de données rapportées) et avec une grande allocation de tokens pour le prompt et la réponse.
  3. Cliquez sur « Load Data Source File » pour charger une liste RSS. Deux listes par défaut sont fournies : une liste courte « Default_test » et une liste plus longue « Default_long », qui se concentre sur les actualités mondiales et de dernière minute.

    1. Adapter vos propres listes à votre région ou à vos sujets d'intérêt affectera considérablement la sortie des informations. Un exemple de liste axée sur une région que j'ai utilisée pour un récent voyage est fourni (« India_regional_example-v1.txt »). Un exemple concernant le conflit en Iran est également inclus.
    2. Reddit et BlueSky peuvent être facilement convertis en flux RSS. Des programmes comme RSSBridge peuvent également générer des flux RSS à partir de sites web et de réseaux sociaux (par exemple, Telegram) qui n'en ont pas.
    3. La liste « Default_test » est une liste courte de divers flux RSS. Le but est de garder la première récupération RSS rapide et courte, afin que vous puissiez diagnostiquer si tous les éléments fonctionnent comme ils le devraient.
  4. Dans « Additional Settings », définissez les champs suivants. Ils seront sauvegardés et persistants si vous fermez et redémarrez le programme. Les paramètres par défaut fonctionneront avec la plupart des configurations – mais vous devez quand même saisir le champ n°1 vous-même :

  1. Chargez votre modèle (par exemple, dans LMStudio, Ollama) ou obtenez votre clé API (par exemple, pour OpenAI) et assurez-vous de définir sa fenêtre de contexte pour qu'elle dépasse confortablement la valeur que vous saisissez dans les champs TOKENS_INPUT de ShunyaNet Sentinel. Le programme est actuellement conçu pour être compatible avec LMStudio, Ollama et OpenAI (via clé API). Ensuite, allez dans « Additional Settings » de ShunyaNet Sentinel et remplissez les champs suivants selon votre solution LLM :
LMSTUDIO
  • LLM_PROVIDER = lmstudio
  • LLM_BASE_URL = <URL de votre serveur LMStudio, ex. : http://localhost:1234/v1>
  • LLM_MODEL = <OPTIONNEL. Je recommande de laisser ce champ vide et de charger votre modèle directement dans LMStudio. Si vous devez le faire, le format est : lmstudio-community/mistral-7b-instruct>
  • LLM_API_KEY = <Laissez ce champ vide, sauf si vous utilisez une clé d'authentification>
OLLAMA
  • LLM_PROVIDER = ollama
  • LLM_BASE_URL = <URL de votre serveur Ollama, ex. : http://localhost:11434/v1>
  • LLM_MODEL = llama3
  • LLM_API_KEY = <laissez vide>
OPENAI (via CLÉ API)
  • LLM_PROVIDER = openai
  • LLM_BASE_URL = (peu importe : ce champ est ignoré)
  • LLM_MODEL = gpt-4o-mini
  • LLM_API_KEY = sk-xxxx
  1. Terminé ! - Cliquez maintenant sur le chat ! (...ou appuyez sur « Fetch / Send », ou attendez simplement le nombre de secondes que vous avez défini dans FETCH_INTERVAL)

NOTE : Je recommande de rester simple pour le premier lancement. Utilisez les paramètres par défaut et assurez-vous que tout fonctionne. Ensuite, ajustez le contexte et les flux RSS. Puis, modifiez le prompt. Je serais curieux de voir les prompts améliorés des utilisateurs...


Astuces, trucs et problèmes connus

Problèmes / Avertissements :

  • Sentinel quitte spontanément sur Windows 11 après quelques heures. Aucune idée pourquoi. Aucune erreur générée. Ce problème ne se produit pas sur Mac ou Linux – et peut-être que votre système sera différent ! Si vous rencontrez ce problème et devez utiliser Windows, je recommande de configurer une machine virtuelle avec Linux/Ubuntu (ou de suggérer une meilleure solution, si vous en avez une !). Notez que ce programme fonctionnera très bien sur un Raspberry Pi !
  • De mauvais choix de configuration peuvent surcharger votre LLM ou votre matériel. Assurez-vous que votre LLM peut traiter et répondre de manière fiable plus rapidement que votre intervalle de récupération RSS.
  • LMStudio a récemment implémenté la capacité (« parallel ») pour un LLM d'accepter et de traiter plusieurs prompts à la fois. Désactivez cette option jusqu'à ce que vous ayez testé avec cette application, sinon vous risquez de rencontrer des erreurs de délai d'attente et un backlog de traitement de prompts continus.
  • Un message d'erreur est parfois généré lorsque l'application est fermée sur macOS, peut-être aussi sur Linux. Cela ne semble pas affecter le fonctionnement du programme ou sa stabilité. Je l'ai corrigé une fois, mais il est revenu. Je le corrige à nouveau... un jour.
  • Une URL lente ou 404 peut ralentir la récupération du flux, donc surveillez vos logs de temps en temps pour les supprimer. Les listes RSS par défaut en incluent quelques-unes, mais c'est gérable.

Suggestions :

  • La première récupération / envoi est un test de stress : elle tire le volume de flux maximum pour vos paramètres et contient donc probablement des informations obsolètes. Cependant, c'est un bon moyen de tester si tout fonctionne, de comprendre votre temps de traitement de prompt le plus long et d'obtenir un échantillon de la façon dont votre prompt, votre liste RSS et votre liste de sujets se comporteront.
  • Certains modèles « thinking » produisent des réponses mal formées ou se bloquent dans des boucles. Je recommande d'abord de désactiver la réflexion. Le réglage « low » fonctionne bien pour GPT OSS.
  • Il existe toutes sortes d'astuces pour diffuser des flux qui n'ont pas de RSS par défaut (par exemple, regardez RSSBridge). De plus, certains sites sociaux peuvent être convertis automatiquement en flux RSS (par exemple, en ajoutant .rss à une URL Reddit, ou /RSS à une URL de profil Bluesky).
  • Certains sites, notamment Reddit, limitent le débit de vos récupérations RSS. Pour minimiser ce problème, je recommande fortement de randomiser l'ordre de votre liste d'URL RSS afin de ne pas solliciter le même site trop rapidement.

Statut

Alpha


Licence

Ce projet est sous licence Apache 2.0.

Attribution : ShunyaNet / EverythingsComputer

Aucune garantie : Le logiciel est fourni « en l'état », sans garantie d'aucune sorte, expresse ou implicite.

Dépendances

Ce projet utilise les bibliothèques tierces suivantes. Veuillez consulter leurs licences lors de l'utilisation, de la distribution et/ou de la modification de ce projet :

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

Origine du nom

Mon chat.

Télécharger l’outil
ParamètreDescriptionValeur par défautExemple / Notes
LLM_PROVIDERVOIR L'ÉTAPE SUIVANTE——
LLM_BASE_URLVOIR L'ÉTAPE SUIVANTE——
LLM_MODELVOIR L'ÉTAPE SUIVANTE——
LLM_API_KEYVOIR L'ÉTAPE SUIVANTE——
SLACK_WEBHOOK_URLURL du webhook Slack optionnelle pour envoyer des alertes à Slack.Optionnelhttps://hooks.slack.com/services/...
MAX_INPUT_TOKENSNombre maximal de tokens envoyés au LLM par récupération RSS. Règle générale : 1 token ≈ 4 caractères. Si la taille du contexte du modèle est dépassée, activez le mode par morceaux (chunked).4000Augmentez prudemment en fonction de la fenêtre de contexte de votre LLM.
MAX_OUTPUT_TOKENSNombre maximal de tokens que le LLM renverra dans sa réponse. (note : il s'agit du maximum/plafond, pas de la cible !)4000Il est recommandé de ne pas modifier. 4000 est probablement trop de marge, pour être honnête.
MAX_INPUT_TOKENS_BULKLongueur maximale en tokens des flux RSS envoyés au LLM pour les rapports de traitement groupé. Lorsque le traitement groupé est activé, les flux RSS sont sauvegardés et envoyés ensemble avec un prompt spécial d'analyse des tendances (prompt codé en dur pour l'instant). Les morceaux ne sont jamais utilisés pour cela, donc ne dépassez pas votre limite de contexte.4000Doit probablement être augmenté pour des rapports groupés significatifs. Peut solliciter la VRAM et les limites de contexte. Il est recommandé de désactiver le mode groupé initialement.
MAX_OUTPUT_TOKENS_BULKLongueur maximale en tokens du rapport de traitement groupé lui-même.4000Peut devoir être augmenté pour des rapports groupés significatifs. Peut solliciter la VRAM et les limites de contexte. Il est recommandé de désactiver le mode groupé initialement.
FETCH_INTERVALTemps en secondes entre les récupérations RSS et l'analyse LLM.600 (secondes, soit 10 min)Ne pas définir en dessous du temps de traitement total, sinon un backlog peut se produire.
ITEMS_PER_FEEDNombre maximal d'entrées RSS récupérées par flux par cycle. Les éléments déjà récupérés sont ignorés.50Des valeurs plus élevées créent une première récupération plus grande. La plupart des flux RSS ne produisent pas beaucoup plus de 20 nouveaux éléments toutes les 10 minutes, certains beaucoup moins.
USE_CHUNKED_MODEActive le fractionnement automatique du contenu RSS s'il dépasse l'allocation de tokens. 1 = Activé, 0 = Désactivé.1Empêche le dépassement du contexte mais peut dupliquer les rapports d'événements entre les morceaux.
CHUNK_SIZETaille de chaque morceau en caractères (pas en tokens).8000Conversion approximative : 4 caractères ≈ 1 token. JE RÉPÈTE : CECI EST EN CARACTÈRES. Cela devrait-il être en tokens ? Probablement ! Mais ce ne l'est pas.
WRITE_TO_FILEOptionnel. Écrit tout le contenu RSS récupéré dans un fichier continu pour des benchmarks externes, des tests de prompt ou des comparaisons de modèles. N'affecte pas les fonctionnalités principales de Sentinel. 1 = Activé, 0 = Désactivé.0Utile pour les tests et l'évaluation LLM hors ligne.
ANALYSIS_WINDOWIntervalle de temps utilisé pour chaque rapport de traitement groupé.3600 (secondes, soit 1h)Utilisé uniquement lorsque le traitement groupé est activé.
BULK_ANALYSISActive les rapports de tendances RSS groupés périodiques. 1 = Activé, 0 = Désactivé. Très expérimental par rapport aux rapports de routine. Le prompt spécial est codé en dur pour l'instant.0Envoie les flux RSS accumulés au LLM pour un seul rapport d'analyse des tendances. Peut augmenter considérablement la charge de traitement.