
NetLogic — это продвинутый инструментарий для сетевого анализа и кибербезопасности, предназначенный для проверки трафика, анализа пакетов и обнаружения угроз.
Облачный картограф поверхности атаки и коррелятор уязвимостей — v3.0
NetLogic — это платформа сетевой безопасности, объединяющая активное сканирование портов, корреляцию CVE (живой NVD API), анализ SSL/TLS, аудит безопасности HTTP, оценку DNS/электронной почты, обнаружение перехвата поддоменов, пассивный OSINT, активное зондирование уязвимостей, механизм рассуждений на базе ИИ, обнаружение цепочек атак между хостами и архитектуру агентов глубокого зондирования — поставляемая как веб-приложение (React dashboard + FastAPI). Основной движок сканирования написан на чистом Python 3.9+ stdlib без сторонних зависимостей.
| Модуль | Описание |
|---|---|
| Сканер портов | TCP-сканирование с 43/58 портами, 22 пробы сервисов, захват баннеров |
| Коррелятор CVE | Живой NVD API v2.0 + обогащение EPSS через FIRST.org |
| Анализатор TLS | Версии протоколов, слабые шифры, POODLE/BEAST/CRIME/DROWN, срок действия сертификата |
| Аудит HTTP-заголовков | HSTS, CSP, X-Frame-Options, CORS, флаги cookie; оценка 0–100 |
| Стековый отпечаток | CMS, фреймворк, облачный провайдер, CDN, WAF из баннера/заголовка/тела |
| Безопасность DNS | SPF, DKIM, DMARC, DNSSEC, передача зоны, оценка спуфинга |
| Пассивный OSINT | Журналы Certificate Transparency, DoH DNS, поиск ASN — без прямого контакта с целью |
| Пробник сервисов | Неаутентифицированные пробы Redis/Mongo/ES/Docker/K8s/etcd, 33 административных пути |
| Обнаружитель перехвата | Обнаружение поддоменов через CT-логи + 25 CNAME-отпечатков облачных провайдеров |
| Интеграция с Nuclei | Обёртка для 13k+ шаблонов сообщества (CVE, технологии, экспозиция, неверная конфигурация) — лицензия MIT |
| Конвейер слияния | Многосенсорный шлюз сигналов → детерминированное согласование → арбитраж ИИ → граф атак → 6-секционный отчёт |
| Веб-отпечаток | Хэш фавикона (совместимый с Shodan mmh3), секреты JS, маркеры версий, раскрытые файлы, обнаружение страниц по умолчанию |
| AI-анализ | OpenAI / Anthropic / OpenRouter / Ollama / Gemini / Groq / Kimi / Qwen — потоковая передача токенов через SSE |
| Машина рассуждений | Адаптивный цикл наблюдение→рассуждение→действие с EvidenceGraph, механизмом гипотез, затуханием уверенности, происхождением, планировщиком, плейбуками, обнаружением изменений, активной проверкой |
| Глубокое исследование | Архитектура агентов для каждого сервиса: ScoutAgent (разведка), ProbeAgent (целевые проверки CVE), Coordinator, Sandbox |
| Агент расследования ИИ | Цикл в стиле ReAct: после базовых датчиков ИИ управляет подобранной, ограниченной по объёму, проверяемой поверхностью инструментов (~35 инструментов) для проверки зацепок и построения цепочек атак — с опциональными агрессивными инструментами (пробы на сбой, произвольное доказательство, произвольная эксплуатация) для авторизованных целей |
| Механизм верификации | Повторная верификация CVE с помощью ИИ: разработка планов зондов raw-HTTP из контекста CVE, выполнение через сокеты stdlib |
| Многохостовая оркестрация | Полный конвейер сканирования для каждого хоста → межхостовый контекст и матрица достижимости → обнаружение цепочек атак |
| Директоры сенсоров ИИ | LLM решает, какие датчики приоритезировать на основе открытых портов, технологического стека и CVE |
| Аутентифицированный SSH | Дочерний процесс ssh с учётными данными считывает реальные версии установленных пакетов (60+ соответствий продуктов) |
| Перечисление сервисов | Извлечение атрибутов на уровне протокола (SSH KEX, SMBv1, RDP NLA, SNMP community, состояние HTTP-аутентификации) |
| Картограф топологии | Обратный DNS, IPv6, traceroute, ASN/организация/страна через ip-api.com |
| Пробник достижимости | Матрица латерального перемещения после компрометации из смежности подсетей |
| Сетевой пробник | Активное сканирование подсети (/24 частные соседи) с двухфазным обнаружением (проверка активности → полное сканирование портов) |
| Разница сканирований | Изменения со временем: сравнение текущего сканирования с последним предыдущим JSON-отчётом для каждой цели |
| Управление лицензиями | Система коммерческих лицензий с активацией ключей (заглушка для Stripe/Paddle/Lemon Squeezy) |
| AI-конфигурация для каждой организации | Каждая организация хранит свои учётные данные LLM, зашифрованные в состоянии покоя через Fernet |
| OIDC / Clerk | Вход пользователей через сессионные JWT, выданные Clerk, проверенные по общедоступному JWKS с автоматическим предоставлением |
| PostgreSQL | Полная многотенантная персистентность с автоматически применяемыми миграциями (задания сканирования, настройки организации, состояние рассуждений, аудит) |
| Бенчмарк слияния | Офлайн-бенчмарк на записанных HTTP-кассетах; метрики precision/recall/critical-recall/FP-reduction |
Есть ровно два способа запустить NetLogic:
| Режим | Команда | Что делает |
|---|---|---|
| Веб-приложение | netlogic --gui | Запускает FastAPI + обслуживает React SPA + встроенный агент сканирования, автоматически генерирует секреты и открывает панель управления в вашем браузере. Это единственный способ запустить веб-приложение. |
| CLI | netlogic <target> [flags] | Одноразовое терминальное сканирование (без сервера), печатает/записывает отчёт. |
Поверхность продукта — это веб-приложение (React dashboard + FastAPI). Движок сканирования в src/ обеспечивает задания, запускаемые из интерфейса.
pip install -r requirements-api.txt pip install -e .
netlogic --gui
netlogic scanme.nmap.org --full
---
## Справочник по CLI```
netlogic [target] [flags]
Точкой входа является api.cli:main (определённая в pyproject.toml), которая делегирует выполнение к netlogic.py:main(). Вся логика сканирования находится в src/.
| Формат | Пример | Режим |
|---|---|---|
| Имя хоста | example.com | Сканирование одного хоста |
| IPv4 | 10.0.0.5 | Сканирование одного хоста |
| CIDR | 192.168.1.0/24 | Обход CIDR (только сканер, без слияния) |
| Разделённые запятыми | target1,target2 | Оркестрация нескольких хостов (межхостовый контекст) |
netlogic example.com
netlogic example.com --full
netlogic example.com --tls --headers
netlogic example.com --takeover
netlogic example.com --osint
netlogic example.com --stack
netlogic example.com --dns
netlogic 10.0.0.5 --probe
netlogic example.com --full --probe
### Выбор порта```
# Quick — 43 common ports (default)
netlogic example.com --ports quick
# Full — 58 extended ports
netlogic example.com --ports full
# Custom list
netlogic example.com --ports custom=22,80,443,8080,9200
netlogic example.com --ai --ai-key $KEY
netlogic example.com --ai --ai-provider openai --ai-key $KEY --ai-model gpt-4o-mini
netlogic example.com --ai --ai-provider anthropic --ai-key $KEY
netlogic example.com --ai --ai-provider gemini --ai-key $KEY --ai-model gemini-2.0-flash