Code for detecting threats for hackathon
Этот проект создан для хакатона. Он представляет собой прототип системы кибербезопасности, которая анализирует сетевой трафик и выявляет подозрительные активности в реальном времени с помощью машинного обучения.
##Функциональность
Анализ сетевого трафика поддержка CSV-файлов, PCAP-захватов и live-режима с сетевого интерфейса.
ML-анализ. использование IsolationForest для поиска аномалий в потоках данных.
Автоматические алерты при обнаружении подозрительной активности система генерирует предупреждения.
Webhook-уведомления отправка JSON-оповещений во внешние системы (например, SIEM).
Рекомендации: система подсказывает, что делать при обнаружении аномалии (например, проверить нагрузку, ограничить соединение, включить DPI).
- Склонируйте репозиторий:
git clone https://github.com/<ВАШ-ЛОГИН>/infinity-code-hackathon.git
cd infinity-code-hackathon- Установите зависимости:
pip install -r requirements.txt- Для PCAP и live-режима нужно установить
tshark:
# Ubuntu/Debian
sudo apt install tshark
# MacOS
brew install wiresharkЗапустите на подготовленном CSV:
python detector.py --csv traffic.csvCSV должен содержать поля:
ts,src,dst,length,proto,sport,dport,tcp_flags
Пример CSV уже есть в репозитории (traffic.csv)
python detector.py --pcap sample.pcapsudo python detector.py --iface eth0 --window 10Где:
eth0— имя сетевого интерфейса (проверьте черезifconfigилиip a).--window 10— размер окна агрегации в секундах.
Можно отправлять алерты на внешний сервер:
python detector.py --csv traffic.csv --webhook http://localhost:5000/alert[ALERT] 192.168.0.10 -> 8.8.8.8 score=0.934 reason=high_bytes
{
"timestamp": "2025-10-02T15:30:00Z",
"src": "192.168.0.10",
"dst": "8.8.8.8",
"pkt_count": 10,
"byte_sum": 1200000,
"score": 0.934,
"reason": "high_bytes",
"recommendation": "Check payload, limit connection, enable DPI."