HXSecurity / DongTai-agent-java

Java Agent is a Java application probe of DongTai IAST, which collects method invocation data during runtime of Java application by dynamic hooks.
https://dongtai.io
Apache License 2.0
681 stars 191 forks source link

[Bug]: 部分Agent上报信息报错 #378

Closed onesecurity closed 2 years ago

onesecurity commented 2 years ago

Preflight Checklist

Version

1.8.5

Installation Type

Official Kubernetes

Service Name

DongTai-agent-java

Describe the details of the bug and the steps to reproduce it

如题,部分Agent的上报事件报错,导致上报信息不完整。

报错案例1

2022-09-28 11:40:00 [io.dongtai.iast.agent] [ERROR] nulljava.lang.NullPointerException at io.dongtai.iast.core.handler.hookpoint.graphy.GraphBuilder.convertToReport(GraphBuilder.java:104) at io.dongtai.iast.core.handler.hookpoint.graphy.GraphBuilder.buildAndReport(GraphBuilder.java:29) at io.dongtai.iast.core.handler.hookpoint.SpyDispatcherImpl.leaveDubbo(SpyDispatcherImpl.java:156) at org.apache.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:89) at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:83) at org.apache.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:51) at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:83) at org.apache.dubbo.rpc.filter.ConsumerContextFilter.invoke(ConsumerContextFilter.java:69) at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:83) at org.apache.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:56) at org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:82) at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:260) at org.apache.dubbo.rpc.cluster.interceptor.ClusterInterceptor.intercept(ClusterInterceptor.java:47) at org.apache.dubbo.rpc.cluster.support.wrapper.AbstractCluster$InterceptorInvokerNode.invoke(AbstractCluster.java:92) at org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:88) at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:74) at org.apache.dubbo.common.bytecode.proxy17.getPersonalCampName(proxy17.java) at cn.com.x x x.personal.integration.RpcPersonalCampServiceClient.getPersonalCampName(RpcPersonalCampServiceClient.java:56) at cn.com.xxx.wechat.bo.wxmsgsender.XPerPersonalLinkingWxMsgSender.sendPasswordToApp(XPersonalLinkingWxMsgSender.java:237) at cn.com.xxx.wechat.bo.wxmsgsender.XPerPersonalLinkingWxMsgSender.check(XPerPersonalLinkingWxMsgSender.java:115) at cn.com.xxx.wechat.bo.wxmsgsender.WxMsgSenderChecker.check(WxMsgSenderChecker.java:24) at cn.com.xxx.core.job.CrontableUpgradeJobHandler.sendTrainerTemplateMsg(CrontableUpgradeJobHandler.java:334) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.xxl.job.core.handler.impl.MethodJobHandler.execute(MethodJobHandler.java:29) at com.xxl.job.core.thread.JobThread.run(JobThread.java:165)

报错案例2

2022-09-28 11:40:00 [io.dongtai.iast.agent] [ERROR] nulljava.lang.NullPointerException at io.dongtai.iast.core.handler.hookpoint.graphy.GraphBuilder.convertToReport(GraphBuilder.java:104) at io.dongtai.iast.core.handler.hookpoint.graphy.GraphBuilder.buildAndReport(GraphBuilder.java:29) at io.dongtai.iast.core.handler.hookpoint.SpyDispatcherImpl.leaveDubbo(SpyDispatcherImpl.java:156) at org.apache.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:89) at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:83) at org.apache.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:51) at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:83) at org.apache.dubbo.rpc.filter.ConsumerContextFilter.invoke(ConsumerContextFilter.java:69) at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:83) at org.apache.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:56) at org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:82) at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:260) at org.apache.dubbo.rpc.cluster.interceptor.ClusterInterceptor.intercept(ClusterInterceptor.java:47) at org.apache.dubbo.rpc.cluster.support.wrapper.AbstractCluster$InterceptorInvokerNode.invoke(AbstractCluster.java:92) at org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:88) at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:74) at org.apache.dubbo.common.bytecode.proxy17.getPersonalCampName(proxy17.java) at cn.com.xxx.personal.integration.RpcPersonalCampServiceClient.getPersonalCampName(RpcPersonalCampServiceClient.java:56) at cn.com.xxx.wechat.bo.wxmsgsender.XPerPersonalLinkingWxMsgSender.checkSendPasskitLinkingMsg(XPerPersonalLinkingWxMsgSender.java:251) at cn.com.xxx.wechat.bo.wxmsgsender.XPerPersonalLinkingWxMsgSender.check(XPerPersonalLinkingWxMsgSender.java:117) at cn.com.xxx.wechat.bo.wxmsgsender.WxMsgSenderChecker.check(WxMsgSenderChecker.java:24) at cn.com.xxx.core.job.CrontableUpgradeJobHandler.sendTrainerTemplateMsg(CrontableUpgradeJobHandler.java:334) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.xxl.job.core.handler.impl.MethodJobHandler.execute(MethodJobHandler.java:29) at com.xxl.job.core.thread.JobThread.run(JobThread.java:165)

Additional Information

No response

Logs

No response

Bidaya0 commented 2 years ago

The following information is required:

  1. Agent complete debug log
  2. JDK version
  3. Middleware and versions
  4. RPC framework
onesecurity commented 2 years ago
  1. Agent complete debug log
  1. JDK version

java version "1.8.0_271" Java(TM) SE Runtime Environment (build 1.8.0_271-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode)

3-4. Middleware and versions/RPC framework