Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
MCPTrace — Plugin Volatility 3 qui extrait les candidats de messages MCP/JSON-RPC à partir de vidages mémoire Windows et Linux, en préservant les octets bruts, les adresses et le SHA-256 pour vérification. | Kitploit
Outils/GitHubGitHub/kowntaewook/mcptrace
Criminalistique MémoireAnalyse ForensiqueCollecte d'InformationsAnalyse de MalwareCriminalistique NumériqueRéponse aux IncidentsSécurité de l'IAAnalyse de Journaux
GitHubkowntaewook/mcptrace

MCPTrace

Plugin Volatility 3 qui extrait les candidats de messages MCP/JSON-RPC à partir de vidages mémoire Windows et Linux, en préservant les octets bruts, les adresses et le SHA-256 pour vérification.

743il y a 7 joursPas encore vérifié

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
Voir le dépôt

MCPTrace

MCPTrace est un plugin Volatility 3 permettant d'extraire des candidats de messages MCP/JSON-RPC à partir de vidages mémoire Windows et Linux. Il examine la mémoire des processus à la recherche de requêtes, de réponses, de notifications, de noms d'outils et d'arguments d'appel, puis enregistre le contenu récupéré ainsi que son emplacement en mémoire.

Le projet se concentre sur les preuves qu'un analyste peut inspecter et vérifier. Chaque artefact conserve ses octets d'origine, son identifiant de processus, son adresse virtuelle, son encodage, sa longueur et son hachage SHA-256. Les résultats peuvent être exportés au format JSONL pour une analyse ultérieure ou une comparaison avec d'autres journaux. MCPTrace fonctionne sur une image mémoire acquise et ne nécessite ni LLM ni API d'IA externe.

Fonctionnalités

  • Extraire les artefacts JSON-RPC en UTF-8 et UTF-16LE depuis la mémoire de processus lisible.
  • Identifier les méthodes liées à MCP et les formes de réponse, y compris les noms et arguments de tools/call.
  • Préserver les octets et adresses d'origine pour une vérification ultérieure par rapport à l'image.
  • Suggérer des relations requête/réponse en utilisant le même PID et un identifiant de requête typé.
  • Appliquer des règles optionnelles définies par l'analyste aux arguments d'outils, telles que des vérifications de chemin ou d'URL.
  • Exporter les artefacts et les résumés par processus, y compris les octets illisibles, les erreurs et les limites de recherche.

Les cibles d'analyse actuelles sont Windows x64 et Linux x86-64. Le nom du plugin fait référence au système d'exploitation de l'image mémoire, indépendamment du système d'exploitation utilisé pour exécuter Volatility.

Fonctionnement

MCPTrace utilise l'énumération des processus et la traduction d'adresses de Volatility. Sous Windows, il parcourt les Virtual Address Descriptors (VAD) des processus ; sous Linux, il parcourt les Virtual Memory Areas (VMA). Ces mappages définissent les plages d'adresses de processus examinées. Les deux adaptateurs partagent le même code de carving de messages, de corrélation, de politique et d'export.

Dans les plages lisibles, le scanner recherche les marqueurs littéraux de version JSON-RPC et localise les objets JSON candidats autour d'eux. Il gère les objets imbriqués, les caractères échappés, les accolades à l'intérieur de chaînes et les messages s'étendant sur des blocs de lecture contigus. Le JSON comportant des clés dupliquées ou des identifiants non pris en charge est rejeté plutôt que silencieusement réinterprété. La pertinence MCP est déterminée à partir des noms de méthodes connus, des formes de réponse et des identifiants de requête associés ; il ne s'agit pas d'une validation complète du schéma MCP.

La mémoire manquante reste manquante. Le lecteur ne comble pas les lacunes avec des zéros et ne joint pas les octets à travers des VAD/VMA distincts. Avec --include-partial, les fragments non analysés peuvent être affichés séparément, sans inventer d'identifiants ou d'arguments manquants. Les grandes plages non mappées peuvent être ignorées à l'aide des informations de table des pages, et les plages d'adresses illisibles restent visibles dans les statistiques de scan.

La corrélation est délibérément conservatrice. Un identifiant numérique tel que 1 est distinct de l'identifiant chaîne "1", et les messages de processus différents ne sont pas automatiquement liés. Les multiples représentations distinctes associées à un identifiant sont marquées comme ambiguës. Les relations candidates ne reconstruisent pas à elles seules une session, une direction de message ou une chronologie d'exécution.

Installation

Nécessite Python 3.10+. L'installation inclut la dépendance épinglée du framework, volatility3==2.28.2. Gardez le répertoire plugins/ du dépôt disponible : le paquet Python est installé avec pip, tandis que -p plugins charge les adaptateurs Volatility.

git clone https://github.com/Kowntaewook/MCPTrace.git
cd MCPTrace
python -m venv .venv

Activez l'environnement pour votre shell :

  • Windows PowerShell : .\.venv\Scripts\Activate.ps1
  • Shell Linux/macOS : source .venv/bin/activate

Installez ensuite MCPTrace :

python -m pip install .

Utilisation

Exécutez les exemples suivants depuis la racine du dépôt avec l'environnement virtuel actif. Remplacez les chemins d'image et les PID par vos preuves et processus cibles. Les clients et serveurs MCP peuvent s'exécuter dans des processus séparés, inspectez donc les deux lorsque c'est pertinent.

Windows

Vérifiez que Volatility peut interpréter l'image et énumérer ses processus avant d'exécuter MCPTrace. La préparation des symboles Windows peut nécessiter un accès réseau.

vol -f windows.raw windows.info.Info
vol -f windows.raw windows.pslist.PsList
mkdir output-windows
vol -p plugins -f windows.raw -o output-windows windows.mcptrace.MCPTrace --pid 4242 5252 --dump

Linux

Placez les symboles ISF correspondant à la version exacte du noyau du dump dans symbols/linux/. Si linux.pslist.PsList ne parvient pas à résoudre ses exigences de noyau ou de couche, résolvez la configuration de l'image/des symboles avant d'interpréter la sortie de MCPTrace.

vol -s symbols -f linux.lime linux.pslist.PsList
mkdir output-linux
vol -p plugins -s symbols -f linux.lime -o output-linux linux.mcptrace.MCPTrace --pid 4242 --dump
  • Omettre --pid pour analyser tous les processus, ou passer plusieurs PID : --pid 4242 5252.
  • --dump exporte des fichiers JSONL par processus vers le répertoire spécifié par -o.
  • Utiliser vol -p plugins windows.mcptrace.MCPTrace -h (ou l'équivalent Linux) pour toutes les options.

Pour un rendu JSON du tableau de résultats complet, placer l'option globale -r json avant le nom du plugin. Cela est distinct des exports JSONL par processus produits par --dump.

vol -p plugins -f windows.raw -r json windows.mcptrace.MCPTrace --pid 4242 > findings.json

Options communes

OptionObjectif
--pid 4242 5252Sélectionne les ID de processus ; omettre pour examiner tous les processus énumérés par l'adaptateur.
--dumpExporte les artefacts affichés et les résumés de scan au format JSONL dans le répertoire global -o.
--include-partialInclut les fragments bruts non analysés sans reconstruire les champs manquants.
--include-rpcAffiche également les candidats JSON-RPC génériques sans pertinence MCP confirmée.
--policy PATHApplique des règles locales aux arguments des outils ; voir les exemples Windows et Linux.
--suspicious-onlyAffiche les correspondances de politique et les résumés ; nécessite une politique non vide.
--max-records NLimite le nombre d'enregistrements candidats par processus avant filtrage ; valeur par défaut : 10000.
--max-object-bytes NLimite la taille d'un objet JSON complet ; valeur par défaut : 65536 octets.
--max-bytes NLimite les octets de plage d'adresses tentés par processus ; 0 signifie illimité.

Les résultats de politique décrivent les correspondances avec les règles fournies par l'analyste. Une correspondance n'établit pas une activité malveillante. Examinez les chemins, hôtes et noms d'outils des exemples avant de les appliquer à un autre cas.

Lecture de la sortie

Un fichier tel que mcptrace.pid-4242.jsonl contient un enregistrement de métadonnées, des enregistrements d'artefacts, et un résumé de scan final. Les métadonnées identifient le processus, le système d'exploitation cible et l'espace d'adressage. Les enregistrements d'artefacts conservent à la fois le message analysé et les octets exacts récupérés.

Télécharger l’outil