Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
ThreatDetect — Прототип обнаружения внутренних угроз на базе Streamlit, использующий XGBoost и Isolation Forest для анализа данных об активности сотрудников, формирования сводок по рискам и предоставления SHAP-объяснений для каждого сотрудника. | Kitploit
Инструменты/GitLabGitLab/jazbengu/threatdetect
Машинное ОбучениеОбнаружение Аномалий
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 — пользовательские стили UI для приложения Streamlit
  • 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-файл с признаками сотрудников и активности.
  • Нажмите Run Threat Detection, чтобы рассчитать вероятности риска для каждой записи.
  • Приложение отобразит сводку общих прогнозов «злонамеренный» vs «нормальный», распределение вероятностей риска и важность признаков.
  • Вы можете развернуть таблицу с подробными результатами и загрузить выходные данные в формате CSV.
  • Используйте раздел объяснения по каждой записи, чтобы узнать, почему конкретный сотрудник был помечен.

Исследовательский анализ данных

  • Загрузите свой CSV-файл или используйте встроенный демонстрационный набор данных из AI_Model_Code/insider_threat_clean_dataset.csv.
  • Страница отображает размер набора данных, описательные статистики, информацию о пропущенных значениях и графики признаков.
  • Числовые столбцы можно исследовать с помощью гистограмм, ящиков с усами, диаграмм рассеивания и тепловых карт корреляций.
  • Быстрое сканирование аномалий с помощью Isolation Forest может выделить необычные записи.

Страницы боковой панели

  • Organisational Search via CSV — основной рабочий процесс пакетного обнаружения угроз.
  • Single Search отображается на боковой панели, но в настоящее время не реализован в логике приложения.
  • Exploratory Data Analysis доступен для исследования наборов данных и быстрых проверок аномалий.

Артефакты модели

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, поэтому загрузка может вызывать предупреждения о совместимости, если ваше окружение использует более новые версии.
  • Если встроенный демонстрационный набор данных недоступен, загрузите свой CSV, чтобы продолжить использование страницы EDA.

Вклад

Этот репозиторий настроен для улучшения и тестирования. Будущие улучшения могут включать расширение охвата признаков и переобучение модели на дополнительных данных об инсайдерских угрозах.

Скачать инструмент