
apex v2.3.0-canary.52dcca8a
Тестирование безопасности на проникновение с использованием ИИ и автономных агентов — прямо в вашем терминале.
Pensar Apex
Тестирование на проникновение на базе ИИ с использованием автономных агентов — прямо в вашем терминале. Запускайте blackbox- и whitebox-пентесты, которые исследуют, рассуждают и выявляют реальные уязвимости.
Хотите запускать из облака или интегрировать в свой CI/CD? Смотрите Pensar Console.
Варианты использования
Разработчики
- Запускайте
/pentestперед слиянием PR — находите уязвимости так же естественно, как запускаете тесты - Получайте практические результаты с оценками серьёзности, доказательствами и предложенными исправлениями — для этого не нужен опыт в безопасности
- Интегрируйте в CI/CD с помощью headless CLI-команд или Pensar Console
Инженеры по безопасности
- Разворачивайте роевое тестирование на основе агентов для больших поверхностей атаки
- Используйте режим
/operatorдля ручного исследования, связывания эксплойтов и валидации - Автоматизируйте повторяющиеся рабочие процессы тестирования с помощью постоянной памяти, которая накапливается между проектами
- Масштабируйте работу на команды и проекты через Pensar Console
Установка
| Метод | Команда |
|---|---|
| Быстрая установка (macOS/Linux) | curl -fsSL https://pensarai.com/install.sh | bash |
| Homebrew | brew tap pensarai/tap && brew install apex |
| npm | npm install -g @pensar/apex |
| Windows (PowerShell) | irm https://www.pensarai.com/apex.ps1 | iex |
Использование
Откройте TUI Apex:
pensar
Headless CLI
Запускайте пентесты без TUI для скриптов, CI или интеграции с evalgate:
# Basic pentest
pensar pentest --target https://example.com
# With extended thinking and task-driven mode
pensar pentest --target https://example.com --extended-thinking --task-driven
# Whitebox (with source code access)
pensar pentest --target https://example.com --cwd ./my-app
# Targeted pentest with specific objectives
pensar targeted-pentest --target https://example.com --objective "Test authentication bypass"
| Флаг | Команда | Описание |
|---|---|---|
--target <url> | pentest, targeted-pentest | Целевой URL (обязательно) |
--cwd <path> | pentest | Путь к исходному коду для whitebox-режима |
--mode <mode> | pentest | exfil для пивотинга и извлечения флагов |
--model <model> | pentest, targeted-pentest | ИИ-модель (по умолчанию: выбирается автоматически) |
--extended-thinking | pentest | Включить расширенное мышление для поддерживаемых моделей |
--task-driven | pentest | Включить архитектуру на основе задач (экспериментально) |
--prompt <text|@file> | pentest | Пользовательские инструкции для агента |
--threat-model <text|@file> | pentest | Модель угроз для направления тестирования |
--objective <text> | targeted-pentest | Цель тестирования (можно повторять) |
Логирование
Apex направляет диагностическое/операционное логирование через централизованный структурированный логгер
(src/core/logger). Он записывает однострочный JSON в stderr, когда вывод не является TTY — сохраняя
его отдельно от stdout программы и позволяя легко отправлять его в конвейер логов (например, CloudWatch) —
и красиво оформленный цветной вывод в интерактивном терминале. Пользовательский вывод CLI/TUI остаётся в
stdout.
Установите уровень (от самого подробного к наименее подробному: debug < info < warn < error, по умолчанию info):
pensar pentest --target https://example.com --log-level debug # or --verbose / --quiet
PENSAR_LOG_LEVEL=debug pensar ... # via environment
PENSAR_DEBUG=1 pensar ... # back-compat alias for debug
Порядок разрешения: CLI-флаг → PENSAR_LOG_LEVEL → PENSAR_DEBUG → по умолчанию info.
PENSAR_LOG_FORMAT=json|pretty принудительно задаёт формат вывода. Когда Apex работает как управляемый агент,
PENSAR_LOG_LEVEL передаётся хост-средой.
Трассировка W&B Weave
Передавайте пошаговые трассировки агента в Weights & Biases Weave для анализа и тонкой настройки:
export WANDB_API_KEY=your-key
export WANDB_ENTITY=your-entity
# WANDB_PROJECT defaults to "apex-traces"
pensar pentest --target https://example.com
Трассировки включают шаги рассуждений, вызовы инструментов, использование токенов и контрольные точки состояния. Если учётные данные не заданы, трассировка автоматически отключается.
OpenTelemetry (Наблюдаемость)
Apex генерирует OpenTelemetry-спаны для запусков агента, вызовов LLM и выполнения инструментов через @opentelemetry/api. Спаны являются no-op, если ваш процесс не зарегистрирует OpenTelemetry SDK в качестве глобального провайдера трассировки; Apex не поставляется с SDK.
Зарегистрируйте SDK перед импортом кода Apex:
- Sentry: установите
@sentry/node≥ 9.27 и добавьтеSentry.vercelAIIntegration()в интеграции вашегоSentry.init. - Любой OTel-бэкенд (Honeycomb, Tempo, Datadog и т. д.): зарегистрируйте
@opentelemetry/sdk-nodeс OTLP-экспортёром.
Спаны следуют семантическим конвенциям OTel GenAI. По умолчанию фиксируется только форма спана (модель, количество токенов, задержка, имена инструментов); установите AI_TRACE_RECORD_PAYLOADS=true, чтобы также записывать промпты, ввод/вывод инструментов и результаты.
Контейнер Kali Linux (необязательно)
Для максимальной производительности запускайте Apex во включённом контейнере Kali Linux с предварительно настроенными инструментами для пентеста:
cd container
cp env.example .env # add your API keys
docker compose up --build -d
docker compose exec kali-apex bash
Внутри контейнера запустите:
pensar
⚠️ Ответственное использование
Этот репозиторий содержит инструменты только для авторизованного тестирования безопасности. Перед использованием, пожалуйста, прочитайте и согласитесь с Положением об ответственном использовании.