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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ThreatDetect — Streamlit 기반 내부자 위협 탐지 프로토타입으로, XGBoost와 Isolation Forest를 사용하여 직원 활동 데이터를 분석하고, 위험 요약을 생성하며, SHAP 기반 개별 직원 설명을 제공합니다. | Kitploit
도구/GitLabGitLab/jazbengu/threatdetect
Machine LearningAnomaly Detection
GitLabjazbengu/threatdetect

ThreatDetect

Streamlit 기반 내부자 위협 탐지 프로토타입으로, XGBoost와 Isolation Forest를 사용하여 직원 활동 데이터를 분석하고, 위험 요약을 생성하며, SHAP 기반 개별 직원 설명을 제공합니다.

저장소 보기웹사이트
3개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

ThreatDetect

ThreatDetect는 Streamlit 기반의 내부 위협 탐지 프로토타입으로, 직원 활동 데이터를 분석하여 잠재적인 위험 행동을 식별합니다. 학습된 XGBoost 분류기와 Isolation Forest 이상 탐지기를 함께 사용하여 조직 수준의 위험 요약과 설명 가능한 직원 수준의 인사이트를 제공합니다.

데모

이 앱은 Streamlit을 사용하여 로컬에서 실행할 수 있습니다. 배포된 데모는 다음에서 확인할 수 있었습니다:

  • https://threatdetectcos720.streamlit.app/

주요 기능

  • 업로드된 CSV 파일로부터 일괄 위험 탐지
  • 조직 위협 요약 (개수, 확률 분포, 위험 계층)
  • SHAP 값을 사용한 직원별 설명 가능성
  • 업로드된 데이터셋 또는 샘플 데이터셋에 대한 탐색적 데이터 분석(EDA)
  • 예측 결과 CSV 내보내기
  • 특성 중요도, 위험 분포 및 이상 탐지를 위한 시각화

저장소 구조

  • streamlit_app.py — 주요 Streamlit 애플리케이션
  • requirements.txt — Python 패키지 종속성
  • AI_Model_Code/insider_threat_model.pkl — 저장된 추론 파이프라인 및 학습된 모델 아티팩트
  • AI_Model_Code/insider_threat_clean_dataset.csv — EDA용 번들 샘플 데이터셋
  • AI_Model_Code/cos720_ai_model_FINAL.ipynb — 모델 개발 노트북
  • assets/app_styling.css — Streamlit 앱용 사용자 정의 UI 스타일링
  • unit testing/ — 특성 준비 및 설명 로직을 위한 테스트 파일
  • docs/TECHNICAL_DOCUMENTATION.md — 프로젝트 기술 문서

소프트웨어 요구 사항

  • Python 3.8 이상
  • streamlit
  • pandas
  • numpy
  • scikit-learn
  • matplotlib
  • seaborn
  • plotly
  • xgboost
  • shap

모든 종속성을 다음 명령어로 설치합니다:

root@kitploit:~
pip install -r requirements.txt

설치

  1. 저장소를 클론합니다:
root@kitploit:~
git clone https://github.com/jazbengu/ThreatDetect.git
cd ThreatDetect
  1. 가상 환경을 생성하고 활성화합니다 (권장):
root@kitploit:~
python3 -m venv venv
source venv/bin/activate
  1. 종속성을 설치합니다:
root@kitploit:~
pip install -r requirements.txt

앱 실행

다음 명령어로 앱을 시작합니다:

root@kitploit:~
streamlit run streamlit_app.py

그런 다음 터미널에 표시된 로컬 URL (보통 http://localhost:8501)을 엽니다.

ThreatDetect 사용

CSV를 통한 조직 검색

  • 직원 및 활동 특성이 포함된 CSV 파일을 업로드합니다.
  • 위협 탐지 실행 버튼을 클릭하여 각 레코드의 위험 확률을 계산합니다.
  • 앱은 전체 악성 vs 정상 예측 요약, 위험 확률 분포 및 특성 중요도를 보여줍니다.
  • 세부 결과 테이블을 확장하고 출력을 CSV로 다운로드할 수 있습니다.
  • 레코드별 설명 섹션을 사용하여 특정 직원이 플래그된 이유를 조사할 수 있습니다.

탐색적 데이터 분석(EDA)

  • 자체 CSV를 업로드하거나 AI_Model_Code/insider_threat_clean_dataset.csv에 있는 번들 샘플 데이터셋을 사용합니다.
  • 페이지는 데이터셋 형태, 기술 통계, 누락 값 정보 및 특성 플롯을 표시합니다.
  • 수치형 열은 히스토그램, 상자 그림, 산점도 관계 및 상관 관계 히트맵으로 탐색할 수 있습니다.
  • 빠른 Isolation Forest 이상 스캔을 통해 비정상 레코드를 강조할 수 있습니다.

사이드바 페이지

  • CSV를 통한 조직 검색은 주요 일괄 위협 탐지 워크플로입니다.
  • 단일 검색은 사이드바에 표시되지만 현재 앱 로직에서 구현되지 않았습니다.
  • 탐색적 데이터 분석은 데이터셋 탐색 및 빠른 이상 확인에 사용할 수 있습니다.

모델 아티팩트

AI_Model_Code/insider_threat_model.pkl에는 직렬화된 모델 패키지가 포함되어 있으며, 다음이 포함됩니다:

  • xgb_model: 학습된 XGBoost 분류기
  • iso_forest: 학습된 Isolation Forest 이상 탐지기
  • scaler: 수치 입력용 StandardScaler
  • label_encoders: 범주형 특성 인코더
  • feature_columns: 정렬된 특성 목록
  • cat_cols, num_cols, bin_cols: 특성 그룹화
  • best_threshold: 위험 결정에 사용된 분류 임계값
  • shap_explainer: 설명 가능성을 위한 SHAP 설명기

모델 파일은 streamlit_app.py에 의해 로드되어 입력 전처리, 위험 확률 계산 및 설명 생성에 사용됩니다.

테스트

저장소에는 unit testing/ 아래 테스트가 포함되어 있습니다.

다음 명령어로 테스트 스위트를 실행합니다:

root@kitploit:~
pytest "unit testing/"

참고 사항 및 문제 해결

  • Streamlit이 시작되지 않으면 가상 환경이 활성화되어 있고 종속성이 설치되었는지 확인하십시오.
  • 앱에서 필요한 열이 누락되었다고 보고하면 업로드한 CSV에 예상되는 직원 및 활동 필드가 포함되어 있는지 확인하십시오.
  • 모델 파일은 이전 scikit-learn 버전으로 직렬화되었으므로, 환경에서 더 새로운 버전을 사용하는 경우 로드 시 호환성 경고가 발생할 수 있습니다.
  • 내장 샘플 데이터셋을 사용할 수 없는 경우, EDA 페이지를 계속 사용하려면 자체 CSV를 업로드하십시오.

기여

이 저장소는 개선 및 테스트를 위해 구성되어 있습니다. 향후 개선 사항에는 특성 범위 확장 및 추가 내부 위협 데이터로 모델 재학습이 포함될 수 있습니다.

도구 다운로드