Предисловие
Наблюдение за выводом утилиты nmap после сканирования крупных корпоративных сетей многократно демонстрировало значительные временные затраты, связанные с обработкой результатов. Анализ объемных отчетов сканеров безопасности представляет известную сложность: критически важные сведения об уязвимостях зачастую скрыты среди обширных массивов технических данных и записей с низким уровнем риска. Данное наблюдение привело к формулировке концепции инструмента, призванного выполнять функцию высокоуровневого интерфейса между сложными для восприятия выходными данными сканирующих утилит и специалистом по безопасности.
Исходная предпосылка разработки заключалась в том, что простая автоматизация обработки данных является недостаточной. Известно, что многие распространенные инструменты генерируют чрезвычайно большой объем информации, повышая риск пропуска существенных деталей даже опытными аналитиками. Целью разработки стало создание не базового парсера, а интеллектуальной системы поддержки, способной имитировать экспертный уровень анализа, характерный для старшего специалиста по тестированию на проникновение (senior penetration tester). Ключевым требованием к системе являлась универсальность среды выполнения: инструмент должен функционировать как в облачных средах с использованием OpenAI, так и в полностью автономных (offline) окружениях с применением локальных моделей, таких как Ollama.
Как это работает под капотом?
Рабочий процесс инструмента начинается с перенаправления вывода стандартных утилит безопасности (таких как nmap, nikto, ffuf и других) через конвейер терминала. Абстрактный пример, пользователь выполняет команду вида
Инструмент в реальном времени отображает сырые данные сканирования, обеспечивая визуальный контроль прогресса. После завершения работы исходного сканера (nmap в данном случае) система автоматически активирует этап AI-анализа.
Ключевой механизм обработки — контекстный промптинг. Каждый запрос к ИИ предваряется строгим системным контекстом, например: "You are a senior penetration testing specialist with a lot of experience...". Это заставляет модель работать в рамках экспертной роли: выявлять векторы атак, оценивать риски, генерировать рекомендации по исправлению и фокусироваться исключительно на технических аспектах уязвимостей. Поддерживаются провайдеры OpenAI, Ollama (локально) и DeepSeek.
Результаты анализа форматируются в Markdown с визуальными акцентами. Пользователь получает структурированный отчет с иконками, цветовой индикацией критичности и четким разделением данных.
Дополнительная функция — интерактивный режим (активируется флагом --chat). Он позволяет задавать уточняющие вопросы по результатам анализа (например: "Какие конкретно эксплойты существуют для этой уязвимости?" или "Покажи шаги для ручной проверки"). Система сохраняет контекст предыдущего сканирования и взаимодействует как консультант по безопасности, углубляя анализ без повторных запусков. Принцип проектирования инструмента — максимальная практическая применимость. Он трансформирует сырые данные сканеров в готовые к действию выводы, сокращая время специалиста на рутинный анализ и минимизируя риски пропуска критичных уязвимостей.
Анализ сетевого сканирования
Команда:
Вывод:
Веб-сканирование с автоматизацией
Команда:
В файле report.md:
Интерактивный режим для анализа логов
Запуск:
Диалог:
Анализ конфигураций безопасности
Вывод:
Проверка исходного кода
Результат:
Почему это актуально сейчас?
В условиях экспоненциального роста количества уязвимостей и сокращения времени на их реагирование, автоматизация анализа перешла из категории удобства в разряд операционной необходимости. Инструмент демонстрирует особую эффективность в следующих сценариях:
На данный момент допиливаю:
Искренне надеюсь что вам понравилось.
Наблюдение за выводом утилиты nmap после сканирования крупных корпоративных сетей многократно демонстрировало значительные временные затраты, связанные с обработкой результатов. Анализ объемных отчетов сканеров безопасности представляет известную сложность: критически важные сведения об уязвимостях зачастую скрыты среди обширных массивов технических данных и записей с низким уровнем риска. Данное наблюдение привело к формулировке концепции инструмента, призванного выполнять функцию высокоуровневого интерфейса между сложными для восприятия выходными данными сканирующих утилит и специалистом по безопасности.
Исходная предпосылка разработки заключалась в том, что простая автоматизация обработки данных является недостаточной. Известно, что многие распространенные инструменты генерируют чрезвычайно большой объем информации, повышая риск пропуска существенных деталей даже опытными аналитиками. Целью разработки стало создание не базового парсера, а интеллектуальной системы поддержки, способной имитировать экспертный уровень анализа, характерный для старшего специалиста по тестированию на проникновение (senior penetration tester). Ключевым требованием к системе являлась универсальность среды выполнения: инструмент должен функционировать как в облачных средах с использованием OpenAI, так и в полностью автономных (offline) окружениях с применением локальных моделей, таких как Ollama.
AI Security Analysis Tool
Данный инструмент предназначен для обработки и анализа выходных данных инструментов безопасности. Он принимает сырые результаты сканирования, полученные от таких утилит, как nmap, nikto и других, и предоставляет расширенный анализ с использованием искусственного интеллекта.
Ключевые характеристики инструмента:
Ключевые характеристики инструмента:
- Вывод в реальном времени: Инструмент отображает результаты работы подключенных средств безопасности (например, nmap или nikto) по мере их генерации, обеспечивая оперативный мониторинг хода сканирования.
- AI-анализ уязвимостей: После завершения сканирования исходным инструментом, система автоматически направляет собранные данные на анализ выбранной модели ИИ. Этот этап обеспечивает профессиональную оценку обнаруженных уязвимостей, рисков и предоставляет аналитические выводы.
- Поддержка нескольких провайдеров ИИ: Инструмент интегрируется с различными платформами искусственного интеллекта, включая OpenAI, локально развернутый Ollama и DeepSeek, предоставляя гибкость в выборе модели анализа.
- Индикатор обработки: Во время выполнения AI-анализа отображается анимированный индикатор (спиннер), визуально сигнализирующий о процессе работы системы и предотвращающий ложное восприятие "зависания".
- Форматирование вывода: Результаты AI-анализа форматируются с использованием Markdown, обеспечивая четкую структуру, удобочитаемость (заголовки, списки, блоки кода) и упрощая их последующее использование в отчетах или документации.
Как это работает под капотом?
Рабочий процесс инструмента начинается с перенаправления вывода стандартных утилит безопасности (таких как nmap, nikto, ffuf и других) через конвейер терминала. Абстрактный пример, пользователь выполняет команду вида
Код:
nmap -sV target.com --script="vulners" | ./ai_processor.py -ai "Найди критические уязвимости"
Ключевой механизм обработки — контекстный промптинг. Каждый запрос к ИИ предваряется строгим системным контекстом, например: "You are a senior penetration testing specialist with a lot of experience...". Это заставляет модель работать в рамках экспертной роли: выявлять векторы атак, оценивать риски, генерировать рекомендации по исправлению и фокусироваться исключительно на технических аспектах уязвимостей. Поддерживаются провайдеры OpenAI, Ollama (локально) и DeepSeek.
Результаты анализа форматируются в Markdown с визуальными акцентами. Пользователь получает структурированный отчет с иконками, цветовой индикацией критичности и четким разделением данных.
Markdown (GitHub flavored):
🛡️ **Уязвимость: устаревшая версия OpenSSL**
Обнаружена на сервере 10.0.5.12 (порт 443)
**Уровень риска:** 🔴 Критический (CVSS 9.1)
**Описание:** Версия 1.0.2u содержит уязвимость CVE-2021-3711, позволяющая выполнение произвольного кода
**Рекомендации:** Немедленное обновление до 3.0.7+
Дополнительная функция — интерактивный режим (активируется флагом --chat). Он позволяет задавать уточняющие вопросы по результатам анализа (например: "Какие конкретно эксплойты существуют для этой уязвимости?" или "Покажи шаги для ручной проверки"). Система сохраняет контекст предыдущего сканирования и взаимодействует как консультант по безопасности, углубляя анализ без повторных запусков. Принцип проектирования инструмента — максимальная практическая применимость. Он трансформирует сырые данные сканеров в готовые к действию выводы, сокращая время специалиста на рутинный анализ и минимизируя риски пропуска критичных уязвимостей.
Анализ сетевого сканирования
Команда:
Bash:
nmap -sC -sV 192.168.1.0/24 --script="vulners" | ./ai_processor.py -ai "Найди хосты с критическими уязвимостями" --provider ollama
Код:
🔍 Найдено 3 критических хоста:
- 192.168.1.12: Уязвимый SMBv1 (CVE-2017-0143)
- 192.168.1.34: Устаревший OpenSSL 1.1.0 (CVE-2021-3711)
- 192.168.1.78: Jenkins с публичным доступом к /script
Веб-сканирование с автоматизацией
Команда:
Bash:
nikto -h https://example.com | ./ai_processor.py -ai "Перечисли уязвимости OWASP Top 10" --file report.md
Markdown (GitHub flavored):
## Уязвимости OWASP Top 10:
- **A2: Broken Authentication**:
- Найдены дефолтные куки (`JSESSIONID=admin`)
- **A5: Security Misconfiguration**:
- Раскрытие версии сервера: Apache/2.4.6
- **A6: Vulnerable Components**:
- jQuery 1.11.0 (уязвимость CVE-2015-9251)
Интерактивный режим для анализа логов
Запуск:
Bash:
cat access.log | ./ai_processor.py -ai "Найди признаки атак" --chat
Код:
> Покажи топ 5 IP-адресов атакующих
[AI]: 185.63.90.1 (142 запроса), 194.34.1.78 (87 запросов)...
> Какие уязвимости они эксплуатировали?
[AI]: 68% - SQL-инъекции, 22% - XSS, 10% - LFI...
Анализ конфигураций безопасности
Bash:
ansible-inventory --list | ./ai_processor.py -ai "Проверь настройки безопасности"
Код:
⚠️ Проблемы:
- SSH: PermitRootLogin yes (должно быть no)
- Парольная аутентификация разрешена
- Нет ограничений на sudo-доступ
Проверка исходного кода
Bash:
grep -r "pass" ./src | ./ai_processor.py -ai "Найди утечки учетных данных и подсвети их"
Код:
🛑 Найдено 3 случая хардкода паролей:
- src/config/db.js: line 12: password: "ProdPass123"
- src/utils/auth.py: line 45: ADMIN_PASS = "TempP@ssw0rd"
Почему это актуально сейчас?
В условиях экспоненциального роста количества уязвимостей и сокращения времени на их реагирование, автоматизация анализа перешла из категории удобства в разряд операционной необходимости. Инструмент демонстрирует особую эффективность в следующих сценариях:
- Для малых команд безопасности, где ограниченные ресурсы требуют от специалистов многозадачности;
- При проведении срочных инцидентных расследований, где временные затраты критичны;
- В образовательных программах, предоставляя новичкам наглядные примеры экспертного анализа;
- В качестве компонента автоматизированных DevSecOps-пайплайнов для непрерывной оценки защищенности.
На данный момент допиливаю:
- Реализацию интеллектуальной визуализации: автоматическую генерацию сетевых карт и диаграмм атакующей поверхности на основе результатов сканирования;
- Интеграцию контекстных рекомендаций: предоставление готовых команд для эксплуатации уязвимостей через инструменты вроде Metasploit или sqlmap;
- Расширение поддержки форматов данных: парсинг структурированных выводов (XML/JSON) сложных сканеров, включая Burp Suite.
Искренне надеюсь что вам понравилось.