Un agent IA autonome qui ne scanne pas le code avec des règles statiques.
Il comprend le contexte métier de l'entreprise pour détecter les failles et générer des patchs.
Les outils classiques de sécurité (SonarQube, Snyk, etc.) analysent le code de manière statique : ils cherchent des patterns connus de vulnérabilités. Mais ils ne savent pas :
- Quel ticket Jira ce code est censé implémenter
- Quelles exigences de sécurité ont été définies pour ce ticket
- Qui est le développeur et sur quels domaines il a de l'expertise
- Quelles politiques de conformité (OWASP, PCI-DSS) s'appliquent
NexusGuard AI résout ce problème en connectant un Graphe de Connaissances (Neo4j) à un LLM (Gemini) pour donner un contexte humain et réglementaire à chaque analyse.
┌─────────────────┐ POST /webhook/pr ┌──────────────────┐
│ Next.js UI │ ──────────────────────── │ FastAPI API │
│ (Port 3000) │ │ (Port 8000) │
└─────────────────┘ └────────┬─────────┘
│
┌───────────┴───────────┐
│ │
Cypher Query Prompt + Context
│ │
▼ ▼
┌─────────────┐ ┌──────────────┐
│ Neo4j │ │ Gemini 2.5 │
│ Graph DB │ │ Flash │
│ (Port 7687) │ │ (Google AI) │
└─────────────┘ └──────────────┘
Le graphe modélise l'écosystème socio-technique d'une équipe de développement :
| Type de Nœud | Exemples | Propriétés |
|---|---|---|
| Developer (5) | Mhoma EL ISLAH, Bob Code, Eve Lead | role, team |
| Ticket (6) | NEX-101 "Implement JWT Auth" | security_requirements, priority |
| File (8) | auth.py, payment.py, Dockerfile | sensitivity, path |
| Vulnerability (4) | SQL Injection, Broken Auth | severity, cwe |
| Policy (3) | OWASP Top 10, PCI-DSS v4 | version, scope |
Mhoma EL ISLAH ──AUTHORED──→ auth.py ──IMPLEMENTS──→ NEX-101 ("Must use HS256 + 15m expiry")
│ │
└──EXPOSED_TO──→ Broken Auth (CWE-287)
└──MUST_COMPLY──→ OWASP Top 10
📸 Démonstration de l'agent IA analysant le code en fonction du graphe de connaissances.
Mhoma EL ISLAH soumet une Pull Request avec ce code pour auth.py :
def generate_token(user_id):
import time
token = f"user_{user_id}_{time.time()}"
return token- Intercepte le webhook de la PR
- Interroge le graphe : trouve que
auth.pyimplémente le ticketNEX-101qui exige "HS256 + 15min expiry" - Analyse avec Gemini : détecte 3 failles critiques
- Génère un patch automatiquement :
import jwt
from datetime import datetime, timedelta
SECRET_KEY = "load-from-env-variable" # NEVER hardcode
def generate_token(user_id: str) -> str:
payload = {
"user_id": user_id,
"exp": datetime.utcnow() + timedelta(minutes=15),
"iat": datetime.utcnow()
}
return jwt.encode(payload, SECRET_KEY, algorithm="HS256"){
"is_secure": false,
"vulnerability_found": "Le code ne respecte PAS les exigences du ticket NEX-101 :
1. Absence de JWT
2. Absence de signature HS256
3. Absence d'expiration 15 minutes",
"patched_code": "..."
}- Python 3.13+
- Docker Desktop
- Node.js 18+
- Clé API Google Gemini (obtenir ici)
git clone https://github.com/Islah88/NexusGuard-AI.git
cd NexusGuard-AIdocker run -d --name neo4j-nexus \
-p 7474:7474 -p 7687:7687 \
-e NEO4J_AUTH=neo4j/nexusguard2026 \
neo4j:latestpython -m venv .venv
.venv\Scripts\activate # Windows
pip install fastapi uvicorn neo4j python-dotenv google-genaiCréer un fichier .env :
NEO4J_URI=bolt://localhost:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=nexusguard2026
GEMINI_API_KEY=your_key_here
python ingestion.py # Peupler le graphe
uvicorn main:app --reload --port 8000cd frontend
npm install
npm run devOuvrir http://localhost:3000
NexusGuard-AI/
├── agent.py # Moteur Graph RAG + Analyse SecDevOps
├── database.py # Singleton de connexion Neo4j
├── ingestion.py # Script de peuplement du graphe (26 nœuds)
├── main.py # API FastAPI (CORS, webhooks, graph data)
├── test_webhook.py # Script de test CLI
├── .env # Configuration (clés API)
└── frontend/ # Dashboard Next.js + TailwindCSS
├── src/app/page.tsx
└── src/components/GraphVisualization.tsx
| Domaine | Technologie | Rôle |
|---|---|---|
| Graph Database | Neo4j | Stockage des relations socio-techniques |
| AI / LLM | Google Gemini 2.5 Flash | Analyse sémantique + génération de patchs |
| Backend | FastAPI (Python) | API REST, webhooks, orchestration |
| Frontend | Next.js 16 + TailwindCSS | Dashboard interactif |
| Visualization | react-force-graph-2d | Rendu du graphe en temps réel |
| Infrastructure | Docker | Conteneurisation de Neo4j |
Mhoma EL ISLAH — Développeur SaaS IA & Expert SecDevOps
- 🎓 Bachelor Cybersécurité — ESAIP / Le Havre
- 🎓 Master 2 MIASHS
- 💡 Passionné par la création de plateformes intelligentes (Agentic IA) et la sécurisation des infrastructures cloud.
- 🔗 Portfolio | LinkedIn | GitHub
Ce projet est sous licence MIT — voir le fichier LICENSE pour plus de détails.
