Инструмент для обнаружения и анализа потенциальных угроз безопасности в сетевых логах и через интеграцию с API VirusTotal.
- 📂 Сбор данных из сетевых логов и API VirusTotal
- 🔍 Анализ угроз - выявление подозрительной активности и уязвимостей
- ⚡ Реагирование - автоматическая блокировка IP и отправка уведомлений
- 📊 Визуализация - графики и диаграммы результатов анализа
- 📋 Отчетность - JSON и CSV отчеты с детальной информацией
- Python 3.8+
- Зависимости:
requests,pandas,matplotlib,seaborn
pip install requests pandas matplotlib seabornpython security_tool.py -g# Простой анализ
python security_tool.py
# С проверкой в VirusTotal
python security_tool.py -k <ваш_ключ_virustotal>
# С отправкой в Telegram
python security_tool.py -t bot_token:chat_id
# Все вместе
python security_tool.py -g -k <ключ_VT> -t <ключ_TG>-k, --virustotal-key KEY API ключ VirusTotal для проверки IP
-t, --telegram-key KEY Telegram ключ в формате bot_token:chat_id
-g, --generate-logs Генерировать новые логи демонстрации
-l, --log-file FILE Путь к файлу логов (по умолчанию: logs/network_events.json)
-v, --verbose Подробный вывод
-h, --help Справка
Базовое использование:
python security_tool.pyС генерацией новых логов:
python security_tool.py -gС проверкой в VirusTotal (требуется API ключ):
python security_tool.py -k <ваш_ключ_virustotal>С отправкой уведомлений в Telegram:
python security_tool.py -t 1234567890:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefgПолная версия:
python security_tool.py -g -k <ваш_ключ_virustotal> -t bot_token:chat_id -v- log_generator.py - Генератор примеров логов сетевых событий
- data_collector.py - Сбор данных из логов и API VirusTotal
- threat_analyzer.py - Анализ и классификация угроз
- threat_responder.py - Реагирование на обнаруженные угрозы
- report_generator.py - Формирование отчетов и графиков
Логи → Сбор данных → Анализ → Реагирование → Отчет
↓
API VirusTotal
.
├── security_tool.py # Главный скрипт
├── src/
│ ├── __init__.py
│ ├── log_generator.py # Генератор логов
│ ├── data_collector.py # Сбор данных
│ ├── threat_analyzer.py # Анализ угроз
│ ├── threat_responder.py # Реагирование на угрозы
│ └── report_generator.py # Генератор отчетов
├── logs/ # Директория с логами
│ └── network_events.json
├── reports/ # Директория с отчетами и графиками
│ ├── security_report_*.json
│ ├── threats_*.csv
│ ├── severity_distribution_*.png
│ ├── threat_types_*.png
│ ├── top_risky_ips_*.png
│ └── risk_gauge_*.png
└── README.md # Этот файл
- Зарегистрируйтесь на https://www.virustotal.com/
- Перейдите в раздел Account → API key
- Скопируйте ваш API ключ
- Используйте при запуске:
python security_tool.py -k ваш_ключ
- IP адреса на предмет известных вредоносных активностей
- Статистика подозрительных и вредоносных обнаружений
- Создайте бота в Telegram через @BotFather
- Получите chat_id (отправьте сообщение боту и проверьте логи)
- Используйте при запуске:
python security_tool.py -t bot_token:chat_id
bot_token:chat_id
Пример:
1234567890:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefg:987654321
- Подозрительный IP - IP с множеством событий или высокой серьезностью
- Паттерн атаки - Часто повторяющиеся типы атак
- 🔴 Критический (critical) - Требует немедленного действия
- 🟠 Высокий (high) - Требует скорого рассмотрения
- 🟡 Средний (medium) - Требует мониторинга
- 🟢 Низкий (low) - Информационный
- Критические угрозы: Имитация блокировки IP + уведомление в консоль и Telegram (если доступен)
- Высокие угрозы: Имитация блокировки IP + уведомление в консоль
- Средние угрозы: Только логирование
В текущей версии реагирование реализовано как имитация (для демонстрации логики). В боевой системе вместо имитации будут реальные действия (блокировка в firewall, отправка писем администратору и т.д.).
Система создает следующие визуализации:
- severity_distribution_*.png - Распределение угроз по уровню серьезности (столбчатая диаграмма)
- threat_types_*.png - Распределение типов угроз (круговая диаграмма)
- top_risky_ips_*.png - Топ 5 рискованных IP адресов (горизонтальная диаграмма)
- risk_gauge_*.png - Шкала общего риска сети (0-100%)
{
"report_timestamp": "2024-01-01T10:00:00",
"summary": {
"total_threats_detected": 5,
"network_risk_score": 65.5,
"severity_breakdown": {...}
},
"threat_details": [...],
"response_actions": {...},
"analysis": {...}
}Табличный формат с колонками:
- Угроза
- Тип
- Событий
- Серьезность
- Уровень угрозы
- Обнаружено
{
"timestamp": "2024-01-01T12:00:00",
"src_ip": "192.168.1.100",
"dst_ip": "10.0.0.50",
"src_port": 12345,
"dst_port": 443,
"protocol": "HTTPS",
"severity": "high",
"alert_type": "SQL Injection",
"details": "Обнаружен подозрительный трафик: SQL Injection"
}ModuleNotFoundError: No module named 'requests'
Решение: Установите зависимости
pip install requests pandas matplotlib seabornAPI VirusTotal вернул код 401
Решение: Проверьте правильность API ключа
Файл логов не найден: logs/network_events.json
Решение: Используйте флаг -g для генерирования логов
python security_tool.py -gMIT License - свободное использование в образовательных и коммерческих целях
Если у вас возникли вопросы или проблемы, проверьте:
- Установлены ли все зависимости
- Правильны ли ключи API (если используются)
- Существует ли файл с логами
- Используется ли Python 3.8+
Версия: 1.0
Последнее обновление: Март 2026
Автор: Security Analysis Team