• Stars
    star
    663
  • Rank 67,526 (Top 2 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 3 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Java Agent is a Java application probe of DongTai IAST, which collects method invocation data during runtime of Java application by dynamic hooks.

DongTai-agent-java


中文版本(Chinese version)

license Apache-2.0 GitHub stars GitHub forks GitHub Contributors

CI Github Version Release downloads

Project Introduction

Dongtai-agent-java is DongTai Iast's data acquisition tool for Java applications. In a Java application with the iast agent added, the required data is collected by rewriting class bytecode, and then the data is sent to dongtai-OpenAPI service, and then the cloud engine processes the data to determine whether there are security holes.

Dongtai-agent-java consists of agent.jar, dongtai-core-jar, dongtai-spy. Jar and dongtai-servlet.jar:

  • agent.jar It is used to manage agent life cycle and configuration. The life cycle of the Agent includes downloading, installing, starting, stopping, restarting, and uninstalling the agent. Agent configuration includes application startup mode, vulnerability verification mode, whether to enable agent, etc.
  • dongtai-core.jar The main functions of dongtai-core.jar are: bytecode piling, data collection, data preprocessing, data reporting, third-party component management, etc.
  • dongtai-inject.jar It is used to inject into the BootStrap ClassLoader. The data collection method in 'iast-core.jar' is then invoked in the target application.
  • dongtai-servlet.jar It is used to obtain the requests sent by the application and the responses received. It is used for data display and request replay.

Application Scenarios

  • DevOps
  • Security test the application before it goes online
  • Third-party Component Management
  • Code audit
  • 0 Day digging

Quick Start

Please refer to the Quick Start.

Quick Development

  1. Fork the DongTai-agent-java , clone your fork:

    git clone https://github.com/<your-username>/DongTai-agent-java
    
  2. Write code to your needs.

  3. Compile Dongtai-agent-Java using Maven:

    mvn clean package -Dmaven.test.skip=true
    
    • notice: JDK version is 1.8.
  4. folder ./release is generated in the project root directory after compilation:

    release
    ├── dongtai-agent.jar
    └── lib
        ├── dongtai-servlet.jar
        ├── dongtai-core.jar
        └── dongtai-spy.jar
    
  5. Copy dongtai-core.jardongtai-spy.jardongtai-servlet.jar to the system temporary directory. Get the system temporary directory to run the following Java code:

    System.getProperty("java.io.tmpdir.dongtai");
    
  6. Run the application and test the code (for example, SpringBoot) : java -javaagent:/path/to/dongtai-agent.jar -Ddongtai.debug=true -jar app.jar

  7. Contribute code. If you want to contribute code to the DongTai IAST team, please read the full contribution guide.

Supported Java versions and middleware

  • Java 1.8+
  • Tomcat, Jetty, WebLogic, WebSphere, SpringBoot and Mainstream software and middleware.

More Repositories

1

DongTai

Dongtai IAST is an open-source Interactive Application Security Testing (IAST) tool that enables real-time detection of common vulnerabilities in Java applications and third-party components through passive instrumentation. It is particularly suitable for use in the testing phase of the development pipeline.
Python
1,233
star
2

TerraformGoat

TerraformGoat is HXSecurity research lab's "Vulnerable by Design" multi cloud deployment tool.
HCL
500
star
3

DongTai-Doc

DongTai IAST documentation.
HTML
242
star
4

DongTai-SDK-Python

DongTai API SDK
Python
51
star
5

vulhub-compose

vulhub-compose是一款屏蔽docker-compose的命令行工具,目的是降低火线平台社区用户使用vulhub靶场的难度,减少学习docker-compose的时间成本;同时,支持直接安装洞态IAST(原灵芝IAST)到vulhub靶场,用于漏洞复现、漏洞挖掘。
Python
44
star
6

CloudSecWiki

CloudSecWiki is a cloud security oriented knowledge base maintained by HuoCorp.
JavaScript
42
star
7

DongTai-agent-go

Go Agent is a go application probe of DongTai IAST, which collects method invocation data during runtime of Go application by dynamic hooks.
Go
39
star
8

DongTai-agent-python

Python Agent is a Python application probe of DongTai IAST, which collects method invocation data during runtime of Python application by dynamic hooks.
C
22
star
9

DongTai-Plugin-IDEA

Dongtai-plugin-idea is an IDEA plug-in developed by DongTai team for Java Web application developers. This plug-in provides functions such as vulnerability detection and code audit during application development, enabling developers to find application vulnerabilities more intuitively, quickly and in real time during application development.
Java
22
star
10

DongTai-engine

This repository has been merged into https://github.com/HXSecurity/DongTai. DongTai-engine used to analyze the method data collected by the probe, analyze whether there are vulnerabilities in API requests through the algorithm of taint tracking, and is also responsible for timing tasks, including: expired log cleaning, probe state maintenance, data packet replay processing, etc.
Python
19
star
11

DongTai-web

dongtai web is the front-end project of "huoxian DongTaiIast" and is responsible for page display
CSS
16
star
12

DongTai-webapi

DongTai-WebAPI is the server part of the management tool of DongTai-IAST
Python
8
star
13

Dongtai-Base-Image

DongTai-Base-Image is used to build DongTai's basic services, including MySql, Redis
PLpgSQL
7
star
14

dongtai-core

Provides the Django Model class that the DongTai project depends on, the Django API abstract class of the DongTai project, the vulnerability detection engine, constants, documents, etc.
Python
5
star
15

DongTai-openapi

DongTai-openapi is used to process probe registration, issue hook strategies, receive method call data/component data/error log/heartbeat data, issue vulnerability detection tasks, issue packet replay data, etc.
Python
5
star
16

dongtai-deploy

DongTai-Deploy is used to quickly deploy DongTai.
Shell
4
star
17

DongTai-Benchmark

DongTai agent performance test
Java
2
star
18

DongTai-docs

TypeScript
2
star
19

Dongtai_USB

Go
2
star
20

DongTai-website

DongTai-website
HTML
1
star
21

DongTai-agent-java-demo

Java
1
star
22

DongTai-Doc-en

DongTai IAST documentation in English.
1
star