Pentest Swarm AI

Exploitation

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


Установка
brew install Armur-Ai/tap/pentestswarm
go install github.com/Armur-Ai/Pentest-Swarm-AI/cmd/pentestswarm@latest
docker run --rm ghcr.io/armur-ai/pentestswarm:latest --help
показать оригинал переведено ИИ

Pentest Swarm AI — первый инструмент для пентеста с открытым исходным кодом, построенный на основе настоящего роя

Первый инструмент для пентеста с открытым исходным кодом, построенный на основе настоящего роя — а не просто нескольких агентов, работающих по очереди.

Быстрый старт · Рой vs. Мультиагентная система · Как это работает · Сравнение · Дорожная карта

Discord Звёзды Go Лицензия ИИ Статус

Pentest Swarm AI — демонстрация живой кампании

Злоумышленники автоматизируют. Большинство пентестов — нет.

Команды безопасности застряли между сканерами, которые помечают тысячи непроверенных "возможно" и консультантами, которые действительно эксплуатируют уязвимости — но стоят пять знаков и появляются раз в год. Ни то, ни другое не успевает за поверхностью атаки, которая меняется каждый день.

Pentest Swarm AI — единственный пентестер с открытым исходным кодом, построенный на основе настоящего роя. Это не один планировщик LLM, последовательно вызывающий разведку → классификацию → эксплуатацию → отчёт по фиксированной линии — десятки агентов работают с вашей поверхностью одновременно, координируясь через общую стигмергическую доску. Как только появляется находка, она пробуждает того агента, которому она актуальна, поэтому цель с 1000 субдоменами обрабатывается параллельно, на скорости машины. И в отличие от сканера, рой эксплуатирует то, что находит, и доказывает это захваченными доказательствами — а затем составляет отчёт.

Запускайте его на любой модели — Claude, любой совместимой с OpenAI, новых моделях с настройкой на безопасность (Pentest-R1 и волна за ним), или полностью локально через Ollama / LM Studio. Мы не конкурируем с этими моделями — мы та упряжь, которая даёт им руки: реальные инструменты, координацию роя, безопасность области тестирования и отчёты с подтверждёнными доказательствами. Без подключения к сети, без затрат на API и ни одного байта ваших данных не покидает вашу систему.

Только для санкционированного тестирования — см. отказ от ответственности ниже.


Благодарности и источники вдохновения

Этот проект стоит на плечах гигантов. Мы выражаем благодарность и признательность этим проектам за новаторство в области ИИ для наступательной безопасности:

  • PentestGPT — первопроходец, доказавший, что LLM могут проводить пентесты
  • PentAGI — полностью автономная архитектура агентов
  • Strix — ИИ-хакеры, которые находят и исправляют уязвимости
  • CAI — фреймворк ИИ для кибербезопасности, в 3600 раз быстрее человека
  • HackingBuddyGPT — взлом с помощью LLM в 50 строках кода
  • Shannon — белый ящик ИИ-пентестера
  • BlacksmithAI — мультиагентный фреймворк для пентеста
  • PentestAgent — чёрный ящик ИИ-тестирования безопасности

> Их вклад в открытый исходный код сделал возможными такие инструменты, как этот.

Правовое предупреждение: Pentest Swarm AI предназначен исключительно для санкционированного тестирования безопасности, программ поиска уязвимостей (bug bounty), соревнований CTF и образовательных исследований. Перед запуском любого сканирования вы должны получить явное письменное разрешение от владельца целевой системы. Несанкционированный доступ к компьютерным системам является незаконным в соответствии с Законом о компьютерном мошенничестве и злоупотреблениях (CFAA), Законом о неправомерном использовании компьютеров и аналогичными законами по всему миру. Авторы и участники этого проекта не несут ответственности за неправомерное использование, ущерб или любую незаконную деятельность, совершённую с помощью данного инструмента. Используя это программное обеспечение, вы соглашаетесь с тем, что вы несёте полную ответственность за соблюдение всех применимых законов и нормативных актов. Не используйте этот инструмент против систем, которыми вы не владеете или на тестирование которых не имеете явного разрешения.


Что делает это роем?

Большинство инструментов для пентеста с «многоагентной» архитектурой представляют собой единый планировщик LLM, который последовательно передаёт задачи специализированным агентам в фиксированном порядке: разведка → классификация → эксплуатация → отчёт. Это конвейер, а не рой.

Pentest Swarm AI построен на трёх принципах роевого интеллекта:

  • Стигмергия — агенты координируются, читая и записывая результаты на общую доску, а не следуя указаниям центрального планировщика. Феромонный вес находки влияет на поведение других агентов и со временем затухает, поэтому устаревшие пути естественным образом отмирают.
  • Эмерджентность — цепочки атак возникают без предварительного планирования отдельным агентом. Находка разведки активирует классификатор; классификация высокой степени серьёзности будит агента эксплуатации; результаты эксплуатации возвращаются на доску и активируют агента отчёта. Порядок не задаётся заранее — он возникает из состояния доски.
  • Децентрализация — каждый агент работает по собственному условию срабатывания. Добавьте нового агента с его условием — и он присоединится к рою без необходимости переписывать оркестратор.

Мы создали этот инструмент, потому что в данной категории не было ничего подобного. Все инструменты, позиционируемые как «рой», на деле оказывались конвейерами. Если найдёте контрпример — откройте issue, и мы добавим его в сравнительную таблицу.

Подробнее о технических аспектах стигмергии, затухании феромонов, доске на базе PostgreSQL и причинах, по которым мы не стали использовать Google ADK / CrewAI / AutoGen, читайте в IMPLEMENTATION_PLAN.md.


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

Начинайте бесплатно — без API-ключей, облака и счетов.

# install (pick one)
brew install Armur-Ai/tap/pentestswarm                                    # macOS
go install github.com/Armur-Ai/Pentest-Swarm-AI/cmd/pentestswarm@latest    # Go
docker run --rm ghcr.io/armur-ai/pentestswarm:latest --help                # Docker

Посмотрите, как он находит реальную уязвимость за 2 минуты — без цели, без ключа, всё локально. Флаг --lab запускает встроенное уязвимое приложение (OWASP Juice Shop) на вашем компьютере, направляет на него рой и завершает работу после теста. Легально, безопасно, без предварительной настройки:

pentestswarm scan --lab --provider ollama --swarm --follow

Готовы к реальной цели? Та же команда, ваша модель:

# local model — 100% on your box, zero API key
pentestswarm scan <authorized-target> --scope <target> --provider ollama --swarm --follow

# or a cloud model for max quality
export PENTESTSWARM_ORCHESTRATOR_API_KEY=sk-ant-your-key-here
pentestswarm scan <target> --scope <target> --swarm --follow

Одна команда. Ваша модель, ваша инфраструктура, ваши правила. Новичок? Запустите pentestswarm demo, чтобы проиграть всю кампанию офлайн — это GIF выше.

Запускаете в GitHub Actions? Для этого есть готовое действие — см. deploy/github-action/example-workflow.yml.


Как работает рой

Архитектура Pentest Swarm AI — начальное значение попадает на общую доску pgvector, которая по порогу феромонов активирует четыре независимых агента (разведка, классификация, эксплуатация, отчёт); результаты эксплуатации возвращаются и активируют других агентов

Ключевые особенности:

  1. Агенты независимы. Любого из них можно удалить, заменить или добавить без необходимости перенастройки остальных.
  2. Феромоны затухают в зависимости от типа находки. Открытый порт (PORT_OPEN) остаётся «горячим» часами; сессия (SESSION) — минутами. Период полураспада настраивается.
  3. Область действия проверяется на уровне инструмента и повторно на уровне исполнителя. Защита в глубину — флаг --scope обойти невозможно.
  4. Очистка регистрируется до выполнения. SIGINT, сбои и исчерпание бюджета запускают очистку в обратном порядке. См. internal/pipeline/cleanup_memory.go и cleanup.go.
  5. Кэширование промптов на Claude снижает затраты и задержки при повторном использовании системных промптов (включено по умолчанию для разведки и классификатора).

Жизненный цикл феромона — вес находки подскакивает до 1.0 при создании и со временем затухает; при значении выше 0.5 запускается агент эксплуатации, выше 0.2 — классификатор, ниже 0.2 находка считается устаревшей. Разные типы находок затухают с разной скоростью.


Сравнение

Как мы позиционируемся относительно остальной экосистемы. В будущем релизе будут представлены реальные бенчмарки (см. Этап 3.3).

Инструмент Архитектура Выполняет vs. предлагает Память Подключённые инструменты MCP Рой?
Pentest Swarm AI Стигмергическая доска объявлений Выполняет pgvector + феромоны 8 инструментов ProjectDiscovery + nmap; sqlmap / Burp MCP / Metasploit в дорожной карте Да ✅ реальный
PentestGPT Одноагентный ReAct Предлагает Нет Нет встроенных Нет Нет
HackingBuddyGPT Одноагентный Выполняет Логи выполнения Передача команд в оболочку Нет Нет
PentAGI 4 агента + планировщик Выполняет pgvector 40+ через MCP/оболочку Частично Конвейер
Shannon Белый ящик + браузер Выполняет Состояние сессии DOM браузера Нет Конвейер
HexStrike Обёртка MCP для инструментов Делегирует клиентскому LLM Нет (без состояния) 150+ через MCP Да Нет
Pentest-R1 LLM с обучением с подкреплением Выполняет Траектория CTF-область Нет Нет

Если какая-либо информация здесь неверна или устарела, пожалуйста, откройте PR — мы хотим, чтобы эта таблица оставалась честной.


Статус функций

Метки честности: стабильно — выпущено и протестировано, бета — работает, но с шероховатостями, альфа — экспериментально, запланировано — в дорожной карте.

Функция Статус Примечания
Последовательный раннер из 5 фаз стабильно Режим по умолчанию; проверенное ядро
Стигмергический планировщик роя альфа Флаг --swarm; доска объявлений с поддержкой памяти
Инструментарий ProjectDiscovery стабильно subfinder, httpx, nuclei, naabu, katana, dnsx, gau
Адаптер nmap стабильно Парсинг XML; проверка области
Реестр очистки стабильно Всегда запускается при SIGINT / завершении / отмене по бюджету
Кэширование промптов Claude стабильно Включено по умолчанию для разведки и классификатора
Режим --strict для LLM стабильно Превращает ошибки LLM в критические
Оценка CVSS v3.1 стабильно Спецификация FIRST
Бэкенд доски объявлений на PostgreSQL бета Миграция выпущена; раннер пока использует доску в памяти
Сервер MCP бета pentestswarm mcp serve
Расширение для VS Code бета deploy/vscode/
GitHub Action бета deploy/github-action/action.yml с SARIF
Сценарии роя (5) бета playbooks/{bug-bounty,external-asm,ci-cd,internal-network,ctf-solver}.yaml
Живая панель управления альфа web/; интерфейс создан, подключение к активным кампаниям в процессе
Мост Burp MCP запланировано Волна 2
Адаптеры Metasploit / ZAP / sqlmap запланировано Волна 2
Тонко настроенная модель Pentest-Swarm запланировано Волна 3 (рецепт Pentest-R1)
Бенчмарки Cybench / AutoPenBench запланировано Волна 3

CLI

pentestswarm scan <target> --scope <scope>              # Launch the swarm
pentestswarm scan <target> --scope <scope> --swarm      # Use the stigmergic scheduler
pentestswarm scan <target> --scope <scope> --strict     # Fail on LLM errors
pentestswarm campaign watch <id>                        # Live TUI — watch agents work
pentestswarm campaign explore <id>                      # Browse attack surface interactively
pentestswarm playbook run <name> --target <t>           # Run a community playbook
pentestswarm doctor                                     # 8-point system health check
pentestswarm mcp serve                                  # MCP server for Claude/Cursor
pentestswarm serve                                      # Start API server + dashboard

Провайдеры LLM

Все агенты наследуют конфигурацию от одного провайдера. Задайте один ключ — и весь рой будет работать.

Используйте свою модель — мы лишь каркас, а не модель. Новая волна открытых моделей тонко настраивается специально для наступательной безопасности (Pentest-R1 и другие). Pentest Swarm превращает любую из них — будь то передовая модель, или полностью локальная — в действующего пентестера: реальные инструменты, координация роя, контроль области и отчёты на основе доказательств. Модель отвечает за рассуждения; рой выполняет работу.

Один ключ — весь рой: одна конфигурация API-ключа настраивает оркестратор, и все четыре агента наследуют этого провайдера по умолчанию; смените Claude / OrcaRouter / Ollama / LM Studio — и весь рой последует за этим

Провайдер Настройка Конфиденциальность Лучше всего подходит для
Claude (по умолчанию) export PENTESTSWARM_ORCHESTRATOR_API_KEY=... Облако Лучшее качество, нулевая настройка, кэширование промптов
Ollama Установите Ollama + загрузите модели 100% локально Полная конфиденциальность, работа в изолированной сети
LM Studio Загрузите модель, включите сервер 100% локально Управление моделями через GUI
---

| OrcaRouter | export PENTESTSWARM_ORCHESTRATOR_API_KEY=sk-orca-... | Облако | Одна конечная точка для Claude/GPT и других передовых моделей, безопасность на уровне шлюза |


Стек технологий

Компонент Технология Почему
Платформа Go 1.24 Единый бинарный файл, конкурентность через горутины, встроенные инструменты безопасности
CLI Cobra + bubbletea Красивый TUI с многопанельным представлением агентов
LLM Claude API / OrcaRouter / Ollama / LM Studio Лучшее качество в облаке + полная приватность локально
Инструменты безопасности subfinder · httpx · nuclei · naabu · katana · dnsx · gau · nmap Библиотеки ProjectDiscovery на Go + подпроцесс nmap
Доска объявлений Postgres 16 + pgvector Транзакционная запись, векторное сходство, затухание феромонов в SQL
Кэш Redis 7 Ограничение частоты запросов, состояние сеанса
Дашборд Next.js 15 + shadcn/ui + tremor Темная тема по умолчанию, насыщенный графиками
MCP JSON-RPC stdio Интеграция с Claude Desktop + Cursor

Разработка

git clone https://github.com/Armur-Ai/Pentest-Swarm-AI.git
cd Pentest-Swarm-AI
./scripts/setup.sh    # Install tools, start Postgres/Redis/Ollama
make build            # Compile binary
make test             # Run tests
make dev              # Hot-reload development

Пересоздайте демонстрационный GIF после любых изменений в CLI:

brew install vhs      # one-off
vhs docs/demo-flashy.tape

Дорожная карта

Полный поэтапный план см. в IMPLEMENTATION_PLAN.md. Краткая версия:

  • Волна 1 (в процессе): реальная архитектура роя (готово), подключение дашборда, MCP Burp
  • Волна 2: адаптеры sqlmap / Metasploit / ZAP, полировка плейбуков для баг-баунти, ASM и CI/CD, официальный GitHub Action в Marketplace
  • Волна 3: тонко настроенная модель Pentest-Swarm (рецепт Pentest-R1), метрики Cybench / AutoPenBench / CVE-Bench, усиление защиты от отравления памяти агентов (защиты MINJA / MemoryGraft)

Почему "Рой"?

Одиночные агенты — это инструменты. Конвейеры, замаскированные под агентов, — это чуть более изощрённые инструменты. Рой — это нечто иное: агенты делят общую среду, действия каждого агента влияют на поведение других, а полезная работа возникает спонтанно, а не по заранее заданному плану. Именно это позволяет рою справляться с целью из 1000 субдоменов без необходимости составлять план заранее.

Один агент — это инструмент. Рой — это платформа.


Сообщество

Присоединяйтесь к рою в Discord → 🐝

Мы создаём первый настоящий открытый рой для пентеста — присоединяйтесь к нам. В Discord вы можете делиться находками, запрашивать адаптеры инструментов, спорить о стигмергии и затухании феромонов, получать помощь в запуске первого сканирования или взять хороший первый issue и отправить PR. Исследователи, редтимеры и все, кто интересуется безопасностью ИИ, — добро пожаловать.

⭐ Если вы хотите, чтобы настоящий открытый рой существовал, поставьте звезду. Скорость набора звёзд — это топливо, которое поддерживает развитие проекта. Это самое важное, что вы можете сделать за десять секунд.


Лицензия

GNU Affero General Public License v3.0 (AGPL-3.0) — см. LICENSE.

Что это значит для вас

Вариант использования Разрешено?
Запуск Pentest Swarm на собственной инфраструктуре (CI, ноутбук, внутренняя красная команда) ✅ да, без обязательств
Использование в авторизованных программах баг-баунти / пентестах ✅ да, без обязательств
Форк для личных экспериментов ✅ да, без обязательств
Распространение модифицированного бинарного файла ✅ да — необходимо делиться своими изменениями по лицензии AGPL
Запуск модифицированной версии как платного SaaS или сетевого сервиса ✅ да — необходимо делиться своими изменениями по лицензии AGPL

Лицензия AGPL существует специально для того, чтобы закрыть лазейку SaaS-форков: любой, кто улучшает Pentest Swarm и предлагает его на коммерческой основе, должен делиться своими улучшениями с сообществом. Мы сделали его открытым; мы хотим, чтобы он оставался открытым даже при масштабировании.

Если ваш вариант использования не описан в таблице, создайте issue и спросите.

Создано Armur AI.

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