
Python CLI-инструмент для быстрого анализа IOC (IP-адреса, домены, CVE) с использованием 6 бесплатных API Threat Intel. Вывод: цветной Excel, JSON, CSV. Использует: VT, Shodan, AbuseIPDB.
Исследуйте IP-адреса, домены, хеши и CVE через 6 бесплатных API киберразведки — без переключения между вкладками браузера.
Быстрый старт · Использование · Архитектура · API-ключи · Скриншоты · Участие в разработке
🚀 С гордостью представлен в официальном репозитории Awesome OSINT.
ThreatLens — это единый инструмент командной строки, который объединяет поиск данных киберразведки по наиболее авторитетным бесплатным источникам OSINT. Вместо того чтобы вставлять IP-адрес на пяти разных сайтах, ThreatLens опрашивает их все параллельно, нормализует результаты и выдаёт чёткий вердикт — прямо в терминале или в аккуратном цветном отчёте Excel/JSON/CSV.
Создан для SOC-аналитиков, специалистов по реагированию на инциденты, охотников за угрозами и всех, кому нужно быстрое и надёжное обогащение IOC без выхода из командной оболочки.
|
Почему ThreatLens
|
Не предназначен для
|
| Функция | Подробности |
|---|---|
| 🎯 Типы IOC | IP, домен, URL, хеш файла (MD5 / SHA1 / SHA256), CVE |
| 🔌 Интегрированные API | AbuseIPDB, VirusTotal, AlienVault OTX, Shodan, URLScan.io, NVD, CISA KEV, EPSS |
| 📄 Разбор логов | Автоматическое извлечение IOC из обычного текста/файлов логов, а также нативная поддержка Zeek, Suricata eve.json, Sysmon (JSON) и универсального JSONL |
| 🧭 Карточки решений по CVE | Детерминированная, объяснимая рекомендация Patch / Isolate / Monitor / Not affected для каждой CVE на основе CISA KEV, EPSS, CVSS и коррелированной подверженности активов |
| 🗂️ Инвентаризация активов | Импорт CSV с хостами/IP с указанием критичности и статуса доступа из интернета; сопоставляется с результатами по CVE |
| 📤 Экспорт в SIEM | Опциональный экспорт в Splunk HEC, Elastic _bulk и Microsoft Sentinel (современный Logs Ingestion API) |
| 🧾 Пакеты доказательств | Экспорт расследования в ZIP с манифестом SHA-256 для базовой цепочки сохранности |
| 📊 Отчёты | Excel (с цветовой кодировкой), JSON, CSV |
| 💾 Локальный кеш | Кеш SQLite с настраиваемым TTL — пропуск повторных запросов по известным IOC, а также кешированный фид CISA KEV (TTL 24 ч) |
| 🛡️ Безопасность | Блокировка редиректов, белый список хостов, маскирование API-ключей в логах, нейтрализация формул в электронных таблицах, ограничения DoS для CSV/логов |
| 🔒 Lockfile | requirements.lock с хешами SHA-256 для воспроизводимых установок |
| 💻 Работа с CLI | Наглядные индикаторы прогресса, цветные таблицы и понятная сводка вердиктов |
| 🧩 Архитектура | Модульные обогатители/парсеры/экспортёры, типизированные модели, строгое разделение ответственности |
| ✅ Протестировано | 155 модульных и интеграционных тестов с pytest; CI через GitHub Actions |
| ⚡ Устойчивость | Один сбойный API или получатель SIEM никогда не блокирует остальные — ошибки изолируются и логируются |
# 1. Clone & install
git clone https://github.com/AbdaullahAG/threatlens.git
cd threatlens
pip install -r requirements.txt
# 2. Configure your API keys
cp config/keys.env.example config/keys.env
# → edit config/keys.env and fill in your keys
# 3. Run your first scan
python main.py -i 45.33.32.156
💡 NVD (поиск CVE) работает из коробки без API-ключа. Каждый другой API предлагает бесплатный тариф, регистрация на который занимает менее 2 минут — см. API Keys ниже.
pip install --require-hashes -r requirements.lock
| Базовый поиск по одному IOC |
| Смешивайте и комбинируйте типы IOC в одном запуске |
| Массовое исследование прямо из необработанных журналов |
| Машиночитаемый вывод для конвейеров |
| Ограничить обогащение выбранными источниками |
| Excel + JSON + CSV за один запуск |
| Обогащение CVE через NIST NVD (бесплатно, без ключа) |
| Полное журналирование запросов и ответов для устранения неполадок |
| Патч / Изоляция / Мониторинг / Рекомендация «Не затронуто» |
| Приём журналов SOC → экспорт в SIEM |
| ZIP-архив с манифестом SHA-256 для обеспечения целостности цепочки хранения |