Skip to content

Commit 1fd237b

Browse files
committed
feat: 新增卸载时将QLExpressCheck和FastjsonCheck置空
1 parent df5314d commit 1fd237b

File tree

4 files changed

+18
-1
lines changed

4 files changed

+18
-1
lines changed

dongtai-agent/pom.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,4 +194,3 @@
194194
</plugins>
195195
</build>
196196

197-
</project>

dongtai-core/src/main/java/io/dongtai/iast/core/AgentEngine.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import io.dongtai.iast.common.state.AgentState;
66
import io.dongtai.iast.common.state.State;
77
import io.dongtai.iast.core.handler.hookpoint.models.policy.PolicyManager;
8+
import io.dongtai.iast.core.handler.hookpoint.vulscan.dynamic.FastjsonCheck;
9+
import io.dongtai.iast.core.handler.hookpoint.vulscan.dynamic.QLExpressCheck;
810
import io.dongtai.iast.core.init.IEngine;
911
import io.dongtai.iast.core.init.impl.ConfigEngine;
1012
import io.dongtai.iast.core.init.impl.TransformEngine;
@@ -92,6 +94,10 @@ public static void stop() {
9294
public static void destroy(String mode, String propertiesFilePath, Instrumentation inst) {
9395
try {
9496
DongTaiLog.info("Uninstall engine");
97+
// 卸载对FastJson和QLExpress的调用
98+
FastjsonCheck.clearJsonClassLoader();
99+
FastjsonCheck.clearParseConfigClassLoader();
100+
QLExpressCheck.clearQLClassLoader();
95101
AgentEngine agentEngine = AgentEngine.getInstance();
96102
assert agentEngine != null;
97103
agentEngine.destroy();

dongtai-core/src/main/java/io/dongtai/iast/core/handler/hookpoint/vulscan/dynamic/FastjsonCheck.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,4 +83,12 @@ public static void setJsonClassLoader(ClassLoader jsonClassLoader) {
8383
public static void setParseConfigClassLoader(ClassLoader parseConfigClassLoader) {
8484
PARSE_CONFIG_CLASS_LOADER = parseConfigClassLoader;
8585
}
86+
87+
public static void clearJsonClassLoader(){
88+
JSON_CLASS_LOADER = null;
89+
}
90+
91+
public static void clearParseConfigClassLoader(){
92+
PARSE_CONFIG_CLASS_LOADER = null;
93+
}
8694
}

dongtai-core/src/main/java/io/dongtai/iast/core/handler/hookpoint/vulscan/dynamic/QLExpressCheck.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,4 +82,8 @@ public boolean isSafe(MethodEvent event, SinkNode sinkNode){
8282
public static void setQLClassLoader(ClassLoader qlClassLoader) {
8383
QL_CLASS_LOADER = qlClassLoader;
8484
}
85+
86+
public static void clearQLClassLoader(){
87+
QL_CLASS_LOADER = null;
88+
}
8589
}

0 commit comments

Comments
 (0)