Source : non précisée — Contexte : annonce d’un nouvel outil qui intègre CyberChef au sein d’IDA Pro pour accélérer les workflows d’analyse de malware et de rétro‑ingénierie.
• Qu’est‑ce que c’est ? 🧩 Un plugin Qt (« IDA CyberChef ») qui embarque le moteur CyberChef dans l’interface d’IDA Pro afin d’éviter les allers‑retours avec l’UI web de CyberChef. Il s’intègre avec des fonctions d’IDA (lecture du curseur/sélection, ajout de commentaires, patching d’octets) et permet de composer/chaîner des opérations (ex. Base64, XOR) directement dans l’outil.
• Fonctionnement 🔧
Le projet utilise STPyV8 pour exécuter le code JavaScript de CyberChef depuis Python. Le module ida_cyberchef.cyberchef charge le bundle, applique des polyfills pour les APIs navigateur/Node.js nécessaires et expose une API bake() pour traiter des données binaires via une « recette ». Une interface PySide6/Qt fournit un compositeur de recettes avec dumps hex d’entrée/sortie, une exécution réactive (débounce) et un aperçu des résultats intermédiaires par étape.
• Compatibilité et limites 🚫 Chemin supporté : exécution hors‑ligne via STPyV8 (plugin et application Qt autonome). Sont supportées la plupart des opérations locales déterministes, avec des correctifs de compatibilité côté runtime. Opérations non prises en charge dans l’état actuel :
- JavaScript Beautify / Minify / Parser, Syntax highlighter
- DNS over HTTPS, HTTP request
- Optical Character Recognition, Add Text To Image
- Explicitement non supportées : Magic, YARA Rules, Argon2, Argon2 compare
La documentation annote ces exclusions dans
docs/ops.mdet détaille la politique de support dansdocs/runtime-support.md.
• Installation, build et exécution 📦
Installation via le gestionnaire de plugins Hex‑Rays (HCLI) : hcli plugin install ida-cyberchef (HCLI gère installations, licences et SDKs IDA). Build du bundle CyberChef (nécessite Node.js) : git submodule update --init --recursive puis just build (génère ida_cyberchef/data/CyberChef.js ~20 Mo). Pour IDA : symlink du dépôt vers $IDAUSR/plugins/ida-cyberchef et installation des dépendances Python (STPyV8, pydantic). Application Qt autonome possible : uv run cyberchef-qt.
• Avenir et licence 📜 Le mainteneur souligne un risque de pérennité autour des moteurs JS embarqués (STPyV8, mention de PythonMonkey) pouvant cesser d’être compatibles avec de futures versions de Python/IDA, auquel cas l’architecture pourrait être réévaluée. Code sous licence Apache 2.0 par Hex‑Rays ; CyberChef est sous Apache 2.0 par GCHQ. Type d’article : annonce d’outil et notes techniques d’implémentation.
IOCs et TTPs : aucun indiqué.
🔗 Source originale : https://github.com/HexRaysSA/ida-cyberchef