OASIS - Sécurisez votre code avec l'IA et Ollama

par Korben ✨ -

Aujourd’hui, on va parler d’un petit nouveau dans le monde de la sécurité applicative baptisé OASIS (Ollama Automated Security Intelligence Scanner).

Vous le savez probablement déjà, mais les vulnérabilités dans le code, c’est comme les mites alimentaires dans une cuisine : il y en a toujours plus que ce qu’on pense ! Et avec la complexité grandissante des applications modernes, repérer ces petites bêtes devient un véritable casse-tête. C’est là qu’OASIS entre en scène, pour vous aider à voir la réalité du code telle qu’elle est vraiment.

Ce qui rend OASIS intéressant, c’est d’abord son utilisation des modèles présents dans Ollama pour analyser votre code. Fini les règles statiques qui datent de Mathusalem, maintenant c’est analyse intelligente et contextuelle !

Et l’outil ne se contente pas d’un seul modèle d’IA. Il utilise plusieurs modèles en parallèle pour analyser votre code sous différents angles. Cette approche assure une détection plus précise et complète des vulnérabilités potentielles. Les modèles peuvent inclure llama2 et codellama, chacun apportant son expertise spécifique.


Et comme le temps c’est de l’argent, son système de cache stocke les embeddings (représentations vectorielles) de votre code pendant 7 jours par défaut. Ces embeddings sont ainsi sauvegardés dans un fichier embeddings_cache.pkl dans le répertoire d’entrée, permettant des analyses répétées ultra-rapides.

OASIS génère alors une structure de rapports organisée et complète : un dossier par modèle utilisé, des sous-dossiers pour chaque format (Markdown, PDF, HTML), des rapports détaillés par type de vulnérabilité, des résumés exécutifs parfaits pour les réunions.

Une autre fonctionnalité puissante est le mode audit qui permet d’analyser la distribution des embeddings dans votre code, offrant ainsi une vue d’ensemble plus approfondie des patterns de sécurité.

Pour l’utiliser, vous devrez avoir Python > 3.7, Ollama installé et fonctionnel.

python3 -m pip install --user pipx

python3 -m pipx ensurepath

git clone https://github.com/psyray/oasis.git

cd oasis

pipx install --editable .

Ensuite, pour une analyse simple :

oasis /chemin/vers/votre/code

Et pour une analyse personnalisée :

oasis /chemin/vers/votre/code \ --cache-days 7 \ --threshold 0.5 \ --vulns xss,sqli \ --embed-model nomic-embed-text \ --models llama2,codellama \ --extensions .php,.js,.py \ --audit

OASIS couvre un large spectre de vulnérabilités :

  • SQLi : Les injections SQL
  • XSS : Le cross-site scripting
  • Input Validation : Validation insuffisante des entrées
  • Data Exposure : Exposition de données sensibles
  • Session Management : Problèmes de gestion des sessions
  • Config : Erreurs de configuration
  • Logging : Logging de données sensibles
  • Crypto : Usage incorrect des fonctions cryptographiques

Pour optimiser votre utilisation d’OASIS, plusieurs pratiques recommandées méritent d’être mises en place. Tout d’abord, il est essentiel d’automatiser les analyses en intégrant OASIS directement dans votre pipeline CI/CD, ce qui permet une détection continue et précoce des anomalies. L’optimisation des seuils est également cruciale alors prenez le temps d’ajuster le threshold en fonction de vos besoins spécifiques et du niveau de sensibilité souhaité pour votre projet.

La diversification des modèles constitue un autre aspect important de l’optimisation. En combinant différents modèles d’analyse, vous obtenez une couverture plus complète et plus fiable de vos données.

Et la gestion du cache ne doit pas être négligée : utilisez régulièrement la commande –clear-cache pour maintenir des performances optimales et éviter l’accumulation de données obsolètes.

Voilà, avec ça, même si ça ne remplacera pas une bonne équipe de pentesters, ça permettra d’automatiser des contrôles de sécurité intelligents sur votre code.

Source du projet OASIS

Que faire après le bac quand on est passionné de cybersécurité ?
Contenu partenaire
Logo de l'école de Cybersécurité Guardia
Tracking Matomo Guardia

Entièrement dédiée à la cybersécurité, l'école Guardia est accessible soit directement après le bac (post-bac), soit après un bac+2 ou bac+3. En rejoignant l'école Guardia, vous deviendrez développeur informatique option cybersécurité (Bac+3) ou expert en cybersécurité (Bac+5).

Cliquez ici pour en savoir plus