Rogue

Exploitation >1 года

AI-агент для тестирования безопасности, использующий LLM для интеллектуального обнаружения и подтверждения уязвимостей веб-приложений.


Установка
git clone https://github.com/faizann24/rogue
cd rogue
pip install -r requirements.txt
показать оригинал переведено ИИ

Логотип Rogue

Rogue 🎯

Интеллектуальный агент-сканер веб-уязвимостей на основе больших языковых моделей

Лицензия: GPL-3.0 Python 3.8+

Rogue — это продвинутый ИИ-агент для тестирования безопасности, который использует большие языковые модели для интеллектуального обнаружения и проверки уязвимостей веб-приложений. В отличие от традиционных сканеров, действующих по заранее заданным шаблонам, Rogue мыслит как человек-пентестер: анализирует поведение приложения, генерирует сложные тестовые сценарии и подтверждает находки посредством автономного принятия решений.

Примечание: это очень ранняя версия, многие запланированные улучшения и функции ещё находятся в разработке. Вклад со стороны сообщества открытого кода очень приветствуется.

Демо GIF

🌟 Ключевые возможности

  • Интеллектуальное обнаружение уязвимостей: использует LLM для понимания контекста приложения и выявления потенциальных слабых мест в безопасности
  • Продвинутая генерация пейлоадов: создаёт сложные тестовые пейлоады, адаптированные под целевое приложение
  • Контекстно-ориентированное тестирование: анализирует поведение и ответы приложения для построения стратегии тестирования
  • Автоматическая проверка эксплойтов: подтверждает находки, чтобы исключить ложные срабатывания
  • Подробная отчётность: формирует детальные отчёты об уязвимостях с шагами воспроизведения
  • Перебор поддоменов: опциональное обнаружение связанных поддоменов
  • Мониторинг трафика: встроенный прокси перехватывает и анализирует весь веб-трафик
  • Расширяемый охват: возможность рекурсивного тестирования найденных URL

🚀 Быстрый старт

Требования

  • Python 3.8+
  • Ключ API OpenAI
  • Playwright

Установка

# Clone the repository
git clone https://github.com/faizann24/rogue
cd rogue

# Install dependencies
pip install -r requirements.txt

# Set up your OpenAI API key
export OPENAI_API_KEY='your-api-key-here'

Базовое использование

# Basic scan of a single URL
python run.py -u https://example.com

# Advanced scan with subdomain enumeration and URL discovery
python run.py -u https://example.com -e -s -m o3-mini -i 10

# Unlimited plans with contextual intelligence
python run.py -u https://example.com -p -1 -i 5

🛠️ Параметры командной строки

Обязательные параметры

Параметр Описание Пример
-u, --url Целевой URL для тестирования (обязательный) -u https://example.com

Настройка тестирования безопасности

Параметр Описание По умолчанию Пример
-p, --num-plans Количество планов тестирования безопасности на страницу 10 -p 15 (конкретное количество)
-p -1 (без ограничений)
-i, --max-iterations Максимальное количество итераций на один план безопасности 10 -i 5 (быстрое сканирование)
-i 20 (тщательное)
-m, --model LLM-модель для анализа o4-mini -m o3-mini
-m o1-preview

Охват и обнаружение

Параметр Описание По умолчанию Пример
-e, --expand Рекурсивное тестирование найденных URL False -e (включить расширение)
-s, --subdomains Перебор и тестирование поддоменов False -s (включить обнаружение поддоменов)

Вывод и отчёты

Параметр Описание По умолчанию Пример
-o, --output Каталог для результатов сканирования security_results -o my_scan_results

📋 Примеры использования

Быстрая оценка безопасности

# Fast scan with 5 focused plans, 3 iterations each
python run.py -u https://target.com -p 5 -i 3

Комплексный аудит безопасности

# Unlimited plans with contextual CVE intelligence, thorough testing
python run.py -u https://target.com -p -1 -i 10 -e -s

Целевое исследование уязвимостей

# Deep analysis with maximum iterations and scope expansion
python run.py -u https://target.com -p 20 -i 15 -e -m o1-preview

Оценка безопасности поддоменов

# Discover and test all subdomains with moderate depth
python run.py -u https://target.com -s -p 10 -i 7

Пользовательский каталог вывода

# Organize results by target and date
python run.py -u https://target.com -o "results/target_$(date +%Y%m%d)" -p -1

🎯 Режимы тестирования безопасности

Стратегии генерации планов

Ограниченное количество планов (-p <number>) - Генерирует определённое количество целенаправленных планов тестирования безопасности - Лучше всего подходит для: быстрой оценки, тестирования в условиях ограниченного времени - Пример: -p 5 генерирует 5 целевых тестов на уязвимости

Неограниченные планы (-p -1) - Обеспечивает всеобъемлющее покрытие тестами безопасности (15–25+ планов) - Включает контекстные сведения о CVE на основе обнаруженных технологий - Лучше всего подходит для: тщательных аудитов безопасности, исследований, охоты за багбаунти - Пример: -p -1 генерирует планы с максимальным покрытием

Управление итерациями

Быстрое сканирование (-i 3-5) - Быстрое обнаружение уязвимостей - Поверхностное тестирование - Хорошо подходит для первичной разведки

Стандартное сканирование (-i 8-12) - Баланс глубины и скорости - Рекомендуется для большинства сценариев использования - Тщательная проверка находок

Глубокое сканирование (-i 15-20) - Исчерпывающее тестирование каждой уязвимости - Максимальное количество попыток эксплуатации - Лучше всего подходит для критически важных приложений

Выбор модели

o4-mini (по умолчанию) - Быстрая и экономичная


  • Хорошо подходит для тестирования стандартных веб-приложений
  • Сбалансированная производительность и точность

o3-mini - Расширенные возможности логического рассуждения - Лучше подходит для сложных приложений - Улучшенная генерация полезной нагрузки

o1-preview - Продвинутые аналитические возможности - Наилучший выбор для сложных целей - Максимальная точность и глубина анализа

🧠 Дополнительные возможности

Контекстный интеллект

  • Определение технологий: автоматически определяет фреймворки, CMS и библиотеки
  • Интеграция с CVE: загружает релевантные уязвимости из каталога CISA KEV
  • Умное таргетирование: фокусирует тесты на обнаруженных технологиях

Итеративное планирование

  • Управление памятью: сохраняет контекст между итерациями тестирования
  • Адаптивная стратегия: учится на предыдущих попытках
  • Восстановление после сбоев: продолжает тестирование при неудачных эксплойтах

Анализ трафика

  • Мониторинг запросов: перехватывает весь HTTP/HTTPS-трафик
  • Анализ ответов: анализирует ответы сервера на предмет уязвимостей
  • Отслеживание сессий: сохраняет состояние аутентификации

🏗️ Архитектура

Rogue построен на модульной архитектуре, состоящей из нескольких ключевых компонентов:

  • Агент: оркестрирует процесс сканирования и управляет остальными компонентами
  • Планировщик: генерирует интеллектуальные стратегии тестирования с использованием LLM
  • Сканер: отвечает за взаимодействие с веб-страницами и сбор данных
  • Прокси: отслеживает и перехватывает сетевой трафик
  • Генератор отчётов: анализирует находки и создаёт подробные отчёты
  • Инструменты: набор инструментов для тестирования и эксплуатации

📊 Пример отчёта

Отчёты формируются как в текстовом формате, так и в формате markdown и содержат:

  • Краткое резюме
  • Подробные находки с оценкой критичности
  • Технические детали и шаги воспроизведения
  • Доказательства и анализ воздействия
  • Рекомендации по устранению

🔒 Вопросы безопасности

  • Всегда получайте надлежащее разрешение перед тестированием
  • Используйте инструмент ответственно и этично
  • Придерживайтесь лучших практик тестирования безопасности
  • Помните о возможном воздействии на целевые системы

📋 Планы (TODO)

  • [ ] Добавить поддержку моделей Anthropic Claude
  • [ ] Интегрировать возможности vision API для визуального анализа
  • [ ] Прогнать инструмент по отчётам HackerOne, чтобы найти первую уязвимость в реальном мире, обнаруженную с помощью LLM
  • [ ] Реализовать более совершенные алгоритмы планирования
  • [ ] Добавить улучшенные стратегии выполнения и обработку ошибок
  • [ ] Поддержка развёртывания собственных LLM-моделей
  • [ ] Добавить возможности совместного (коллаборативного) тестирования
  • [ ] Улучшить техники перечисления поддоменов
  • [ ] Добавить возможности тестирования безопасности API
  • [x] ~~Добавить базовую документацию и примеры~~

🤝 Вклад в проект

Любой вклад приветствуется! Не стесняйтесь отправлять Pull Request. Для существенных изменений сначала откройте issue, чтобы обсудить, что именно вы хотите изменить.

  1. Сделайте форк репозитория
  2. Создайте ветку для своей функциональности (git checkout -b feature/AmazingFeature)
  3. Закоммитьте изменения (git commit -m 'Add some AmazingFeature')
  4. Отправьте изменения в ветку (git push origin feature/AmazingFeature)
  5. Откройте Pull Request

📝 Лицензия

Этот проект распространяется под лицензией GPL3 — подробности см. в файле LICENSE.

⚠️ Отказ от ответственности

Этот инструмент предназначен для специалистов по безопасности и исследователей. Всегда получайте надлежащее разрешение перед тестированием любых систем, которыми вы не владеете. Авторы не несут ответственности за какое-либо неправомерное использование или ущерб, причинённые этим инструментом.

🙏 Благодарности

  • OpenAI за их мощные языковые модели
  • Playwright за возможности веб-автоматизации
  • Сообществу исследований безопасности за вдохновение и руководство

📧 Контакты

По вопросам, отзывам или проблемам, пожалуйста: - Создайте issue в этом репозитории - Свяжитесь с сопровождающими по адресу [faizann288@gmail.com]


Сделано с ❤️ Файзаном

Войдите, чтобы оставить комментарий