PenTest MCP Server
🏗️ Архитектура
┌──────────────────────────────────────────────────────────┐
│ $ pentest ask --query "scan for SQLi and XSS" \ │
│ --target http://localhost:3000 --consent │
└──────────────────┬───────────────────────────────────────┘
│ Direct Python execution
▼
┌──────────────────────────────────────────────────────────┐
│ GEMINI-POWERED AGENT (Python) │
│ │
│ Phase 1: PLAN → LLM selects tools from query │
│ Phase 2: EXECUTE → Runs tools, collects findings │
│ Phase 3: REPORT → LLM generates professional report │
│ │
│ ┌─────────────┐ ┌──────────────┐ ┌────────────────┐ │
│ │ Session │ │ Scan Mode │ │ Tool │ │
│ │ Manager │ │ Orchestrator│ │ Registry │ │
│ └─────────────┘ └──────┬───────┘ └────────────────┘ │
│ │ │
│ ┌────────────────┼────────────────┐ │
│ ▼ ▼ ▼ │
│ ┌────────────┐ ┌────────────┐ ┌────────────────┐ │
│ │ nmap │ │ sqlmap │ │ ffuf │ │
│ │ nuclei │ │ dalfox │ │ nikto │ │
│ │ sslyze │ │ commix │ │ gobuster │ │
│ │ wafw00f │ │ arjun │ │ subfinder │ │
│ │ ... 30+ │ │ ... │ │ ... │ │
│ └────────────┘ └────────────┘ └────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────┐ │
│ │ GEMINI API │ │
│ │ (Flash Lite) │ │
│ │ Triage · Analysis │ │
│ │ CVSS · Reporting │ │
│ └──────────────────────┘ │
└──────────────────────────────────────────────────────────┘✨ Функции
Функция | Описание |
Интерфейс на естественном языке | Задавайте вопросы по безопасности на обычном английском языке — ИИ выбирает и запускает подходящие инструменты |
3 режима сканирования | Быстрый (5-10 мин), Средний (15-30 мин), Расширенный (45+ мин) — каждый с разной глубиной и анализом ИИ |
30+ инструментов безопасности | nmap, sqlmap, nuclei, ffuf, dalfox, nikto, wafw00f, subfinder, sslyze и другие |
Анализ на базе ИИ | Gemini AI (Flash Lite) выполняет сортировку уязвимостей, оценку CVSS и создает отчеты для руководства |
Автоматический выбор инструментов | Команда |
Управление сессиями | Отслеживание, приостановка и возобновление оценки безопасности для нескольких целей |
Покрытие OWASP Top 10 | Систематическое сканирование, соответствующее категориям OWASP 2021 |
Умные резервные варианты | Если профессиональный инструмент не установлен, его заменяют встроенные реализации на Python |
📋 Содержание
🚀 Быстрый старт
Предварительные требования
Python 3.11+
uv (менеджер пакетов Python)
Gemini API Key (доступен бесплатный уровень)
1. Клонирование и установка
git clone https://github.com/yourusername/pentest-ai-cli
cd pentest-ai-cli
# Install dependencies
uv sync2. Настройка окружения
cp .env.example .envОтредактируйте .env и добавьте свой ключ Gemini API:
GEMINI_API_KEY=your_gemini_api_key_here3. Установка инструментов безопасности (опционально)
Сервер работает с резервными вариантами на Python, но для профессионального сканирования установите внешние инструменты:
# macOS (Homebrew)
brew install nmap sqlmap
# Install ffuf (Go-based fuzzer)
go install github.com/ffuf/ffuf/v2@latest
# Install nuclei (vulnerability scanner)
go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
# Install subfinder (subdomain discovery)
go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latestСовет: Запустите
session_init, чтобы увидеть, какие инструменты обнаружены в вашей системе.
4. Начните сканирование!
pentest ask \
--query "run a quick security scan" \
--target https://example.com \
--consent🎯 Режимы сканирования
Быстрый режим (5-10 минут)
Быстрая сортировка для немедленной оценки рисков.
Тест | Инструмент |
Обнаружение WAF | wafw00f / custom |
DNS-перечисление | dnsrecon / custom |
Сканирование портов (топ 20) | nmap / custom |
Анализ заголовков | custom |
Аудит TLS/SSL | sslyze / custom |
Определение технологий | whatweb / custom |
Поиск конфиденциальных файлов | ffuf / custom |
Средний режим (15-30 минут)
Стандартное тестирование на проникновение, охватывающее OWASP Top 10.
Тест | Инструмент |
Все из Быстрого режима | — |
Сканирование портов (топ 100) | nmap |
XSS-сканирование | dalfox / custom |
SQL-инъекции | sqlmap |
Поиск директорий | ffuf / gobuster |
Неправильная конфигурация CORS | corscanner / custom |
Обход пути (Path Traversal) | custom |
Открытый редирект | custom |
Проверки CSRF | custom |
Расширенный режим (45+ минут)
Комплексная оценка безопасности уровня совета директоров.
Тест | Инструмент |
Все из Среднего режима | — |
Сканирование портов (топ 1000) | nmap / masscan |
Перечисление поддоменов | subfinder / amass |
Продвинутый фаззинг | wfuzz / ffuf |
SSRF-зондирование | custom |
Поиск секретов | trufflehog |
Раскрытие Git | git-dumper |
Анализ JWT | jwt_tool |
Безопасность GraphQL | graphql-cop |
Инъекции команд | commix |
🔧 Поддерживаемые инструменты
Сервер объединяет 30+ инструментов безопасности с автоматическим обнаружением. Если инструмент не установлен, резервные варианты на Python гарантируют, что сканирование все равно будет выполнено.
Инструмент | Категория | Требуется |
nmap | Сканирование портов | Опционально (есть резерв) |
sqlmap | SQL-инъекции | Опционально |
ffuf | Фаззинг / поиск файлов | Опционально (есть резерв) |
nuclei | Сканирование уязвимостей | Опционально |
dalfox | XSS-сканирование | Опционально |
subfinder | Поиск поддоменов | Опционально |
wafw00f | Обнаружение WAF | Опционально (есть резерв) |
sslyze | Аудит TLS/SSL | Опционально (есть резерв) |
nikto | Сканирование веб-серверов | Опционально |
gobuster | Брутфорс директорий | Опционально |
whatweb | Определение технологий | Опционально (есть резерв) |
wfuzz | Продвинутый фаззинг | Опционально |
arjun | Поиск скрытых параметров | Опционально |
testssl | Тестирование SSL/TLS | Опционально |
masscan | Быстрое сканирование портов | Опционально |
amass | OSINT / перечисление поддоменов | Опционально |
dnsrecon | DNS-перечисление | Опционально (есть резерв) |
theHarvester | OSINT по email/доменам | Опционально |
retire.js | Сканирование CVE JS-библиотек | Опционально |
trufflehog | Обнаружение секретов | Опционально |
git-dumper | Раскрытие Git-репозиториев | Опционально |
commix | Инъекции команд | Опционально |
corscanner | Неправильная конфигурация CORS | Опционально (есть резерв) |
jwt_tool | Анализ JWT | Опционально |
graphql-cop | Безопасность GraphQL | Опционально |
xsstrike | Продвинутый XSS | Опционально |
hydra | Брутфорс | Опционально |
shodan | Интернет-разведка | Опционально |
enum4linux-ng | Перечисление SMB | Опционально |
💬 Примеры использования
Команда pentest ask использует Gemini AI для автоматического планирования и выполнения сканирования безопасности на основе запросов на естественном языке.
Быстрое сканирование уязвимостей
pentest ask \
--query "scan for SQL injection and XSS vulnerabilities" \
--target http://localhost:3000 \
--consentПолный аудит OWASP Top 10
pentest ask \
--query "perform a comprehensive OWASP Top 10 security audit" \
--target https://example.com \
--consentТолько разведка
pentest ask \
--query "enumerate subdomains and check for exposed sensitive files" \
--target example.com \
--consentПользовательский путь к отчету
pentest ask \
--query "check security headers and TLS configuration" \
--target https://example.com \
--consent \
--output security-audit-2024.md📖 Полная документация: См. CLI_USAGE_GUIDE.md для подробного руководства по использованию, примеров и устранения неполадок.
📁 Структура проекта
pentest-ai/
├── pentest_mcp/
│ ├── scan_modes.py # Quick/Medium/Extensive scan orchestration
│ ├── agent.py # Standalone CLI orchestrator
│ ├── session.py # Session state management
│ ├── models.py # Pydantic data models
│ ├── config.py # Environment & settings
│ ├── cli.py # CLI interface (includes "ask" command)
│ ├── cli_ui.py # Beautiful CLI UI components
│ ├── tools/
│ │ ├── __init__.py # Python-native security tools
│ │ ├── professional.py # External tool wrappers (nmap, sqlmap, etc.)
│ │ └── tool_registry.py # Tool execution and result processing
│ └── utils/
│ └── sanitizer.py # Input validation & sanitization
├── tests/
│ └── test_system.py # System tests
├── wordlists/ # Fuzzing wordlists for ffuf/gobuster
├── reports/ # Generated scan reports (Markdown)
├── CLI_USAGE_GUIDE.md # Example prompts and detailed usage guide
├── pyproject.toml # Project dependencies & metadata
├── Makefile # Development shortcuts
├── install_tools.sh # Security tool installer script
└── .env.example # Environment variable template⚙️ Конфигурация
Переменные окружения
Переменная | Описание | По умолчанию |
| Ваш ключ Gemini API | Обязательно |
| Модель LLM для анализа |
|
| Макс. токенов ответа |
|
| Температура LLM |
|
| Путь хранения сессий |
|
| Уровень логирования |
|
| Макс. инструментов на |
|
Конвейер анализа ИИ
Каждый режим сканирования использует отдельные промпты Gemini AI, откалиброванные под глубину сканирования:
Быстрый: Краткая сортировка — фокусируется только на критических/высокоопасных находках
Средний: Анализ OWASP Top 10 со сбалансированной оценкой рисков и рекомендациями по исправлению
Расширенный: Сводка для руководства с исчерпывающими находками с оценкой CVSS, сопоставлением с требованиями соответствия и стратегическими рекомендациями
🔍 Устранение неполадок
Ошибка Read-only file system
Отчеты сохраняются в <project_root>/reports/. Убедитесь, что директория проекта доступна для записи.
Ошибки Gemini API
Проверьте свой API-ключ:
echo $GEMINI_API_KEYПроверьте лимиты запросов на aistudio.google.com
Сервер продолжает сканирование, даже если Gemini недоступен — необработанный вывод инструментов все равно возвращается
Инструменты не обнаружены
Установите недостающие инструменты через Homebrew или ваш менеджер пакетов. Резервные варианты на Python покрывают основные функции даже без внешних инструментов.
⚠️ Уведомление о безопасности
Этот инструмент предназначен только для авторизованного тестирования безопасности.
Всегда получайте явное письменное разрешение перед сканированием любой цели
Несанкционированное тестирование нарушает Закон о компьютерном мошенничестве и злоупотреблениях (CFAA), IT Act 2000/2008 и аналогичные законы по всему миру
Параметр
consent_confirmedсуществует как этическая защита — никогда не обходите егоНикогда не коммитьте API-ключи в систему контроля версий
📝 Лицензия
См. LICENSE для получения подробной информации.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MohitSahoo/MCPToolForWebVulnerabilities-'
If you have feedback or need assistance with the MCP directory API, please join our Discord server