Skip to content

Commit 6a18d5c

Browse files
author
‘niuerzhuang’
committed
feature: sink point add stacks.
1 parent fcae53d commit 6a18d5c

File tree

3 files changed

+20
-0
lines changed

3 files changed

+20
-0
lines changed

dongtai-core/src/main/java/io/dongtai/iast/core/handler/hookpoint/graphy/GraphBuilder.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,11 @@ public static JSONObject toJson(MethodEvent event) {
179179
value.put("traceId", event.traceId);
180180
}
181181

182+
if (null != event.getStacks()){
183+
JSONArray methodStacksArray = new JSONArray(event.getStacks());
184+
value.put("stacks",methodStacksArray);
185+
}
186+
182187
return value;
183188
}
184189
}

dongtai-core/src/main/java/io/dongtai/iast/core/handler/hookpoint/models/MethodEvent.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,8 @@ public class MethodEvent {
9292

9393
private StackTraceElement callStack;
9494

95+
private List<Object> stacks;
96+
9597
public String traceId = null;
9698

9799
public static class Parameter {
@@ -302,4 +304,16 @@ public String obj2String(Object value) {
302304
}
303305
return sb.toString();
304306
}
307+
308+
public List<Object> getStacks() {
309+
return stacks;
310+
}
311+
312+
public void setStacks(StackTraceElement[] stackTraceElements) {
313+
List<Object> stacks = new ArrayList<>();
314+
for(StackTraceElement stackTraceElement:stackTraceElements){
315+
stacks.add(stackTraceElement.toString());
316+
}
317+
this.stacks = stacks;
318+
}
305319
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ public void scan(MethodEvent event, SinkNode sinkNode) {
6666
int invokeId = SpyDispatcherImpl.INVOKE_ID_SEQUENCER.getAndIncrement();
6767
event.setInvokeId(invokeId);
6868
event.setTaintPositions(sinkNode.getSources(), null);
69+
event.setStacks(stackTraceElements);
6970

7071
EngineManager.TRACK_MAP.addTrackMethod(invokeId, event);
7172
}

0 commit comments

Comments
 (0)