Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
rikune — Serveur MCP pour le rétro-ingénierie des exécutables Windows et des formats binaires. Combine le triage statique, la récupération de fonctions assistée par Ghidra, des outils pilotés par plugins, la gestion des artefacts, et une exécution isolée d'un runtime Windows en option. | Kitploit
Outils/GitHubGitHub/last-emo-boy/rikune
Analyse StatiqueAnalyse Dynamique (Sandboxing)Frameworks d'ExploitationAnalyse des VulnérabilitésRétro-ingénierieAnalyse ForensiqueAnalyse de MalwareSécurité MobileAnalyse de BinairesApprentissage et ÉducationAnalyse de Micrologiciel
237273il y a 4 joursVérifié par Kitploit
GitHub
last-emo-boy/rikune

rikune

Serveur MCP pour le rétro-ingénierie des exécutables Windows et des formats binaires. Combine le triage statique, la récupération de fonctions assistée par Ghidra, des outils pilotés par plugins, la gestion des artefacts, et une exécution isolée d'un runtime Windows en option.

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Rikune

Rikune est un serveur MCP pour le rétro-ingénierie d'exécutables Windows et de formats binaires connexes. Il combine la réception d'échantillons, le tri statique, la récupération de fonctions assistée par Ghidra, des outils spécialisés basés sur des plugins, la gestion des artefacts, et l'exécution facultative dans un environnement Windows isolé derrière une interface Model Context Protocol.

Le flux de travail actuel du serveur orienté IA est organisé autour d'une surface de passerelle minimale :

  1. Utilisez workflow.search pour classer les profils, les flux de travail et les capacités spécialisées correspondant au type de fichier et à l'objectif utilisateur.
  2. Utilisez workflow.run action=request_upload pour le téléchargement de fichier hôte, ou laissez workflow.search orienter les clients hérités vers des outils de compatibilité de réception d'échantillons cachés.
  3. Utilisez workflow.run action=start avec le sample_id renvoyé.
  4. Utilisez workflow.run action=status et workflow.run action=promote pour surveiller et approfondir l'exécution en cours.
  • Utilisez artifact.read pour les artefacts persistants complets lorsque la sortie compacte du workflow ne suffit pas.
  • sample.*, workflow.analyze.*, workflow.triage, tools.discover, et task.status restent enregistrés pour la compatibilité ou l'inspection de bas niveau, mais les nouveaux clients devraient préférer workflow.search, workflow.run, et artifact.read.

    Lors de la connexion via la passerelle distante rikune-agent, les clients MCP voient des noms de transport stables : workflow_search, workflow_run, artifact_read, rikune_tool_call, et les contrôles rikune_connection_*. rikune_connection_refresh met à jour uniquement le cache interne des capacités en amont ; il n'étend pas la liste des outils MCP. Utilisez rikune_tool_call uniquement après que workflow_search a identifié un sous-outil d'analyseur interne spécifique qui n'est pas couvert par la passerelle principale du workflow ou des artefacts.

    Ce que Rikune fournit

    • Serveur MCP stdio pour les clients IA et les environnements d'exécution d'agents.
    • API HTTP et tableau de bord optionnels pour les téléchargements, les téléchargements, les vérifications de santé, les événements SSE et l'accès aux artefacts.
    • Espaces de travail d'échantillons basés sur SHA-256 avec fichiers originaux durables, répertoires de cache, artefacts d'analyse et sessions de téléchargement.
    • Persistance basée sur SQLite pour les échantillons, analyses, travaux, preuves, artefacts, lots, sessions de débogage et télémétrie du planificateur.
    • Architecture de plugins avec 111 plugins intégrés et découverte de plugins externes.
    • Surface d'outils progressive : la passerelle par défaut orientée IA est intentionnellement petite ; workflow.search utilise le type d'échantillon, les résultats et les métadonnées de profil pour orienter vers des capacités spécialisées sans exposer tous les outils dès le départ.
    • Analyse statique et enrichissement pour PE, ELF, Mach-O, APK/DEX, Office, firmware, UEFI/SMM, CUDA PTX/CUBIN/fatbin, chaînes, YARA, SBOM, signatures, packers, .NET, Go, Rust, et plus encore.
    • Intégration de Ghidra, Rizin, RetDec, angr, Capstone, Graphviz, Qiling, PANDA, Speakeasy, Wine, Frida et de l'environnement d'exécution dynamique là où ils sont disponibles.
    • Installation de backends Docker pilotée par plugins avec des niveaux par défaut, optionnel, recherche, exécution, GPU, BYO et sidecar pour les outils de rétro-ingénierie assistés par des travailleurs.
    • Séparation optionnelle Analyseur/Environnement d'exécution pour l'exécution Windows en direct via un Agent hôte Windows, un Windows Sandbox ou une machine virtuelle Hyper-V.
    • Barrières de politique pour l'exécution en direct, l'accès réseau, le téléchargement externe et la décompilation en masse.

    Démarrage rapide

    Analyseur Docker statique

    Docker statique est la valeur par défaut la plus sûre. Il n'exécute pas d'échantillons.

    root@kitploit:~
    .\rikune.ps1 install -Profile static -DataRoot "D:\Docker\rikune"
    
    root@kitploit:~
    ./rikune.sh install --profile static --data-root "$HOME/.rikune"
    

    Équivalent manuel :

    root@kitploit:~
    npm install
    npm run build
    npm run docker:generate:all
    docker compose --env-file .docker-runtime.env -f docker-compose.analyzer.yml up -d --build analyzer
    

    Docker hybride + environnement d'exécution Windows

    Le mode hybride exécute l'analyseur dans Docker et délègue le travail Windows en direct à un Agent hôte Windows. L'Agent hôte peut démarrer Windows Sandbox à la demande ou contrôler une machine virtuelle Hyper-V configurée.

    root@kitploit:~
    .\rikune.ps1 install -Profile hybrid -InstallRuntime
    

    Depuis Linux/macOS avec un hôte d'exécution Windows distant :

    root@kitploit:~
    ./rikune.sh install --profile hybrid --windows-host <windows-host> --windows-user <windows-user>
    

    La connexion d'un client MCP ne démarre pas Windows Sandbox ni n'exécute un échantillon. Le travail d'exécution en direct ne commence que lorsqu'un outil le demande explicitement, par exemple runtime.debug.session.start, runtime.debug.command, sandbox.execute, ou une étape d'exécution dynamique promue.

    Développement natif

    root@kitploit:~
    npm install
    npm run build
    npm test
    node dist/index.js
    

    Le package racine nécessite Node.js 22 ou plus récent. Certains sous-packages d'exécution peuvent fonctionner sur des versions plus anciennes de Node, mais le développement du dépôt et l'interface CLI racine publiée doivent utiliser Node 22+.

    Flux principal de la passerelle

    Recherche et téléchargement

    Commencez par workflow.search chaque fois que le flux de travail demandé, le type de fichier ou le backend n'est pas clair. Il classe les profils correspondants et renvoie des indications compactes de disponibilité/orientation sans activer les outils spécialisés cachés.

    Pour les fichiers hôtes, appelez workflow.run action=request_upload, envoyez les octets bruts en POST vers l'URL de téléchargement renvoyée, puis lisez le sample_id dans la réponse HTTP. sample.request_upload et sample.ingest sont des aides de compatibilité plutôt que le chemin normal orienté IA.

    Pour les déploiements d'analyseur distant ou rikune-agent, définissez API_PUBLIC_BASE_URL, RIKUNE_API_PUBLIC_BASE_URL, ou RIKUNE_ANALYZER_PUBLIC_URL sur la base de l'API HTTP accessible par le client, par exemple http://159.195.136.226:18080. Les sessions de téléchargement renvoient alors des upload_url / status_url publiques au lieu des URL localhost locales au conteneur. La passerelle distante normalise également les URL de téléchargement localhost provenant d'analyseurs plus anciens vers son point de terminaison d'analyseur configuré.

    Si l'API HTTP est activée, POST /api/v1/samples est toujours disponible pour les intégrations non-MCP. Une réception réussie renvoie un sample_id ; l'analyse doit utiliser sample_id, pas un chemin local, après importation.

    Démarrer l'analyse

    Appelez workflow.run action=start avec le sample_id. La première étape effectue un profil rapide et crée ou réutilise une exécution d'analyse. Le plan_id renvoyé correspond à l'exécution d'analyse persistée.

    Promouvoir les étapes

    Utilisez workflow.run action=promote pour demander des étapes plus approfondies. Le pipeline modélise actuellement ces étapes :

    • fast_profile
    • enrich_static
    • function_map
    • reconstruct
    • semantic_reviews
    • dynamic_plan
    • dynamic_execute
    • summarize

    Les travaux de longue durée sont mis en file d'attente via le système de travaux. Interrogez l'état compact des étapes avec workflow.run action=status.

    workflow.run action=status est la vue principale des exécutions en cours. Les charges utiles historiques des grandes étapes peuvent être tronquées avec un avertissement de premier niveau ; utilisez artifact.read pour les artefacts complets. task.status est une vue de compatibilité brute de file d'attente/processus et inclut les mesures de mémoire external_active_* pour les sous-processus de l'analyseur.

    Examiner les résultats

    Surfaces de suivi utiles :

    • workflow.search
    • workflow.run
    • analysis.context.get
    • artifact.read, ainsi que les aides de compatibilité d'artefacts telles que artifact.list, artifact.diff, et artifact.download
    • report.summarize, report.generate, workflow.summarize
    • workflow.semantic_name_review
    • workflow.function_explanation_review
    • workflow.module_reconstruction_review
    • tool.help, tool.readiness, et tools.discover pour l'inspection de compatibilité/débogage

    Architecture

    Le chemin de code actuel est :

    root@kitploit:~
    src/index.ts
      -> loadConfig()
      -> WorkspaceManager / DatabaseManager / PolicyGuard / CacheManager / StorageManager / JobQueue
      -> optional RuntimeClient or Windows sandbox bootstrap
      -> registerAllTools()
      -> MCP stdio server
    

    Les modules principaux du serveur se trouvent sous src/core/ :

    ZoneFichier actuel
    Wrapper serveur MCPsrc/core/server.ts
    Registre d'outils/prompts/ressources MCPsrc/core/mcp-registry.ts
    Exécution d'outils, validation, hookssrc/core/tool-executor.ts
    Orchestration du registresrc/core/tool-registry.ts
    Tranches de registre intégréessrc/core/tool-registry/*.ts
    Façade du gestionnaire de pluginssrc/core/plugins.ts
    Découverte/chargement de pluginssrc/core/plugin-orchestrator.ts
    Exposition progressive des outilssrc/core/tool-surface-manager.ts

    Certains fichiers racine tels que src/server.ts, src/tool-registry.ts, et src/plugins.ts restent des relais de compatibilité. Le nouveau code doit cibler src/core/*.

    Plans de déploiement

    PlanObjectifCode clé
    AnalyseurServeur MCP stdio, API HTTP, stockage, travaux, outils statiques, orchestration de pluginssrc/index.ts, src/core/*
    Nœud d'exécutionExécuteur de tâches isolé dans un bac à sable ou une machine virtuellepackages/runtime-node/*
    Agent hôte WindowsDémarre/arrête Windows Sandbox ou l'exécution Hyper-V et expose les points de terminaison de contrôle de l'exécutionpackages/windows-host-agent/*
    Passerelle d'agentPasserelle/proxy MCP pour la gestion des connexions analyseur/exécutionsrc/rikune-agent-gateway.ts

    Les modes d'exécution sont configurés via runtime.mode ou des variables d'environnement :

    • disabled : aucune délégation d'exécution.
    • manual : connexion à un point de terminaison d'exécution fourni.
    • remote-sandbox : délégation à un Agent hôte Windows.
    • auto-sandbox : analyseur natif Windows lance Windows Sandbox localement.

    Les analyseurs Docker/WSL doivent utiliser remote-sandbox, pas auto-sandbox.

    Système de plugins

    Rikune inclut actuellement 111 plugins intégrés sous src/plugins/<id>/. Les plugins peuvent enregistrer des outils, déclarer des dépendances, exposer un schéma de configuration, participer à des hooks de cycle de vie, fournir des métadonnées Docker et déclarer des outils Worker liés et limités via les métadonnées workerBackend.

    La suite Worker de frontière conserve les outils de plan uniquement comme surfaces de tri et de transfert, puis ajoute des outils d'exécution explicites à côté d'eux. restringer.deobfuscation.run, jsimplifier.pipeline.run, jsir.cascade.normalize, gtirb.ir.generate, remill.lift.run, manifold.fact.extract, qbdi.trace.run, et culifter.gpu.artifact.inventory exposent des contrats Worker via workflow.search, plugin.list, tool.help, et tool.readiness ; tools.discover reste un portail de compatibilité de bas niveau. La découverte et la disponibilité restent passives : elles rapportent les métadonnées du backend et les conseils de configuration sans lancer REstringer, JSIMPLIFIER, JSIR/CASCADE, GTIRB, Remill, Manifold, QBDI, les pilotes GPU, Node/V8, les navigateurs ou l'instrumentation d'exécution.

    La génération Docker lit les métadonnées systemDeps et de packaging Worker directement. Les images par défaut installent des wrappers statiques à faible risque tels que REstringer, JSIMPLIFIER, Manifold, WABT, et la validation LIEF ; les profils optionnels peuvent activer les routes statiques JSIR/CASCADE, JSVMP, GTIRB, radare2, et Triton ; les backends lourds/d'exécution/GPU/sensibles aux licences restent profilés, BYO, ou sidecar.

    root@kitploit:~
    node scripts/generate-docker.mjs --dry-run
    node scripts/generate-docker.mjs --profile=full --backend-profile=optional
    node scripts/generate-docker.mjs --all-profiles --dry-run
    

    Le chargement des plugins est contrôlé par PLUGINS :

    root@kitploit:~
    PLUGINS=*                 # tous les plugins intégrés
    PLUGINS=pe-analysis,yara  # plugins sélectionnés
    PLUGINS=-dynamic          # tous sauf dynamique
    

    Utilisez ces outils MCP à l'exécution :

    • workflow.search
    • workflow.run
    • plugin.list
    • plugin.enable
    • plugin.disable
    • tools.discover et tool.readiness pour l'inspection de compatibilité/débogage de bas niveau

    Voir docs/PLUGINS.md et packages/plugin-sdk/README.md.

    API HTTP

    Lorsque api.enabled est vrai, le serveur de fichiers intégré expose :

    Point de terminaisonObjectif
    /dashboard et /Interface tableau de bord
    /api/v1/healthDisponibilité
    /api/v1/readyPréparation de la base de données, de la file d'attente, de l'exécution et des backends de plugins
    /api/v1/eventsÉvénements SSE
    /api/v1/samplesTéléchargement direct d'échantillons
    /api/v1/samples/:idMétadonnées de l'échantillon
    /api/v1/samples/:id/downloadTéléchargement de l'échantillon original
    /api/v1/artifactsListe des artefacts
    /api/v1/artifacts/:idLecture/suppression d'artefact
    /api/v1/uploads/:tokenPOST/statut de session de téléchargement durable

    L'authentification par clé API, la limitation de débit, les en-têtes de sécurité et le CORS limité sont gérés par la couche HTTP.

    Prérequis

    Ligne de base minimale de développement :

    • Node.js 22+
    • npm
    • Python 3.11+ recommandé pour les travailleurs et les scripts d'analyse
    • Docker 20.10+ et Docker Compose v2 pour les profils Docker
    • Java 21+ pour les versions modernes de Ghidra
    • Ghidra pour l'analyse de fonctions assistée par décompilateur
    • Windows 10/11 Pro, Entreprise, ou support de machine virtuelle équivalent pour les chemins d'exécution Windows Sandbox et Hyper-V

    Les outils optionnels sont spécifiques aux plugins. Exécutez system.health, system.setup.guide, tool.readiness, et plugin.list pour voir ce qui manque dans un environnement donné.

    Structure du projet

    root@kitploit:~
    src/
      index.ts                    point d'entrée principal du serveur
      core/                       serveur MCP, registre, exécuteur, orchestration de plugins
      core/tool-registry/         tranches d'enregistrement d'outils/prompts/ressources intégrés
      tools/                      implémentations des outils principaux
      workflows/                  flux de travail d'analyse, tri, reconstruction, révision
      analysis/                   état d'exécution et exécuteur de tâches en arrière-plan
      plugins/                    111 plugins intégrés
      persistence/                persistance SQLite et espace de travail
      sample/                     finalisation des échantillons et inspection de l'espace de travail
      storage/                    artefacts, téléchargements, rétention
      runtime-client/             client de délégation d'exécution côté analyseur
      worker/                     orchestration des travailleurs Ghidra et Python
    packages/
      plugin-sdk/                 SDK public de plugins
      shared/                     types de contrat d'exécution et d'outils
      runtime-node/               exécuteur d'exécution isolé
      windows-host-agent/         Agent hôte Windows Sandbox / Hyper-V
    workers/                      scripts Python de travailleurs et règles YARA
    docker/                       modèles Dockerfile générés et fichiers de profil
    docs/                         documentation sur l'architecture, les plugins, l'exécution, le déploiement
    tests/                        tests unitaires, d'intégration et de bout en bout
    

    Commandes de développement

    root@kitploit:~
    npm install
    npm run build
    npm test
    npm run typecheck
    npm run validate
    npm run docker:generate:all
    

    Vérifications ciblées utiles :

    root@kitploit:~
    npm run test:unit
    npm run test:integration
    npm run test:e2e
    npm run build:runtime
    

    Configuration du client MCP

    Construction locale :

    root@kitploit:~
    {
      "mcpServers": {
        "rikune": {
          "command": "node",
          "args": ["D:/Playground/windows-exe-decompiler-mcp-server/dist/index.js"],
          "env": {
            "API_ENABLED": "true",
            "API_PORT": "18080",
            "API_PUBLIC_BASE_URL": "http://127.0.0.1:18080",
            "PLUGINS": "*"
          }
        }
      }
    }
    

    Docker stdio :

    root@kitploit:~
    {
      "mcpServers": {
        "rikune": {
          "command": "docker",
          "args": ["exec", "-i", "rikune-analyzer", "node", "dist/index.js"]
        }
      }
    }
    

    Package publié :

    root@kitploit:~
    npm install -g rikune
    rikune
    rikune docker-stdio
    rikune agent
    

    Stockage

    Par défaut, Rikune stocke les données persistantes sous la racine Rikune de l'utilisateur. Les programmes d'installation Docker mappent généralement cette racine vers un répertoire hôte tel que D:\Docker\rikune.

    Sous-répertoires courants :

    • samples/
    • artifacts/
    • uploads/
    • cache/
    • logs/
    • Fichier de base de données SQLite
    • Journal d'audit JSONL

    Les espaces de travail d'échantillons sont regroupés par SHA-256 pour éviter les collisions de chemins et préserver les originaux immuables.

    Limites de sécurité

    Rikune est conçu pour l'analyse de malwares et de binaires non fiables, mais il ne constitue pas en soi une limite de sécurité magique.

    • Le mode Docker statique doit être la valeur par défaut pour l'analyse courante.
    • L'exécution Windows en direct doit avoir lieu dans Windows Sandbox ou une machine virtuelle isolée.
    • Le nœud d'exécution refuse un démarrage dangereux sauf en cas de dérogation explicite.
    • Les actions dangereuses sont protégées par PolicyGuard.
    • L'exécution de commandes utilise des API de processus structurées et une validation de commande autorisée.
    • N'exécutez pas d'échantillons inconnus sur une station de travail hôte en dehors du modèle d'isolation d'exécution.

    Voir SECURITY.md et TROUBLESHOOTING.md.

    Carte documentaire

    • INSTALL.md : Guide d'installation Docker en chinois.
    • DEPLOYMENT.md : Profils de déploiement et topologie d'exécution.
    • docs/ARCHITECTURE.md : Architecture actuelle du code.
    • docs/PLUGINS.md : Liste des plugins, concepts SDK, cycle de vie, découverte.
    • docs/ANALYSIS-RUNTIME.md : Modèle d'exécution et d'analyse en étapes.
    • docs/ASYNC-JOB-PATTERN.md : Modèle de travaux asynchrones et d'interrogation.
    • docs/MIGRATION-ASYNC.md : Notes de migration pour les flux de travail asynchrones en étapes.
    • docs/DYNAMIC-RUNTIME-ROADMAP.md : Feuille de route et état de l'exécution dynamique.
    • CONTRIBUTING.md : Processus de développement et de contribution.
    • packages/plugin-sdk/README.md : Package de création de plugins.
    • workers/README.md : Contrat des travailleurs Python.

    Licence

    MIT

    Télécharger l’outil