Projet Secure Programming – AI-Powered Security
Code Review
1. Objectif du Projet
Développer un système automatisé d’analyse de sécurité du code en utilisant des LLMs spécialisés
(DeepSeek-Coder V2, Code Llama, Qwen3-Coder) déployés localement via Ollama. Le système
doit détecter les vulnérabilités, proposer des corrections et expliquer les problèmes en langage
naturel — le tout en mode 100% offline.
2. Concepts Clés
• Analyse de sécurité du code
• LLMs locaux et spécialisés en programmation
• Analyse statique (SAST)
• Détection de vulnérabilités
• AST Parsing et embeddings de code
3. Contenu Théorique (pour le PPT)
• Contexte : défis de la sécurité du code, limites du cloud, avantages du local
• Théorie : compréhension du code par LLMs, patterns de vulnérabilités, AST
• Méthodologie : preprocessing, extraction AST, prompts orientés sécurité
• Architecture : serveur Ollama, analyseur, parser, base des vulnérabilités, moteur de reporting
• Jeux de données : CWE, OWASP Top 10, exemples sécurisés vs vulnérables
• Comparaison : SAST vs LLM, cloud vs local
• Risques : faux positifs, limites du modèle, overhead
• Démo : analyse locale de code Python/Java/JS
• Futur : fine-tuning, CI/CD, multi-langage
4. Implémentation du Prototype
Le prototype doit :
• Déployer un modèle LLM local via Ollama
• Parser le code (Python/Java/JS) pour générer un AST
• Détecter les vulnérabilités (SQLi, XSS, RCE, etc.)
• Générer des explications et des correctifs
• Visualiser un diff du code vulnérable
• S'intégrer à Git pour review automatique
• Donner un scoring de sévérité
5. Résultats Attendus
• Prototype opérationnel
• Mesures : précision, taux de faux positifs, couverture
• Interfaces visuelles : rapports, dashboards, suggestions de corrections
• Documentation complète : architecture, API, intégration
• Expérimentations reproductibles via notebooks
6. Technologies Recommandées
• Backend : Django, FastAPI, Spring Boot, Flask
• LLM local : Ollama
• Modèles : DeepSeek-Coder V2, Code Llama, Qwen3-Coder
• Analyse : tree-sitter, semgrep, Bandit, ESLint
• LLM workflow : LangChain ou API Ollama directe
• AST : libcst, javalang, esprima
• Visualisation : Streamlit, Dash, CodeMirror, React/Vue
• Déploiement : Docker, GitHub Actions
7. Répartition du Travail (4 personnes)
• Membre 1 – Recherche & PPT : théorie, concepts, architecture
• Membre 2 – Parsing & AST : extraction AST, preprocessing
• Membre 3 – LLM & Analyse : prompts, détection de vulnérabilités
• Membre 4 – Interface & Git : visualisation, diff, intégration Git
8. Livrables & Dates
• PPT + Code + Screenshots → envoyer à [Link]@[Link]
• Deadline : 10 décembre 2025
• Présentations : 11 et 18 décembre 2025