>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
Java

Contrôler le Flipper Zero par la voix et un réseau neuronal avec Vesper

Récemment, je suis tombé sur le dépôt V3SP3R. L'auteur a décidé de combiner deux loisirs populaires de ces dernières années : le gadget de poche Flipper Zero et les modèles de langage. Quiconque a essayé de faire défiler des listes interminables sur le petit écran du "flipper" à l'aide d'un joystick se souvient de cette expérience particulière. Déléguer des tâches routinières à des commandes textuelles ou vocales semble être une étape parfaitement naturelle.

Ce que est Vesper

Vesper est une application mobile Android écrite en Kotlin avec la boîte à outils d'interface utilisateur Jetpack Compose. La configuration est simple. Le téléphone se connecte au Flipper Zero via Bluetooth Low Energy et aux réseaux neuronaux via la passerelle API unifiée OpenRouter.

En conséquence, vous envoyez une requête textuelle naturelle ou parlez dans le microphone. Des phrases comme "afficher les derniers dumps SubGHz", "créer un script BadUSB" ou "vérifier le niveau de batterie" sont analysées par le réseau neuronal en fonctions composantes. Ensuite, l'application envoie les commandes RPC nécessaires au Flipper lui-même et affiche le résultat dans le chat.

Fonctionnalités principales du projet

Contrôle vocal et multimodal

L'application peut accepter bien plus que des messages texte ou audio. Si vous envoyez une photo d'un appareil ou d'une plaque signalétique avec des données techniques, le modèle tentera de déterminer la fréquence ou le protocole. De plus, le dépôt inclut un pont Node.js pour connecter les lunettes intelligentes Mentra. Avec elles, vous pouvez demander des images directement depuis la caméra intégrée des lunettes.

Laboratoire de signaux et génération de charges utiles

Le module Alchemy Lab contient un éditeur visuel de signaux radiofréquence. Vous pouvez combiner des formes d'onde et exporter immédiatement le fichier prêt .sub vers la carte SD de l'appareil. Le module Payload Lab gère la préparation des scripts Rubber Ducky/BadUSB, des télécommandes infrarouges et des tags NFC.

Système de segmentation des risques

Accorder à un réseau neuronal un accès complet au système de fichiers d'un appareil de pirate est risqué. Une hallucination du modèle pourrait entraîner la suppression des dumps nécessaires. Pour éviter cela, l'auteur a mis en place quatre niveaux d'accès :

  • Les opérations de lecture sûres sont exécutées automatiquement.
  • Les modifications de fichiers affichent la différence avant et après l'écriture.
  • La transmission radio ou la suppression nécessite une confirmation.
  • Les répertoires système du micrologiciel sont verrouillés par défaut.

Chaque action est enregistrée dans un journal d'audit local. Il peut être filtré par type ou exporté pour analyse.

Téléchargement de logiciels depuis FapHub et GitHub

L'application dispose d'un catalogue FapHub intégré. Vous pouvez trouver les utilitaires dont vous avez besoin et les installer sur Flipper en un clic. La recherche de ressources GitHub fonctionne de manière similaire : l'application trouve les fichiers compatibles et les télécharge directement sur la carte mémoire.

Détails techniques

Architecturalement, le code est divisé en trois couches standard :

  • La couche UI est construite sur Jetpack Compose avec injection de dépendances via Hilt.
  • La couche Domaine contient l'orchestrateur VesperAgent, le gestionnaire d'appels d'outils et le module d'évaluation des risques RiskAssessor.
  • La couche Données gère la connexion Bluetooth via FlipperBleService, enregistre l'historique dans Room et conserve les paramètres dans Encrypted DataStore.

Lorsqu'on travaille avec des LLM, un problème courant survient lorsque le modèle produit du JSON corrompu dans les appels de fonction (Tool Calling). Vesper dispose d'un module de correction de syntaxe intégré qui restaure la structure de la réponse avant de passer la commande à l'exécution.

Pour les modèles, l'auteur recommande d'utiliser Nous Research Hermes 4 ou Claude Sonnet 4. Ils gèrent bien les appels de fonctions externes. Pour les tâches de lecture simples, Claude Haiku 4 suffira, et pour l'analyse de signaux complexes — Claude Opus 4.6.

Comment lancer l'application

Il se peut qu'il n'y ait pas de fichiers APK pré-construits dans la section des versions, vous devrez donc construire le projet vous-même.

JDK 17 et un système Android SDK installé sont nécessaires pour la construction. Clonez le dépôt et lancez la construction :

git clone https://github.com/elder-plinius/V3SP3R.git
cd V3SP3R
./gradlew assembleDebug

Le fichier prêt apparaîtra à app/build/outputs/apk/debug/app-debug.apk.

Trois choses sont nécessaires pour que l'application fonctionne :

  1. Un smartphone avec Android 8.0 ou supérieur.
  2. Bluetooth activé sur le Flipper Zero.
  3. Un compte OpenRouter avec un solde de quelques dollars.

Après le lancement, accordez les autorisations pour Bluetooth et l'accès à la localisation (c'est une exigence d'Android pour le scan BLE), insérez la clé API dans les paramètres et connectez-vous au "flipper" dans l'onglet Appareil.

Résumé

Vesper démontre un cas d'utilisation pratique pour les agents LLM dans le contrôle du matériel physique. Le projet n'est pas sans inconvénients : vous avez toujours besoin d'une clé API tierce, et la construction de l'application à partir du code source nécessite des compétences minimales en Android SDK.

Cependant, pour les chercheurs en sécurité et les passionnés de microélectronique, c'est un excellent utilitaire qui élimine les clics dans les menus et accélère les tests de routine.

Projets similaires