Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
jvmxray — 将Java应用程序对受保护资源的访问外部化为日志消息。 | Kitploit
工具/GitHubGitHub/spoofzu/jvmxray
动态分析 (沙盒)漏洞分析代码分析事件响应
GitHubspoofzu/jvmxray

jvmxray

将Java应用程序对受保护资源的访问外部化为日志消息。

查看仓库
4651个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

JVMXRay:Java应用程序安全监控

Black Hat Arsenal USA 2020 Java License Development Status

JVMXRay 标志

Duke 历史

文档 | 上游变更 | 项目博客

JVMXRay 通过字节码注入实时监控 Java 应用程序,检测漏洞和可疑活动,无需修改代码。19 个模块化传感器追踪文件访问、网络连接、SQL 查询、加密操作、身份验证、进程执行等——生成结构化、机器可读的安全事件,并自动进行跨传感器关联。


快速开始

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

在 Maven 的测试阶段,一个名为 Turtle 的小程序会在新构建的 JVMXRay 代理下运行。Turtle 执行文件 I/O、加密、进程执行、序列化、反射等触发传感器的活动——因此成功构建后,您即可在 ./target/test-jvmxray/ 目录中探索真实的安全事件日志。同时还会在 ./target/test-jvmxray/common/data/jvmxray-test.db 创建 SQLite 数据库,方便快速实验。详见文档。

部署为 Java 代理,用于您自己的应用程序:

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

优势

  • 零代码修改 — 启动时附加到任何 Java 应用程序,如同调试器。无需修改源代码、无需重新编译、无需添加库依赖。
  • AI 就绪的结构化事件 — 传感器生成机器可读的安全事件,而非非结构化日志行。您可以像使用应用程序日志一样,使用 AI 工具分析应用程序行为。
  • 适配您的日志基础设施 — 事件是 Logback 日志消息。可路由至 Splunk、ELK、DataDog、Kafka 或 Logback 生态系统支持的任何目标。
  • 攻击链重构 — 带有 trace_id 和 scope_chain 的相关事件,让安全运营团队能够通过一次查询,追踪从 HTTP 请求经 SQL 注入到数据泄露的完整事件。
  • 可调开销 — 标准 Logback 日志级别属性控制哪些传感器触发及触发详细程度。无需重新构建,即可按环境开关传感器。

请记住,JVMXRay 是 Java 应用程序实际行为的真相来源,而非分析引擎。分析工作由您的集中式日志记录解决方案和/或 AI 工具项目完成。


传感器

事件关联

每个传感器事件都包含用于重构攻击链的关联字段:

类似 HTTP>Serialization>Reflection>Process 的作用域链,一眼即可识别为反序列化攻击特征。数据库中的 TRACE_ID 列已建立索引,便于快速关联查询。

架构

root@kitploit:~
java -javaagent:jvmxray-agent.jar -jar app.jar
         |
    AgentBootstrap(隔离类加载器)
         |
    ByteBuddy 安装传感器拦截器
         |
    传感器在方法入口/出口触发
         |
    LogProxy 合并 MCC 关联上下文
         |
    +----------+----------+----------+
    | SQLite   | 文件     | Socket   |
    | Appender | Appender | Appender |
    +----------+----------+----------+
  • Java 17、ByteBuddy 1.14.17 用于字节码注入
  • Logback + SLF4J 用于企业级日志记录(兼容 Splunk、ELK、DataDog)
  • 多数据库:SQLite(开发)、MySQL、Cassandra(生产)
  • MCC(映射关联上下文):线程局部作用域追踪,含 TTL 清理

文档

  • 代理参考 — 传感器配置、事件字段、数据库模式
  • 公共组件 — 数据库设置与工具
  • 变更日志 — 详细的版本变更
  • 新闻存档 — 项目历史

致谢

本项目的开发借鉴了以下项目的思想、架构及部分代码:

  • Anthropic 的 Claude Code CLI,Anthropic
  • 部分字节码架构灵感来自 Terse Systems,Terse Systems
  • QOS.ch(瑞士)的 Logback 日志框架,QOS.ch
  • Apache 软件基金会,Apache 软件基金会

贡献者

Milton Smith — 项目创建者、领导者

声明:JVMXRay 未经 Oracle 公司批准、认可,亦非其附属品。

下载工具
传感器监控内容
文件 I/O文件读取、写入、删除、权限、符号链接(含路径解析)及聚合 I/O 统计
网络Socket 连接/接受/绑定/关闭,含 TLS 检测、私有 IP 分类、时序
SQL查询捕获(含参数化检测)、操作类型、持续时间、连接元数据
HTTP请求/响应,含安全头部分析、用户/会话关联
进程ProcessBuilder.start() 和 Runtime.exec(),含命令参数、持续时间、退出状态
加密Cipher/KeyStore/MessageDigest/SSL,含弱算法检测和密钥强度验证
身份验证会话操作、JAAS 登录、Spring Security 认证、主体查询,含成功/失败追踪
API 调用HttpClient.send(),含 URI、方法、主机、TLS、响应状态、时序
脚本引擎ScriptEngine.eval(),含引擎识别、内容哈希、可疑模式检测、风险等级
序列化Java 原生、Jackson、Gson、XStream 反序列化,含小工具链检测
反射Class.forName、Method.invoke、Field 访问、setAccessible,含威胁分类
配置系统属性、环境变量、Properties 文件、Preferences,含安全注解
库静态和动态 JAR 加载,含 SHA-256、Maven 坐标、包清单
监控JVM 健康:内存、线程、GC、CPU、打开文件、死锁检测(60 秒间隔)
未捕获异常崩溃诊断:完整堆栈、内存状态、线程转储、原因链、事件 ID
应用初始化一次性启动捕获:JVM 版本、操作系统、容器检测、环境变量(已脱敏)
数据传输InputStream.read() 字节计数(当前已禁用——过于宽泛)
线程线程生命周期监控(当前已禁用——需要修复递归日志记录)
内存内存分配追踪(当前已禁用——需要修复递归日志记录)
字段示例用途
trace_ida1b2c3d4e5f6链接同一执行上下文中的所有事件
scope_chainHTTP>SQL>FileIO嵌套传感器路径——"安全堆栈跟踪"
parent_scopeSQL直接父作用域,用于树状重构
scope_depth3嵌套层级——深度≥6 时值得调查