Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ProHunter — 그래프 기반 위협 탐지 시스템으로, 부정확한 그래프 벡터 매칭을 사용하여 위협 그래프를 CTI에서 파생된 공격 쿼리 그래프와 비교함으로써 자동화된 악성 판단 및 위협 점수를 제공합니다. | Kitploit
도구/GitHubGitHub/xueboqiu/prohunter
ReconnaissanceVulnerability AnalysisInformation GatheringThreat IntelligenceMachine LearningAnomaly Detection
GitHubxueboqiu/prohunter

ProHunter

그래프 기반 위협 탐지 시스템으로, 부정확한 그래프 벡터 매칭을 사용하여 위협 그래프를 CTI에서 파생된 공격 쿼리 그래프와 비교함으로써 자동화된 악성 판단 및 위협 점수를 제공합니다.

저장소 보기
104109개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

📋 개요

이 프로젝트는 ProHunter 시스템의 핵심 모듈로, 주로 PPG 모듈에서 샘플링된 위협 그래프에 대해 악성 여부를 판단하는 역할을 합니다. 이 방법의 주요 아이디어는 부정확한 그래프 벡터 매칭(inexact graph vector matching)을 사용하여 위협 그래프와 CTI에서 생성된 공격 쿼리 그래프 간의 벡터 유사도를 계산하고, 판단을 위한 위협 점수를 산출하는 것입니다. 프레임워크는 아래 그림과 같습니다.

the framework of ProHunter system

참고: 이 프로젝트는 PPG의 다운스트림 탐지 모듈, 즉 공격 표현 및 매칭(Attack Representation & Matching) 역할을 합니다. 프로비넌스 그래프 저장 및 위협 그래프 샘플링을 포함한 전체 워크플로우는 먼저 PPG 모듈을 참조하시기 바랍니다.


🚀 빠른 시작

요구 사항

Python 버전: 3.7.12

root@kitploit:~
# 저장소 클론
git clone https://github.com/xueboQiu/ProHunter
cd ProHunter

# 의존성 설치
pip install -r requirements.txt

📊 기능 모듈

1️⃣ 위협 그래프 시각화

PPG 모듈에서 샘플링된 위협 그래프를 시각화합니다.

사용 방법:

  1. 위협 그래프 데이터를 해당 데이터셋 디렉토리에 배치합니다:

    root@kitploit:~
    dataset/darpa_cadets/sgs_demo/sce041214_E5A15412-68E0-FD54-A068-DD6114FD9040_2.txt # 시각화용으로 제공된 사례
    
  2. 매핑 파일(예: names.json)을 준비합니다. 이 파일은 dataset_preprocess.py를 실행하면 자동으로 생성될 수 있습니다 (위협 탐지 모듈의 워크플로우 참조).

  3. subgraph_vision.py에서 데이터셋 경로를 수정하고 시각화 스크립트를 실행합니다:

    root@kitploit:~
    python subgraph_vision.py
    

    스크립트에서 해당 데이터셋을 지정합니다. 프로그램은 sgs_demo 디렉토리에서 서브그래프 데이터를 자동으로 읽어 시각화합니다.

시각화 결과 예시:

Threat Graph Visualization

2️⃣ 위협 탐지 모듈

1단계: 데이터셋 다운로드

다운로드한 파일을 다음 구조에 따라 프로젝트 디렉토리에 배치합니다:

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

2단계: 데이터 전처리

root@kitploit:~
python preprocess/dataset_preprocess.py  # 원시 데이터셋에서 트리플 정보 추출:

그러면 다음 위치에 튜플 파일이 생성됩니다:

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

3단계: 학습 및 테스트 데이터셋 구축

root@kitploit:~
python preprocess/parse_trace.py

4단계: 모델 학습

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

참고: 추가 매개변수(예: epoch, learning rate)는 util.py의 parse_args() 함수에서 확인할 수 있습니다.

5단계: 모델 평가

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

모델은 models/{dataset_name}/best.pth에서 모델 파라미터를 로드합니다.

3️⃣ 제공된 예제

이 프로젝트는 즉시 테스트할 수 있도록 전처리된 CADETS 데이터셋 샘플을 제공합니다:

root@kitploit:~
# 직접 평가 (사전 학습된 모델 사용)
python pretrain_gmpt_cl.py --mode=cadets --eval=True

# 모델 재학습
python pretrain_gmpt_cl.py --mode=cadets --eval=False
python pretrain_gmpt_cl.py --mode=cadets --eval=True

평가 결과 예시 :

Threat Hunting Results

📁 프로젝트 구조

root@kitploit:~
ProHunter/
├── dataset/
│   └── darpa_cadets/              # 예제 데이터셋
│       ├── raws/                  # 원시 데이터셋 파일
│       ├── sgs_demo/              
│       ├── test/                  
│       ├── train/                 
│       ├── 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               # 학습된 모델 파라미터
├── preprocess/                    # 데이터 전처리 스크립트
├── subgraph/                      
├── batch.py                       
├── darpa_loader.py                # DARPA 데이터 로더
├── darpa_model.py                 
├── dataloader.py                  # 데이터 로딩 유틸리티
├── graph_matching.py              
├── pretrain_gmpt_cl.py            # 메인 학습 및 평가 스크립트
├── splitters.py                   
├── util.py                        # 유틸리티 함수 및 인자
├── requirements.txt               # 의존성
└── readme.md                      
도구 다운로드
데이터셋로그 파일플랫폼다운로드 링크
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