Parlez en français naturel, l'IA exécute vos commandes de cybersécurité 🚀
Fonctionnalités • Installation • Documentation • Contribuer
- ✨ Aperçu
- 🎯 Fonctionnalités
- 🛠️ Technologies
- ⚡ Installation Rapide
- 🚀 Utilisation
- 📖 Exemples
- 🏗️ Architecture
- 🧠 Intelligence Artificielle
- 🔧 Configuration
- 📊 Outils Supportés
- 🤝 Contribuer
⚠️ Sécurité & Légalité- 📄 Licence
NetworkSearcherAI est un orchestrateur intelligent qui transforme vos demandes en langage naturel en commandes de cybersécurité exécutables. Plus besoin de mémoriser les syntaxes complexes de nmap, iptables, tshark ou autres outils - parlez simplement, l'IA comprend et exécute.
# Au lieu de taper :
nmap -A -sV -O -Pn 192.168.1.20
# Dites simplement :
python orchestrator.py "scan cette IP 192.168.1.20 et trouve tout ce qui est utile"- 🧠 IA Avancée : Utilise Claude API ou un moteur NLP local (TF-IDF + embeddings)
- 🎨 Interface Moderne : CLI animée avec Rich pour une expérience utilisateur premium
- 🔍 Détection Automatique : Identifie l'outil approprié même sans le mentionner explicitement
- 🛡️ Sécurisé : Mode simulation pour tester sans risque
- ⚡ Auto-installation : Détecte et installe automatiquement les outils manquants
- 🌍 Français Natif : Comprend parfaitement le français naturel
| Fonctionnalité | Description |
|---|---|
| Classification d'Intention | Utilise TF-IDF et embeddings sémantiques pour comprendre l'intention |
| Extraction d'Entités (NLP) | Identifie automatiquement IPs, domaines, ports, protocoles, etc. |
| Scoring de Confiance | Évalue la probabilité que l'outil détecté soit le bon |
| Compréhension Contextuelle | Analyse le contexte sémantique des mots-clés et actions |
- ✨ CLI Animée : Interface terminal moderne avec animations et couleurs
- 📊 Affichage Structuré : Résultats formatés avec Rich (panels, syntax highlighting)
- 🔄 Mode Interactif : Session continue pour exécuter plusieurs commandes
- 🎯 Mode Simulation : Testez vos commandes sans les exécuter réellement
- 🔄 Auto-détection d'outils : Détecte et installe automatiquement les dépendances
- 🛡️ Gestion d'erreurs : Gestion robuste des erreurs avec messages clairs
- 📝 Génération de commandes : Crée des commandes optimisées et sécurisées
- 🔍 Analyse intelligente : Interprète les résultats et fournit des recommandations
- Langage : Python 3.7+
- IA : Anthropic Claude API (optionnel) + Moteur NLP local
- Interface : Rich (CLI moderne)
- Outils : Nmap, Iptables, Tshark/Tcpdump, Dig, Whois
- NLP : TF-IDF, Extraction d'entités, Classification sémantique
Assurez-vous d'avoir Python 3.7+ installé :
python3 --versiongit clone https://github.com/MedusaSH/NetworkSearcherAI.git
cd NetworkSearcherAIpip install -r requirements.txtCréez un fichier config.json :
{
"claude_api_key": "votre_cle_api_anthropic"
}💡 Note : Le système fonctionne aussi sans Claude API en utilisant le moteur NLP local.
Le système peut installer automatiquement les outils manquants, ou vous pouvez les installer manuellement :
🐧 Linux (Debian/Ubuntu)
sudo apt-get update
sudo apt-get install -y nmap iptables tshark dnsutils whois tcpdump🍎 macOS
brew install nmap tshark bind whois tcpdump🪟 Windows
# Utilisez WSL ou installez les outils individuellement
# Nmap: https://nmap.org/download.html
# Wireshark (inclut tshark): https://www.wireshark.org/download.htmlLancez une session interactive :
python orchestrator.py --interactive
# ou
python orchestrator.py -iVous pouvez ensuite taper vos commandes naturellement :
> scan cette IP 192.168.1.20
> capture le trafic DNS pendant 10 secondes
> bloque cette IP 1.2.3.4
Exécutez une commande unique :
python orchestrator.py "scan cette IP 192.168.1.20 et trouve tous les ports ouverts"Testez vos commandes sans les exécuter :
python orchestrator.py --simulate "bloque cette IP 1.2.3.4"| Option | Description |
|---|---|
--interactive / -i |
Lance le mode interactif |
--simulate / --sim |
Mode simulation (pas d'exécution réelle) |
--help / -h |
Affiche l'aide |
Commande naturelle :
python orchestrator.py "scan cette IP 192.168.1.20 et trouve tout ce qui est utile"Commande générée :
nmap -A -sV -O -Pn 192.168.1.20Résultat :
- ✅ Détection OS
- ✅ Version des services
- ✅ Scripts NSE
- ✅ Analyse complète
Commande naturelle :
python orchestrator.py "bloque toutes les connexions entrantes sauf SSH"Commande générée :
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -j DROPCommande naturelle :
python orchestrator.py "capture le trafic DNS pendant 10 secondes"Commande générée :
sudo tshark -i any -f "udp port 53" -a duration:10Commande naturelle :
python orchestrator.py "résous le DNS pour google.com"Commande générée :
dig A google.com +noall +answerCommande naturelle :
python orchestrator.py "analyse ce domaine example.com"Commande générée :
whois example.comNetworkSearcherAI/
│
├── 🎯 orchestrator.py # Point d'entrée principal
│
├── 🤖 ai_engine.py # Moteur IA local (TF-IDF + NLP)
│ ├── IntentClassifier # Classification d'intention
│ ├── EntityExtractor # Extraction d'entités
│ └── AIEngine # Orchestrateur IA
│
├── 🧠 ai/
│ └── claude_api.py # Intégration Claude API
│
├── 🔧 core/
│ ├── parsing.py # Analyse des commandes
│ ├── dispatcher.py # Dispatch vers les handlers
│ └── package_manager.py # Gestion des packages
│
├── 🎨 interfaces/
│ ├── cli_animated.py # CLI moderne avec Rich
│ └── cli.py # CLI basique
│
└── 🛠️ tools/
├── base_tool.py # Classe de base abstraite
├── base_handler.py # Handler de base
├── nmap_handler.py # Handler Nmap
├── iptables_handler.py # Handler Iptables
├── tshark_handler.py # Handler Tshark
├── dig_tool.py # Outil Dig
└── whois_tool.py # Outil Whois
graph TD
A[Utilisateur: Commande Naturelle] --> B[CommandParser]
B --> C{Claude API?}
C -->|Oui| D[Claude API]
C -->|Non| E[AIEngine Local]
D --> F[ParsedCommand]
E --> F
F --> G[CommandDispatcher]
G --> H{Type d'Outil}
H -->|Nmap| I[NmapHandler]
H -->|Iptables| J[IptablesHandler]
H -->|Tshark| K[TsharkHandler]
I --> L[Exécution]
J --> L
K --> L
L --> M[Résultat Formaté]
M --> N[Affichage Rich CLI]
Le système utilise des embeddings sémantiques et TF-IDF pour classer l'intention :
Input: "Je veux scanner tous les ports ouverts de cette machine 192.168.1.20"
Analyse IA:
├── Mots-clés: "scanner", "ports", "ouverts" → score nmap: 0.85
├── Action: "scanner" → score nmap: 0.90
├── Contexte: "machine", "réseau" → score nmap: 0.80
└── Résultat: nmap avec confiance 0.87Utilise du NLP (Natural Language Processing) pour extraire :
- ✅ Adresses IP (
192.168.1.20) - ✅ Domaines (
example.com) - ✅ Ports (
22,80,443) - ✅ Protocoles (
TCP,UDP,DNS,HTTP) - ✅ Durées (
10 secondes,5 minutes) - ✅ Interfaces réseau (
eth0,wlan0,any)
Combine l'intention et les entités pour générer la commande optimale :
Intention: nmap (confiance: 0.87)
Entités: {ip: "192.168.1.20", action: "scan complet"}
→ Commande: nmap -A -sV -O -Pn 192.168.1.20| Mode | Description | Avantages |
|---|---|---|
| Claude API | Utilise Anthropic Claude | Compréhension contextuelle avancée |
| NLP Local | Moteur TF-IDF + Extraction | Rapide, pas de dépendance externe |
{
"claude_api_key": "sk-ant-api03-..."
}- Visitez console.anthropic.com
- Créez un compte ou connectez-vous
- Générez une clé API
- Ajoutez-la dans
config.json
⚠️ Sécurité : Ne commitez jamais votreconfig.jsonavec votre clé API réelle !
| Outil | Description | Détection Auto | Exemple |
|---|---|---|---|
| 🔍 Nmap | Scan de ports et services | ✅ | "scan cette IP 192.168.1.1" |
| 🛡️ Iptables | Configuration firewall | ✅ | "bloque cette IP 1.2.3.4" |
| 📡 Tshark | Capture de trafic réseau | ✅ | "capture le trafic DNS" |
| 🌐 Dig | Requêtes DNS | ✅ | "résous google.com" |
| 🔎 Whois | Informations domaine/IP | ✅ | "analyse example.com" |
| 📦 Tcpdump | Capture de paquets | ✅ | "capture les paquets" |
Les contributions sont les bienvenues ! 🎉
- Fork le projet
- Créez une branche pour votre fonctionnalité (
git checkout -b feature/AmazingFeature) - Commitez vos changements (
git commit -m 'Add some AmazingFeature') - Push vers la branche (
git push origin feature/AmazingFeature) - Ouvrez une Pull Request
- ✨ Ajoutez des tests pour les nouvelles fonctionnalités
- 📝 Documentez votre code
- 🎨 Suivez le style de code existant
- ✅ Assurez-vous que tous les tests passent
Ouvrez une issue avec :
- Description du bug
- Steps to reproduce
- Comportement attendu vs actuel
- Environnement (OS, Python version)
⚠️ Privilèges : Certaines commandes nécessitentsudo(iptables, tcpdump, tshark)- ⚖️ Autorisation : Assurez-vous d'avoir l'autorisation légale avant d'analyser des systèmes tiers
- 🧪 Test uniquement : Utilisez uniquement sur vos propres systèmes ou avec autorisation explicite
- 🚫 Pas de destruction : Le système ne génère jamais de commandes destructives
Ce projet est fourni à des fins éducatives et de test. L'utilisation de ce logiciel pour analyser des systèmes sans autorisation est illégale et peut entraîner des poursuites pénales.
Utilisez de manière responsable et légale. ⚖️
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
- Anthropic pour Claude API
- Rich pour l'interface CLI moderne
- La communauté open-source pour les outils de cybersécurité
Fait avec ❤️ par la communauté