用途:在 Java 白盒源码审计中检测框架层面的已知漏洞模式。框架漏洞分两类:框架自身缺陷(已知 CVE,升级即修)和框架误用(配置或编码缺陷);本技能聚焦被审计项目的代码如何触发这些已知缺陷模式。
主要能力(按框架):Spring 全家桶——SpEL 注入(@Value、@Cacheable、@PreAuthorize、ExpressionParser、Spring Data @Query 等 5 类注入点)、Actuator 端点暴露(env、jolokia、heapdump、gateway/routes)、@ModelAttribute 参数绑定导致的 Mass Assignment、Spring Cloud Gateway 路由 Predicate/Filter 中的 SpEL、Spring Security 匹配顺序与路径不一致问题。Struts2——OGNL 注入、Content-Type/Content-Disposition 解析问题(S2-045/S2-046)、ActionMapping 方法前缀、版本 CVE 映射(2.0.x~2.3.x 为高危区间)。Shiro——RememberMe 硬编码密钥反序列化、URI 分号截断/路径穿越等绕过,相关 CVE 包括 2016-4437、2020-1957、2020-11989、2021-41303。FastJSON/Jackson/Gson——FastJSON autotype 黑名单绕过与 safeMode,Jackson enableDefaultTyping / activateDefaultTyping 与 @JsonTypeInfo,Gson 自定义 TypeAdapter 中的 Class.forName 风险。MyBatis——${} 拼接与 #{} 预编译的区别,Mapper XML 与 @Select 注解双入口,动态 SQL 标签中的 ${},ORDER BY/LIKE/IN 的安全写法。
使用方式:资料给出各框架的搜索关键字与检测清单,例如搜索 JSON.parseObject、enableDefaultTyping、@JsonTypeInfo、struts.xml、setCipherKey、Mapper XML 中的 ${} 等,并逐项核对版本与配置;发现的问题需有 Source→Sink 路径与版本/配置证据。
适用场景:Java Web 项目源码安全审计与框架漏洞排查。
限制:具体命令、安装方式与依赖获取方式暂未提供;技能以检查项与关键字搜索为主,不替代人工验证;正文所列 CVE 与版本结论需以实际项目版本核对为准。