J’ai réalisé ce premier stage au sein de SitInCloud, une entreprise spécialisée dans le développement de solutions innovantes en matière cybersécurité..
Au cours de ce stage, j'ai eu l'occasion de participer activement à l'évolution de leur produit phare, owlyscan. Owlyscan est un moteur de recherche qui indexe le darknet, une partie de l'Internet non indexée par les moteurs de recherche classiques, offrant un anonymat renforcé grâce à un système de relais chiffrés.
Le but de ce produit est de permettre aux entreprises d’effectuer une recherche sur internet des données ayant fuité de leur service informatique.
Ma première mission consistait à migrer le site web d’Owlyscan de Vue 2 vers Vue 3. Après m’être formé sur Vue.js , j’ai analysé la structure du projet et est suivi la procédure de migration proposé par Vue.js. J'ai identifié de nombreuses incompatibilités liées aux dépendances qui ne fonctionne plus avec cette nouvelle version. Malgré mes efforts pour corriger les erreurs et mettre à jour les composants, de nouvelles complications apparaissaient continuellement, notamment lors du changement de version de Node.js. En autonomie, j’ai poursuivi mes recherches et tenté plusieurs solutions, mais au bout de trois semaines, j’ai proposé de repartir de zéro avec une refonte complète en Vue 3. Cette proposition a été validée, mais confiée à un autre développeur compte tenu du temps restant.
On m'a ensuite confié la tâche de rechercher des channel Telegram de fuite de donnée en vue de les intégrer à owlyscan, plus précisément, j'ai cherché des channels relayant des combolists (liste comportant le nom et le mot de passe d’un compte). Voici le début de cette liste :
Ensuite, on m'a donné pour mission d’aider au changement de la façon dont les sites illégaux du darknet sont écartés des résultats de Owlyscan. Précédemment, le tri se faisait à partir du contenu textuel de la première page de chaque site, cela nécessitait d’accéder à chaque site pour récupérer le texte, une méthode efficace, mais pas optimale On peut trouver tout un tas de chose interdite et inutile aux entreprises sur le darknet, c’est pour cela qu’il est important de catégoriser et trier ce qui sera indexé par owlyscan
Ma tâche consistait à étiqueter un échantillon de sites du darknet en fonction de leur URL et de leur titre. J'ai donc analysé les noms des sites web et leur ai attribué une catégorie (Shop, Links, Forum, BTC, Illegal, Other ou Undefined lorsque je ne pouvais pas deviner). Cette phase de classification manuelle a servi à créer un jeu de données précis et structuré, qui a permis d’entraîner une intelligence artificielle (un LLM, transformer sur une base de Mixtral 8x7b, un modèle d’IA français qui a l’avantage d’être peu gourmand tout en étant efficace). Une fois entraînée, l'IA pourra automatiquement identifier et étiqueter les sites de manière autonome, améliorant ainsi l'efficacité et la précision du processus de classification à grande échelle et permettant d'éliminer correctement les contenus indésirables d'Owlyscan
Début du fichier contenant l’étiquetage :
J’ai observé comment mon tuteur a formaté les données pour entraîner le LLM à l’aide d’une syntaxe spécifique ([row][url]…[title]…[lbl0]…), afin qu’il retourne automatiquement l’étiquette attendue pour chaque site. Après un test concluant, il a enrichi mon jeu d’entraînement avec un grand échantillon de sites classés "Illegal". L’IA a bien su distinguer les contenus illégaux, tout en laissant dans "Shop" certaines ventes sensibles utiles à des services habilités. Le lendemain, après l’analyse de 10 000 sites, j’ai été chargé de vérifier et corriger les étiquetages sur les 1 000 sites retenus.
Ma dernière mission a consisté à développer une visualisation graphique du darknet, représenté comme un réseau de sites reliés entre eux. J’ai d’abord créé un premier prototype pour afficher ce réseau dans une interface web interactive. Face aux problèmes de performance avec un grand nombre de données, j’ai recherché des solutions pour améliorer l’affichage et permettre une navigation fluide. J’ai ensuite utilisé un logiciel de visualisation avancée pour produire une image lisible et exploitable lors d’une présentation.