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
jvmxray — Externaliser l'accès des applications Java aux ressources protégées sous forme de messages de journal. | Kitploit
Outils/GitHubGitHub/spoofzu/jvmxray
Analyse Dynamique (Sandboxing)Analyse des VulnérabilitésAnalyse de CodeRéponse aux Incidents
GitHubspoofzu/jvmxray

jvmxray

Externaliser l'accès des applications Java aux ressources protégées sous forme de messages de journal.

Voir le dépôt
465il y a 1 moisVérifié par Kitploit

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

JVMXRay : Surveillance de la sécurité des applications Java

Black Hat Arsenal USA 2020 Java License Development Status

Logo JVMXRay

Histoire de Duke

Documentation | Modifications depuis l'amont | Blog du projet

JVMXRay surveille les applications Java en temps réel via l'injection de bytecode, détectant les vulnérabilités et les activités suspectes sans modification de code. 19 capteurs modulaires suivent l'accès aux fichiers, les connexions réseau, les requêtes SQL, les opérations cryptographiques, l'authentification, l'exécution de processus, etc. — générant des événements de sécurité structurés et lisibles par machine, avec une corrélation automatique entre les capteurs.


Démarrage rapide

root@kitploit:~
git clone https://github.com/spoofzu/jvmxray.git
cd jvmxray
mvn clean install

Pendant la phase de test de Maven, un petit programme appelé Turtle s'exécute sous l'agent JVMXRay fraîchement construit. Turtle effectue des opérations d'E/S de fichiers, de cryptographie, d'exécution de processus, de sérialisation, de réflexion et d'autres activités qui déclenchent les capteurs — ainsi une construction réussie vous donne déjà des journaux d'événements de sécurité réels à explorer dans ./target/test-jvmxray/. Une base de données SQLite est également créée à l'emplacement ./target/test-jvmxray/common/data/jvmxray-test.db pour une expérimentation rapide. Consultez la documentation pour plus de détails.

Déployez comme un agent Java dans vos propres applications :

root@kitploit:~
java -javaagent:target/jvmxray-0.0.1-agent.jar -jar yourapp.jar

Avantages

  • Aucune modification de code — S'attache à toute application Java au lancement, comme un débogueur. Aucune modification de source, aucune recompilation, aucune dépendance de bibliothèque à ajouter.
  • Événements structurés prêts pour l'IA — Les capteurs génèrent des événements de sécurité lisibles par machine, et non des lignes de journal non structurées. Utilisez vos outils d'IA pour analyser le comportement des applications comme vos journaux d'application.
  • S'adapte à votre infrastructure de journalisation — Les événements sont des messages de journal Logback. Acheminez-les vers Splunk, ELK, DataDog, Kafka ou toute destination prise en charge par l'écosystème Logback.
  • Reconstruction de chaîne d'attaque — Les événements corrélés avec trace_id et scope_chain permettent aux équipes SOC de tracer un incident depuis la requête HTTP jusqu'à l'injection SQL et l'exfiltration de données en une seule requête.
  • Surcharge ajustable — Les propriétés standard du niveau de journal Logback contrôlent quels capteurs se déclenchent et avec quelle verbosité. Activez ou désactivez les capteurs par environnement sans reconstruction.

Gardez à l'esprit que JVMXRay est une source de vérité sur ce que fait une application Java, et non un moteur d'analyse. L'analyse est fournie par votre solution de journalisation centralisée et/ou vos projets d'outillage IA.


Capteurs

Corrélation d'événements

Chaque événement de capteur comprend des champs de corrélation pour reconstruire les chaînes d'attaque :

Une chaîne de portée comme HTTP>Serialization>Reflection>Process est une signature d'attaque de désérialisation en un coup d'œil. La colonne TRACE_ID est indexée dans la base de données pour des requêtes de corrélation rapides.

Architecture

root@kitploit:~
java -javaagent:jvmxray-agent.jar -jar app.jar
         |
    AgentBootstrap (isolated classloader)
         |
    ByteBuddy installe les intercepteurs de capteurs
         |
    Les capteurs se déclenchent à l'entrée/sortie des méthodes
         |
    LogProxy fusionne le contexte de corrélation MCC
         |
    +----------+----------+----------+
    | SQLite   | File     | Socket   |
    | Appender | Appender | Appender |
    +----------+----------+----------+
  • Java 17, ByteBuddy 1.14.17 pour l'injection de bytecode
  • Logback + SLF4J pour la journalisation d'entreprise (compatible Splunk, ELK, DataDog)
  • Multi-bases de données : SQLite (dev), MySQL, Cassandra (production)
  • MCC (Mapped Correlation Context) : suivi de portée local au thread avec nettoyage TTL

Documentation

  • Agent Reference — Configuration des capteurs, champs d'événements, schéma de base de données
  • Common Components — Configuration et utilitaires de base de données
  • Changelog — Modifications détaillées des versions
  • News Archive — Historique du projet

Remerciements

Ce projet a été développé en utilisant des idées, une architecture et du code dans certains cas provenant des sources suivantes :

  • Claude Code CLI par Anthropic, Anthropic
  • Architecture de bytecode basée en partie sur des idées de Terse Systems, Terse Systems
  • Framework de journalisation Logback par QOS.ch Sarl Suisse, QOS.ch
  • Apache Software Foundation, Apache Software Foundation

Contributeur(s)

Milton Smith — Créateur et leader du projet

Divulgation : JVMXRay n'est ni approuvé, ni parrainé, ni affilié à Oracle Corporation.

Télécharger l’outil
CapteurCe qu'il surveille
E/S FichiersLectures, écritures, suppressions, permissions, liens symboliques avec résolution de chemin et statistiques d'E/S agrégées
RéseauConnexion/acceptation/liaison/fermeture de socket avec détection TLS, classification IP privée, chronométrage
SQLCapture de requêtes avec détection de paramétrisation, type d'opération, durée, métadonnées de connexion
HTTPRequête/réponse avec analyse des en-têtes de sécurité, corrélation utilisateur/session
ProcessusProcessBuilder.start() et Runtime.exec() avec arguments de commande, durée, statut de sortie
CryptoCipher/KeyStore/MessageDigest/SSL avec détection d'algorithmes faibles et validation de la force des clés
AuthentificationOpérations de session, connexion JAAS, authentification Spring Security, requêtes de principal avec suivi succès/échec
Appel APIHttpClient.send() avec URI, méthode, hôte, TLS, statut de réponse, chronométrage
Moteur de scriptScriptEngine.eval() avec identification du moteur, hachage du contenu, détection de motifs suspects, niveau de risque
SérialisationDésérialisation Java native, Jackson, Gson, XStream avec détection de chaîne gadget
RéflexionClass.forName, Method.invoke, accès aux champs, setAccessible avec classification des menaces
ConfigurationPropriétés système, variables d'environnement, fichiers Properties, Preferences avec annotations de sécurité
BibliothèqueChargement statique et dynamique de JAR avec SHA-256, coordonnées Maven, inventaire des packages
MoniteurSanté de la JVM : mémoire, threads, GC, CPU, fichiers ouverts, détection d'interblocage (intervalle 60s)
Exception non interceptéeDiagnostics de crash : pile complète, état mémoire, vidage de threads, chaîne de causes, ID d'incident
Initialisation de l'applicationCapture unique au démarrage : version JVM, OS, détection de conteneur, variables d'environnement (masquées)
Transfert de donnéesComptage d'octets InputStream.read() (actuellement désactivé — trop large)
ThreadSurveillance du cycle de vie des threads (actuellement désactivé — correction de journalisation récursive nécessaire)
MémoireSuivi de l'allocation mémoire (actuellement désactivé — correction de journalisation récursive nécessaire)
ChampExempleObjectif
trace_ida1b2c3d4e5f6Lie tous les événements dans le même contexte d'exécution
scope_chainHTTP>SQL>FileIOChemin des capteurs imbriqués — la « stacktrace de sécurité »
parent_scopeSQLParent immédiat pour la reconstruction de l'arbre
scope_depth3Niveau d'imbrication — profondeur 6+ justifie une enquête