Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
jvmxray — Esternalizza l'accesso delle applicazioni Java alle risorse protette come messaggi di log. | Kitploit
Strumenti/GitHubGitHub/spoofzu/jvmxray
Analisi Dinamica (Sandboxing)Analisi delle VulnerabilitàAnalisi del CodiceRisposta agli Incidenti
GitHubspoofzu/jvmxray

jvmxray

Esternalizza l'accesso delle applicazioni Java alle risorse protette come messaggi di log.

Vedi Repository
4651 mese faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

JVMXRay: Monitoraggio della Sicurezza delle Applicazioni Java

Black Hat Arsenal USA 2020 Java License Development Status

JVMXRay Logo

Storia di Duke

Documentazione | Modifiche da Upstream | Blog del Progetto

JVMXRay monitora le applicazioni Java in tempo reale tramite iniezione di bytecode, rilevando vulnerabilità e attività sospette senza modifiche al codice. 19 sensori modulari tengono traccia di accessi ai file, connessioni di rete, query SQL, operazioni crittografiche, autenticazione, esecuzione di processi e altro — generando eventi di sicurezza strutturati e leggibili automaticamente con correlazione incrociata tra sensori.


Avvio Rapido

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

Durante la fase di test di Maven, un piccolo programma chiamato Turtle viene eseguito sotto l'agente JVMXRay appena compilato. Turtle esegue operazioni di I/O su file, crittografia, esecuzione di processi, serializzazione, reflection e altre attività che attivano i sensori — quindi una build riuscita fornisce già log di eventi di sicurezza reali da esplorare in ./target/test-jvmxray/. Viene anche creato un database SQLite in ./target/test-jvmxray/common/data/jvmxray-test.db per una rapida sperimentazione. Consulta la documentazione per ulteriori dettagli.

Distribuisci come agente Java nelle tue applicazioni:

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

Vantaggi

  • Nessuna modifica al codice — Si aggancia a qualsiasi applicazione Java all'avvio, come un debugger. Nessuna modifica al sorgente, nessuna ricompilazione, nessuna dipendenza di libreria da aggiungere.
  • Eventi strutturati pronti per l'IA — I sensori generano eventi di sicurezza leggibili dalla macchina, non righe di log non strutturate. Utilizza i tuoi strumenti AI per analizzare il comportamento dell'applicazione come faresti con i log.
  • Si adatta alla tua infrastruttura di logging — Gli eventi sono messaggi di log Logback. Inviali a Splunk, ELK, DataDog, Kafka o qualsiasi destinazione supportata dall'ecosistema Logback.
  • Ricostruzione della catena di attacco — Eventi correlati con trace_id e scope_chain consentono ai team SOC di tracciare un incidente dalla richiesta HTTP attraverso l'SQL injection fino all'esfiltrazione dei dati in una singola query.
  • Overhead regolabile — Le proprietà standard del livello di log Logback controllano quali sensori si attivano e con quale verbosità. Attiva o disattiva i sensori per ambiente senza ricostruire.

Tieni presente che JVMXRay è una fonte di verità su ciò che un'applicazione Java sta facendo, non un motore di analisi. L'analisi è fornita dalla tua soluzione di logging centralizzata e/o dai tuoi progetti di strumenti AI.


Sensori

Correlazione degli Eventi

Ogni evento del sensore include campi di correlazione per ricostruire le catene di attacco:

Una catena di ambito come HTTP>Serialization>Reflection>Process è una firma di attacco di deserializzazione a colpo d'occhio. La colonna TRACE_ID è indicizzata nel database per query di correlazione rapide.

Architettura

root@kitploit:~
java -javaagent:jvmxray-agent.jar -jar app.jar
         |
    AgentBootstrap (isolated classloader)
         |
    ByteBuddy installs sensor interceptors
         |
    Sensors fire on method entry/exit
         |
    LogProxy merges MCC correlation context
         |
    +----------+----------+----------+
    | SQLite   | File     | Socket   |
    | Appender | Appender | Appender |
    +----------+----------+----------+
  • Java 17, ByteBuddy 1.14.17 per iniezione bytecode
  • Logback + SLF4J per logging aziendale (compatibile Splunk, ELK, DataDog)
  • Multi-database: SQLite (sviluppo), MySQL, Cassandra (produzione)
  • MCC (Mapped Correlation Context): tracciamento dell'ambito thread-local con pulizia TTL

Documentazione

  • Riferimento Agente — Configurazione dei sensori, campi degli eventi, schema del database
  • Componenti Comuni — Configurazione e utilità del database
  • Changelog — Modifiche dettagliate delle release
  • Archivio Notizie — Storia del progetto

Riconoscimenti

Questo progetto è stato sviluppato utilizzando idee, architettura e codice in alcuni casi da quanto segue,

  • Claude Code CLI di Anthropic, Anthropic
  • Architettura byte-code basata in parte su idee di Terse Systems, Terse Systems
  • Framework di logging Logback di QOS.ch Sarl Svizzera, QOS.ch
  • Apache Software Foundation, Apache Software Foundation

Contributore(i)

Milton Smith — Creatore e leader del progetto

Divulgazione: JVMXRay non è approvato, avallato o affiliato con Oracle Corporation.

Scarica lo strumento
SensoreCosa Monitora
File I/OLetture, scritture, cancellazioni, permessi, symlink di file con risoluzione del percorso e statistiche I/O aggregate
NetworkConnessione socket connect/accept/bind/close con rilevamento TLS, classificazione IP privato, temporizzazione
SQLAcquisizione delle query con rilevamento della parametrizzazione, tipo di operazione, durata, metadati di connessione
HTTPRichiesta/risposta con analisi degli header di sicurezza, correlazione utente/sessione
ProcessProcessBuilder.start() e Runtime.exec() con argomenti del comando, durata, stato di uscita
CryptoCipher/KeyStore/MessageDigest/SSL con rilevamento di algoritmi deboli e validazione della forza della chiave
AuthenticationOperazioni di sessione, login JAAS, autenticazione Spring Security, interrogazioni principal con tracciamento successo/fallimento
API CallHttpClient.send() con URI, metodo, host, TLS, stato della risposta, temporizzazione
Script EngineScriptEngine.eval() con identificazione del motore, hashing del contenuto, rilevamento di pattern sospetti, livello di rischio
SerializationDeserializzazione nativa Java, Jackson, Gson, XStream con rilevamento di gadget chain
ReflectionClass.forName, Method.invoke, Field access, setAccessible con classificazione delle minacce
ConfigurationProprietà di sistema, variabili d'ambiente, file delle proprietà, Preferenze con annotazioni di sicurezza
LibraryCaricamento JAR statico e dinamico con SHA-256, coordinate Maven, inventario dei pacchetti
MonitorSalute JVM: memoria, thread, GC, CPU, file aperti, rilevamento deadlock (intervallo 60s)
Uncaught ExceptionDiagnostica di crash: stack completo, stato della memoria, dump dei thread, catena di cause, ID incidente
App InitAcquisizione una tantum all'avvio: versione JVM, OS, rilevamento container, variabili d'ambiente (oscurate)
Data TransferConteggio byte InputStream.read() (attualmente disabilitato — troppo ampio)
ThreadMonitoraggio del ciclo di vita dei thread (attualmente disabilitato — necessaria correzione di logging ricorsivo)
MemoryTracciamento dell'allocazione di memoria (attualmente disabilitato — necessaria correzione di logging ricorsivo)
CampoEsempioScopo
trace_ida1b2c3d4e5f6Collega tutti gli eventi nello stesso contesto di esecuzione
scope_chainHTTP>SQL>FileIOPercorso annidato del sensore — lo "stacktrace di sicurezza"
parent_scopeSQLGenitore immediato per la ricostruzione dell'albero
scope_depth3Livello di annidamento — profondità 6+ merita un'indagine