项目介绍
DongTai-agent-java 是一个专门用于 Java 应用程序的数据采集工具,隶属于 DongTai Iast 平台。在含有 iast 代理的 Java 应用中,该工具通过修改类的字节码来采集所需数据,然后将数据发送到 dongtai-OpenAPI 服务。此数据随后由云引擎处理,以确定是否存在安全漏洞。
DongTai-agent-java 由几个核心组件组成,包括 agent.jar
、dongtai-core.jar
、dongtai-spy.jar
和 dongtai-servlet.jar
:
-
agent.jar
:负责管理代理的生命周期和配置。其生命周期管理包括下载、安装、启动、停止、重启和卸载。而配置功能包括应用程序启动模式、漏洞验证模式、代理是否启用等。 -
dongtai-core.jar
:主要功能包括字节码插桩、数据采集、数据预处理、数据上报及第三方组件管理等。 -
dongtai-inject.jar
:被用于注入至 BootStrap ClassLoader 中,其次通过调用dongtai-core.jar
中的数据采集方法来完成目标应用的数据采集。 -
dongtai-servlet.jar
:用于获取应用程序发送的请求和接收到的响应,用于数据展示和请求回放。
应用场景
- DevOps 流程中使用
- 应用上线前的安全测试
- 第三方组件管理
- 代码审计
- 0 Day 漏洞挖掘
快速上手
要快速上手使用 DongTai-agent-java,用户可以参考项目的快速入门指南(Quick Start)。该指南提供了详细的使用步骤,使用户能够迅速集成和使用该工具。
快速开发指导
-
创建 DongTai-agent-java 项目的分支并克隆到本地:
git clone https://github.com/<your-username>/DongTai-agent-java
-
根据需要,编写和修改代码。
-
使用 Maven 编译 Dongtai-agent-java,跳过测试步骤:
mvn clean package -Dmaven.test.skip=true
- 注意:JDK 版本要求为 1.8。
-
编译后,会在项目根目录生成
./release
文件夹,其中包含:release ├── dongtai-agent.jar └── lib ├── dongtai-servlet.jar ├── dongtai-core.jar └── dongtai-spy.jar
-
将
dongtai-core.jar
、dongtai-spy.jar
、dongtai-servlet.jar
复制到系统临时目录。获取系统临时目录可以运行以下 Java 代码:System.getProperty("java.io.tmpdir.dongtai");
-
运行应用程序并进行测试(例如,SpringBoot):
java -javaagent:/path/to/dongtai-agent.jar -Ddongtai.debug=true -jar app.jar
-
如果希望贡献代码,请详细阅读完整的贡献指南。
支持的 Java 版本及中间件
DongTai-agent-java 支持 Java 1.8 及以上版本,并兼容 Tomcat、Jetty、WebLogic、WebSphere、SpringBoot 等主流软件和中间件。