Skip to main content
Glama

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

┌──────────────────────────────────────────────────────────┐
│  $ 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 и создает отчеты для руководства

Автоматический выбор инструментов

Команда pentest ask для планирования и выполнения задач с помощью LLM

Управление сессиями

Отслеживание, приостановка и возобновление оценки безопасности для нескольких целей

Покрытие 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 sync

2. Настройка окружения

cp .env.example .env

Отредактируйте .env и добавьте свой ключ Gemini API:

GEMINI_API_KEY=your_gemini_api_key_here

3. Установка инструментов безопасности (опционально)

Сервер работает с резервными вариантами на 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_KEY

Ваш ключ Gemini API

Обязательно

GEMINI_MODEL

Модель LLM для анализа

gemini-flash-lite-latest

GEMINI_MAX_TOKENS

Макс. токенов ответа

8192

GEMINI_TEMPERATURE

Температура LLM

0.2

SESSION_DIR

Путь хранения сессий

~/.pentest-ai/sessions

LOG_LEVEL

Уровень логирования

INFO

AGENT_MAX_TOOLS

Макс. инструментов на pentest ask

10

Конвейер анализа ИИ

Каждый режим сканирования использует отдельные промпты 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 для получения подробной информации.


-
security - not tested
F
license - not found
-
quality - not tested

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