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
Outils/GitHubGitHub/ayush-parab/sentinel-gpt
Sécurité CloudRenseignement sur les MenacesApprentissage et ÉducationRéponse aux IncidentsSécurité de l'IAAnalyse de Journaux
GitHubayush-parab/sentinel-gpt

Sentinel-GPT

Pipeline automatisé de chasse aux menaces qui ingère les journaux Azure, utilise le raisonnement LLM pour détecter les activités suspectes, évaluer les risques et générer des playbooks de remédiation avec des commandes CLI.

Voir le dépôt
il y a 6 moisPas encore vérifié

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

Sentinel-GPT : IA agentielle pour la chasse aux menaces 🛡️

Un pipeline de cybersécurité automatisé qui transforme les logs Azure bruts en renseignements exploitables grâce au raisonnement basé sur LLM.

Python Azure OpenAI Security License

📖 Aperçu

Sentinel-GPT est un agent IA spécialisé dans la chasse aux menaces en cybersécurité. Il est intégré à Azure Log Analytics Workspace qui est la source des logs générés et à l'API ChatGPT d'OpenAI qui est le cerveau de cet agent. Nous fournissons des logs à l'agent, qui est entraîné à identifier les activités suspectes, à chasser les menaces et à alerter l'utilisateur à ce sujet tout en fournissant les étapes de correction.

⚠️ Le problème et la solution

  • Le problème : Dans le monde moderne, la plupart des entreprises, grandes ou petites, ont soit migré complètement vers le cloud, soit utilisent une configuration cloud hybride. Avec la taille des réseaux, des millions de logs et d'alertes sont générés chaque semaine. Les analystes SOC souffrent de « fatigue des alertes et des logs », ce qui rend difficile la distinction entre les petites erreurs de configuration et les violations réelles.
  • La solution : Un pipeline agentiel qui effectue une analyse sur les nombreux logs. Il signale non seulement les erreurs, mais comprend également le contexte de la violation, évalue le risque et l'impact, et rédige instantanément un plan de correction.

🏗️ Architecture

  1. Ingestion : Un script Python interroge Azure Log Analytics avec KQL pour les logs pertinents
  2. Contextualisation : Les logs sont structurés et des invites système sont fournies à l'agent pour lui donner un rôle de chasseur de menaces
  3. Analyse (le cerveau) : Les données sont envoyées au LLM choisi d'OpenAI pour analyse
  4. Sortie : Génère un rapport complet de renseignements de sécurité

🚀 Fonctionnalités clés

  • Intégration transparente entre Azure et OpenAI ChatGPT, extensible à d'autres clouds.
  • Traduction de blobs de logs JSON complexes en résumés exécutifs en langage clair.
  • Playbooks de correction automatisés : Actions spécifiques et commandes CLI (Azure CLI/PowerShell) pour isoler les ressources compromises.

🛠️ Démarrage rapide et configuration

Prérequis

  • Abonnement Azure avec un espace de travail Log Analytics.
  • Clé API OpenAI (GPT-4.1 recommandé pour le raisonnement complexe).
  • Python 3.10+

Installation

  1. Clonez le dépôt :
root@kitploit:~
git clone https://github.com/Ayush-Parab/cybersecurity-agentic-AI
cd cybersecurity-agentic-AI
  1. Installez les dépendances
root@kitploit:~
pip install -r requirements.txt
  1. Configurez l'environnement Créez un fichier .env :
root@kitploit:~
OPENAI_API_KEY="your_key"
LOG_ANALYTICS_WORKSPACE_ID="your_id"

📊 Exemple de sortie

Logs d'entrée :

root@kitploit:~
TimeGenerated,Status,User,IPAddress,Computer,SyslogMessage
2026-02-12 02:00:15.912351+00:00,Failure,,,Test-VM-For-Logs,Connection closed by invalid user  98.80.4.65 port 35908 [preauth]
2026-02-12 02:00:15.706067+00:00,Failure,,98.80.4.65,Test-VM-For-Logs,Invalid user  from 98.80.4.65 port 35908
2026-02-12 01:59:38.275807+00:00,Success,Ayush,103.38.69.120,Test-VM-For-Logs,Accepted password for Ayush from 103.38.69.120 port 31551 ssh2
2026-02-12 01:59:24.542329+00:00,Failure,,,Test-VM-For-Logs,Connection reset by invalid user balloon 103.38.69.120 port 31573 [preauth]
2026-02-12 01:59:22.850922+00:00,Failure,balloon,103.38.69.120,Test-VM-For-Logs,Failed password for invalid user balloon from 103.38.69.120 port 31573 ssh2
2026-02-12 01:59:17.554208+00:00,Failure,balloon,103.38.69.120,Test-VM-For-Logs,Failed password for invalid user balloon from 103.38.69.120 port 31573 ssh2
2026-02-12 01:59:13.693935+00:00,Failure,,103.38.69.120,Test-VM-For-Logs,Invalid user balloon from 103.38.69.120 port 31573
2026-02-12 01:59:06.649583+00:00,Failure,,,Test-VM-For-Logs,Connection reset by invalid user hamster 103.38.69.120 port 31890 [preauth]
2026-02-12 01:59:03.577720+00:00,Failure,hamster,103.38.69.120,Test-VM-For-Logs,Failed password for invalid user hamster from 103.38.69.120 port 31890 ssh2
2026-02-12 01:58:55.777039+00:00,Failure,hamster,103.38.69.120,Test-VM-For-Logs,Failed password for invalid user hamster from 103.38.69.120 port 31890 ssh2
2026-02-12 01:58:51.167792+00:00,Failure,,103.38.69.120,Test-VM-For-Logs,Invalid user hamster from 103.38.69.120 port 31890
2026-02-12 01:54:50.302217+00:00,Success,Ayush,103.38.69.120,Test-VM-For-Logs,Accepted password for Ayush from 103.38.69.120 port 31565 ssh2

Analyse de Sentinel-GPT :

root@kitploit:~
Yes — this looks suspicious.

What stands out
- 103.38.69.120: Multiple “Invalid user/Failed password” attempts (hamster/balloon), then successful SSH password logins for Ayush at 01:54:50 and 01:59:38 on Test-VM-For-Logs. This is consistent with brute-force/credential stuffing followed by success. Verify with Ayush if both logins are expected from that IP.
- 98.80.4.65: Single invalid-user probe — likely generic scan, still block if not needed.

Immediate actions (Azure-first)
- Contain: Block 103.38.69.120 at the NSG/Azure Firewall. Restrict TCP/22 to trusted IPs only or close it and use Azure Bastion or Defender for Cloud Just‑In‑Time VM access.
- Credentials: If any Ayush login is unrecognized, reset Ayush password/SSH keys, invalidate cached credentials, remove from sudoers if not required, and terminate active SSH sessions.
- SSH hardening: Disable password auth (PasswordAuthentication no), enforce SSH keys or AADLoginForLinux with Conditional Access MFA, and restart sshd.
- Detection/response: Run Microsoft Defender for Servers/Endpoint AV scan on the VM and review alerts. Check for new users, sudoers changes, suspicious processes, and authorized_keys modifications.

Hunt next (Log Analytics/Sentinel – KQL)
- Brute-force followed by success from same IP (10m window):
let window=10m;
let ssh = Syslog
| where ProcessName == "sshd" and Facility in ("auth","authpriv")
| extend SrcIP = extract(@"from (\d+\.\d+\.\d+\.\d+)",1, SyslogMessage);
let fails = ssh
| where SyslogMessage has_any ("Invalid user","Failed password")
| summarize FailCount=count(), FirstFail=min(TimeGenerated), LastFail=max(TimeGenerated) by Computer, SrcIP;
ssh
| where SyslogMessage has "Accepted password"
| extend SrcIP = extract(@"from (\d+\.\d+\.\d+\.\d+)",1, SyslogMessage), User = extract(@"for (\S+)",1, SyslogMessage)
| join kind=inner (fails) on Computer, SrcIP
| where TimeGenerated between (FirstFail .. LastFail + window) and FailCount >= 3
| project TimeGenerated, Computer, User, SrcIP, FailCount
- Pivot that IP across all VMs:
Syslog
| where ProcessName == "sshd" and SyslogMessage has_any ("Invalid user","Failed password","Accepted password")
| extend SrcIP = extract(@"from (\d+\.\d+\.\d+\.\d+)",1, SyslogMessage)
| where SrcIP in ("103.38.69.120","98.80.4.65")
| project TimeGenerated, Computer, SyslogMessage, SrcIP
| order by TimeGenerated desc

Validate and scope
- Correlate with Azure Activity Logs for any NSG/VM changes around the same time.
- If Defender for Endpoint is enabled, check for post-login activity (new services, unusual outbound connections) on Test-VM-For-Logs.

Hardening (ongoing)
- Keep SSH closed to the internet; prefer Bastion or JIT.
- Enable Sentinel analytics for “multiple SSH failures followed by success” and blocklists for repeated offenders.
- Install and tune fail2ban on the VM.
- Patch OS and rotate secrets used on that VM.

🗺️ Feuille de route

  • Blocage automatique des IP basé sur l'analyse dans les NSG sur Azure
  • Implémentation de GuardRails
  • Génération entièrement automatisée de requêtes KQL
  • Prise en charge d'autres clouds comme AWS, GCP et OCI
  • Intégration avec Outlook/Gmail pour les alertes automatiques

🤝 Contribuer et contacter

Ce projet est ouvert à la collaboration et est encore en cours ! Si vous avez des idées pour de nouveaux agents de sécurité ou analyseurs de logs, n'hésitez pas à ouvrir une PR.

Connectez-vous avec moi : Linkedin

Télécharger l’outil