Skip to content

v0.0.6

Latest

Choose a tag to compare

@cha0upup cha0upup released this 20 Jun 09:41
· 5 commits to main since this release

v0.0.6

Highlights

Puppet 组件可用性大修 —— 针对「独立 Tomcat + puppet 注入 commonLoader + webapp idle」这类典型部署,把容器管理 / 凭据采集 / 数据库 / 资源读取 / Spring 框架信息全面打通;并新增「类与资源」前端 Tab,一站式查看 puppet 进程内任意 classpath 资源。

What's New

🛠 组件兼容性增强(覆盖 Tomcat 6/7/8/9/10/11、WebLogic 全版本、Spring 5/6)

  • TomcatCatalinaManageComponent
    • unLoadFilter:改用公开 API + 清 filterConfigs 缓存,卸载即时生效(不必等下一次请求)
    • unLoadListener:三个字段名轮询兼容 Tomcat 6/7/8.5+
  • WeblogicCatalinaManageComponent
    • 移除类加载期 static 缓存(首次扫到空就永远空的老 bug)
    • 新增 PlatformMBeanServer 路径作为兜底
  • SpringFrameworkManageComponent / CredentialHarvestComponent
    • 新增 Tomcat StandardContext 反推 ServletContext 的兜底路径
    • 兼容 javax.servlet (Spring 5+Tomcat 9) 与 jakarta.servlet (Spring 6+Tomcat 10+) 两套签名
  • DatabaseComponent
    • JDBC driver 加载三层 CL 降级:contextCL → systemCL → 所有 WebappClassLoader
    • 直接 Driver.connect(url, props) 绕开 DriverManager 的同 CL 校验
  • ResourceComponent(重写)
    • catch (Throwable) 兜底 + 无条件回写 results,根除「响应解码结果为空」
    • 资源加载同样三层 CL 降级,可读 webapp 内的 .class/application.yml/MANIFEST.MF

✨ 新增「类与资源」浏览器

  • PuppetConsole 工具列新增独立 Tab,按类名或路径读取 puppet 进程内 classpath 资源
  • 自动识别 0xCAFEBABE/文本/二进制并按类型预览(反编译 java / UTF-8 文本 / 十六进制 dump)
  • 复制、下载、最近 6 条历史
  • 后端新接口 POST /puppet-node/resource/get,含审计日志

🛡 安全加固

  • YAML 反序列化收口(SafeConstructor 禁 !!java.*
  • Disguise 动态编译入口的鉴权
  • 三处 zip 导入路径加 SafeZipReader 防 zip bomb(条目数/单条/总大小三重限制)

🧹 重构

  • Plugin 导入冲突策略改 ConflictPolicy 枚举
  • 前端 4 个新 composable + 11 个 dialog 迁移
  • 提取 PluginFormFields 共享组件(-260 行)
  • 统一 utils/downloadBlob.js

Compatibility Matrix

场景 0.0.5 0.0.6
Idle Tomcat 容器面板列表(无活跃请求)
Idle Spring Boot 凭据采集 / 框架信息
WebLogic 普通 CL 注入下的容器列表
Tomcat 6 卸载 Listener
Filter 卸载即时生效
跨 CL 使用 webapp 内 JDBC driver
查看 webapp 内的 class 字节码