Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
ProHunter | Kitploit
Tools/GitHubGitHub/xueboqiu/prohunter
ReconnaissanceVulnerability AnalysisInformation GatheringThreat IntelligenceMachine LearningAnomaly Detection
GitHubxueboqiu/prohunter

ProHunter

View Repository
1048 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

📋 Overview

This project is a core module of the ProHunter system, primarily designed to perform malicious judgment on threat graphs sampled from the PPG module. The main idea of this methods is that uses inexact graph vector matching to calculate vector similarity between threat graphs and attack query graphs generated from CTI, producing threat scores for judgment. The framework is illustrated as follows.

the framework of ProHunter system

Note: This project serves as the downstream detection module of PPG, i.e., Attack Representation & Matching. For the complete workflow including provenance graph storage and threat graph sampling, please refer to the PPG module first.


🚀 Quick Start

Requirements

Python Version: 3.7.12

root@kitploit:~
# Clone the repository
git clone https://github.com/xueboQiu/ProHunter
cd ProHunter

# Install dependencies
pip install -r requirements.txt

📊 Functional Modules

1️⃣ Threat Graph Visualization

Visualize threat graphs sampled by the PPG module.

Usage:

  1. Place threat graph data in the corresponding dataset directory:

    root@kitploit:~
    dataset/darpa_cadets/sgs_demo/sce041214_E5A15412-68E0-FD54-A068-DD6114FD9040_2.txt # The case provided for visualization
    
  2. Prepare mapping file (e.g., names.json), which could be automatically generated by running dataset_preprocess.py (see the workflow of Threat Detection Module)

  3. Modify dataset paths in subgraph_vision.py, and run the visualization script:

    root@kitploit:~
    python subgraph_vision.py
    

    Specify the corresponding dataset in the script. The program will automatically read and visualize subgraph data from the sgs_demo directory.

Example Visualization Result:

Threat Graph Visualization

2️⃣ Threat Detection Module

Step 1: Download Datasets

Place downloaded files in the project directory following this structure:

root@kitploit:~
datasets/darpa_{dataset_name}/raws/xx.json

Step 2: Data Preprocessing

root@kitploit:~
python preprocess/dataset_preprocess.py  # Extract triple information from raw datasets:

This generates tuple files at:

root@kitploit:~
datasets/darpa_{dataset_name}/tuples/xx.txt

Step 3: Build Training and Testing Datasets

root@kitploit:~
python preprocess/parse_trace.py

Step 4: Model Training

root@kitploit:~
python pretrain_gmpt_cl.py --mode={dataset_name} --eval=False

Note: Additional parameters (e.g., epoch, learning rate) can be found in the parse_args() function in util.py.

Step 5: Model Evaluation

root@kitploit:~
python pretrain_gmpt_cl.py --mode={dataset_name} --eval=True

The model will load model parameters from models/{dataset_name}/best.pth.

3️⃣ Provided Example

The project provides pre-processed CADETS dataset samples for immediate testing:

root@kitploit:~
# Direct evaluation (using pre-trained model)
python pretrain_gmpt_cl.py --mode=cadets --eval=True

# Re-train the model
python pretrain_gmpt_cl.py --mode=cadets --eval=False
python pretrain_gmpt_cl.py --mode=cadets --eval=True

Example Evaluation Results :

Threat Hunting Results

📁 Project Structure

root@kitploit:~
ProHunter/
├── dataset/
│   └── darpa_cadets/              # Example dataset
│       ├── raws/                  # Raw dataset files
│       ├── sgs_demo/              
│       ├── test/                  
│       ├── train/                 
│       ├── tuples/                # Extracted tuples
│       ├── edge_type_map.json     
│       ├── names.json             # UUID to name mapping 
│       ├── node_type_map.json    
│       └── types.json             # UUID to type mapping
├── models/
│   └── {dataset_name}/
│       └── best.pth               # Trained model parameters
├── preprocess/                    # Data preprocessing scripts
├── subgraph/                      
├── batch.py                       
├── darpa_loader.py                # DARPA data loader
├── darpa_model.py                 
├── dataloader.py                  # Data loading utilities
├── graph_matching.py              
├── pretrain_gmpt_cl.py            # Main training & evaluation script
├── splitters.py                   
├── util.py                        # Utility functions & arguments
├── requirements.txt               # Dependencies
└── readme.md                      
Download Tool
DatasetLog FilesPlatformDownload Link
E3-Cadetsta1-cadets-e3-official-1.json.{0-4}FreeBSDDARPA E3
E3-Theiata1-theia-e3-official-6r.json.{0-12}LinuxDARPA E3
E3-Traceta1-trace-e3-official.json.{0-203}LinuxDARPA E3
E5-Theiata1-theia-1-e5-official-2.bin.{27-31}LinuxDARPA E5
E5-Clearscope2_1ta1-clearscope-2-e5-official-1.bin.{15-20}AndroidDARPA E5
E5-Clearscope2_2ta1-clearscope-2-e5-official-1.bin.{24-33}AndroidDARPA E5
OPTCbenign/20-23Sep19/AIA-201-225/{*}WindowsOpTC