
управление пентестами с открытым исходным кодом, созданное для работы под управлением ИИ-агента
Open-source система управления пентестами, созданная для работы под управлением AI-агента. Подключите её к Claude Code через MCP, и она будет вести взаимодействие вместе с вами: область и активы, наблюдения разведки, покрытие методологии и находки с CVSS и доказательствами.
Создано для тестировщиков, которые хотят скорости агента, не отказываясь от дисциплины реального взаимодействия. Работа не повторяется, находки не исчезают между сессиями, и ничто не попадает в отчёт, что не было доказано.

Полная документация: https://cspf-founder.github.io/red-clippy/
Кодирующие агенты стали по-настоящему полезными тестировщиками. У них есть оболочка, они запускают те же инструменты, что и вы, и быстро покрывают территорию. Наведите один на цель, и он найдёт вещи.
Затем окно контекста заполняется, и взаимодействие исчезает. Следующая сессия повторно сканирует хосты, которые он уже очистил, повторно тестирует то, что уже исключил, и не может сказать вам, какие части области вообще были затронуты. Где-то в транскрипте есть подтверждённая SQL-инъекция, которую никто не записал.
Red Clippy исправляет это, давая агенту две вещи, которых у него нет самостоятельно.
Место для работы. Каждый актив, наблюдение, проверка и находка попадают в базу данных по мере тестирования, а не в буфер прокрутки. Покрытие становится запросом, а не памятью: какие активы существуют, какие проверки очищены на каждом, что уже было сообщено. Завтрашняя сессия подхватывает ровно там, где остановилась последняя.
Правила работы. Документ Red Team Instructions попадает к агенту в рукопожатии MCP, до того как он что-либо сделает: проверяйте перед сообщением, доказывайте каждое утверждение, получайте минимально необходимый доступ для демонстрации воздействия, не трогайте сторонние системы. Переопределите его для каждой организации и каждого взаимодействия, потому что внутренние правила различаются между командами и клиентами.
Вы остаётесь в курсе всё время. Всё, что пишет агент, — это обычная строка в веб-интерфейсе, которую вы можете просмотреть, исправить, переклассифицировать или выбросить.
[!CAUTION] Только авторизованное тестирование. Red Clippy предназначен для пентестеров, работающих в рамках взаимодействия. Тестируйте только системы, которыми вы владеете или на которые имеете явное письменное разрешение на оценку. Маркировка области и Red Team Instructions существуют, чтобы удерживать агента в рамках правил взаимодействия, но это ограждения, а не авторизация. Агент действует от вашего имени, и вы остаётесь ответственными за всё, что он делает.
Скачайте бинарный файл из
последнего релиза и запустите
его. Он настроит базу данных и запустит панель на 127.0.0.1:7337.
Linux
tar xzf red-clippy-*-x86_64-unknown-linux-musl.tar.gz
cd red-clippy-*-x86_64-unknown-linux-musl
./red-clippy serve
Windows
Распакуйте архив, затем из этой папки:
.\red-clippy.exe serve
Откройте http://127.0.0.1:7337, и мастер настройки возьмёт всё на себя.
База данных создаётся в каталоге, где вы запускаете бинарный файл. Загруженные
доказательства также хранятся там, в red-clippy-storage. Оба пути можно
изменить в файле конфигурации, см. Конфигурация.
Предпочитаете скомпилировать самостоятельно? См. Сборка из исходников.
Red Clippy группирует работу в организации. Организация содержит ваши пентесты, и каждый пентест содержит активы, находки и доказательства для этого взаимодействия. Если вы тестируете для одной компании, одной организации достаточно. Если вы консультируете нескольких клиентов, дайте каждому клиенту свою: организация не видит ничего, принадлежащего другой, поэтому их взаимодействия никогда не смешиваются.
У организации два имени. Отображаемое имя («Acme Corp») — это то, что вы
видите в панели, и его можно изменить позже. Слаг (acme) — это короткий
идентификатор в нижнем регистре, используемый в папке доказательств на диске
(red-clippy-storage/org_acme/pentest_PT-2026-08-27/), поэтому он фиксируется после установки.
Вы можете принадлежать к нескольким организациям и переключаться между ними из меню аватара. В каждой из них вы либо владелец, который может добавлять и удалять людей и переименовывать или удалять организацию, либо участник, который работает над взаимодействиями.
При первом запуске база данных пуста, поэтому браузер показывает мастер настройки вместо формы входа. Он запрашивает:
Созданная учётная запись является владельцем этой организации. Мастер появляется только пока в базе данных нет пользователей; как только первая учётная запись существует, он навсегда отключается, поэтому его нельзя использовать для создания дополнительных учётных записей позже.
После настройки управляйте организациями и коллегами в приложении через меню аватара > Организации.
Если никто не может войти, CLI — это путь назад:
red-clippy reset-password --username alice --password 'new-one'
Предполагаемый поток управляется агентом. Вы настраиваете взаимодействие, затем работаете с целью через Claude Code, пока он ведёт учёт.
Вы настраиваете:
Затем агент работает и записывает по ходу:
ingest_tool_output или записывает активы
и наблюдения напрямую.Вы контролируете:
Агент необязателен. Он работает через тот же API, что и панель, поэтому всё, что он записывает, вы также можете ввести, исправить или удалить сами в браузере. Проведите взаимодействие полностью вручную, полностью через агента или переключайтесь между ними по ходу.
Это основной способ использования Red Clippy.
red-clippy mcp покрывает всё приложение: область и активы,
наблюдения, покрытие методологии, находки, доказательства, граф атак и
приём вывода инструментов. Подключённый агент работает над взаимодействием, а не просто
отвечает на вопросы о нём.
При подключении сервер передаёт клиенту документ Red Team Instructions,
операционную доктрину поведения во время тестирования, в рукопожатии MCP,
поэтому он находится в контексте агента до первого вызова инструмента. Он разрешается
сначала по самому конкретному: от переопределения для конкретного взаимодействия, к значению по умолчанию
организации, к встроенному документу. Отредактируйте значение по умолчанию организации в
Настройки > Red Team Instructions или установите переопределение для конкретного взаимодействия
со страницы настроек пентеста. get_instructions перечитывает его по запросу.
Выпустите его в Настройки > API-ключи. Раздел Подключить MCP ниже затем даёт вам готовую к вставке конфигурацию для каждого клиента с этим ключом, URL-адресом этого сервера и путём к самому бинарному файлу, уже заполненными. Ничего подставлять вручную не нужно.
Чтобы создать ключ из CLI вместо этого и вставить его в фрагменты самостоятельно:
red-clippy create-api-key --username alice --org acme --name laptop
# -> rcl_<prefix>_<secret> (показывается один раз, сохраните его сейчас)
claude mcp add red-clippy \
--env RED_CLIPPY_URL=http://127.0.0.1:7337 \
--env RED_CLIPPY_API_KEY=rcl_xxxx_yyyy \
-- /path/to/red-clippy mcp
Имя после add — это только метка, которую показывает Claude Code. Команда после --
— это то, что он фактически запускает, поэтому используйте полный путь к бинарному файлу: Claude Code
не обязательно найдёт red-clippy в своём PATH. Если вы копируете команду из
Подключить MCP в панели, правильный путь уже заполнен.
z.ai предоставляет совместимую с Anthropic конечную точку, поэтому Claude Code может управлять Red Clippy с помощью GLM вместо модели Anthropic.
Добавьте это в настройки Claude Code: .claude/settings.local.json внутри вашей
рабочей папки, чтобы ограничить его одним взаимодействием, или ~/.claude/settings.json, чтобы
применить его везде.
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.z.ai/api/anthropic",
"ANTHROPIC_AUTH_TOKEN": "your-z-ai-api-key",
"ANTHROPIC_API_KEY": "",
"API_TIMEOUT_MS": "3000000",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-5.3",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-5.3",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-5.3",
"ANTHROPIC_SMALL_FAST_MODEL": "glm-5.3",
"CLAUDE_CODE_SUBAGENT_MODEL": "glm-5.3"
}
}
Две вещи для замены:
your-z-ai-api-key на ваш собственный ключ. Предпочитайте локальный для проекта
.claude/settings.local.json, который Claude Code держит вне git, чтобы
ключ не попал в коммит.glm-5.3 на ту модель, которую z.ai предлагает в настоящее время. Названия моделей меняются,
поэтому проверьте
руководство z.ai по Claude Code
для текущей и установите каждую запись на неё.Затем добавьте MCP-сервер точно так же, как выше. Red Clippy не зависит от выбора модели: MCP работает на стороне клиента, поэтому инструменты ведут себя одинаково, какая бы модель ни стояла за агентом.
Согласно конфигурации Codex CLI, в ~/.codex/config.toml:
[mcp_servers.red-clippy]
command = "/path/to/red-clippy"
args = ["mcp"]
env = { RED_CLIPPY_URL = "http://127.0.0.1:7337", RED_CLIPPY_API_KEY = "rcl_xxxx_yyyy" }
red-clippy mcp — это обычный JSON-RPC 2.0 stdio-сервер. Ему нужны две вещи в
его окружении, и он принимает необязательную привязку к взаимодействию:
RED_CLIPPY_URL=http://127.0.0.1:7337 \
RED_CLIPPY_API_KEY=rcl_xxxx_yyyy \
/path/to/red-clippy mcp --pentest PT-2026-Q2-ACME
--pentest привязывает сессию к одному взаимодействию, чтобы агенту не приходилось
называть его при каждом вызове. Запускайте одну запись MCP на активное взаимодействие и переключайте
взаимодействия, переключая серверы.
После подключения вы можете просто спросить: «добавь находку в PT-2026-Q2-ACME: отражённый XSS в /search, высокая критичность, вот PoC».
[!NOTE] Ваш агент и
red-clippy serveработают на одной машине, поэтомуRED_CLIPPY_URLуказывает на127.0.0.1.
Полная поверхность инструментов MCP. Почти полный паритет с веб-интерфейсом, а не подмножество токенов. Агент может создавать и определять область активов, прикреплять наблюдения, отмечать проверки методологии, оформлять и обновлять находки, загружать доказательства, строить рёбра графа и искать по всей организации.
Область, которая остаётся чистой. Активы — это единицы, которые вы фактически тестируете: домены, хосты, URL-адреса, API, мобильные пакеты, IP-диапазоны. Каждый несёт свой собственный чек-лист, маркировку достижимости и флаг в/вне области. Шум разведки (обнаруженные пути, отпечатки технологий, сертификаты, wayback-URL) прикрепляется к активу как наблюдение, а не попадает в список области, и продвигается в актив только тогда, когда заслуживает этого. Без такого разделения один запуск обнаружения контента оставляет список активов непригодным для использования.
Находки вплоть до отчётности. Критичность, CVSS 3.1 со встроенным в форму калькулятором, CWE/CVE, PoC, рекомендации по устранению и файловые доказательства. Панель межвзаимодействий перечисляет каждую находку в организации против её исходного пентеста — это представление, которое нужно для повторного тестирования.
Покрытие, которое можно запрашивать. 135 встроенных проверок, сопоставленных с OWASP WSTG, плюс проверки разведки, сети, облака и OSINT. Сводки сообщают, что было протестировано на каждый актив и каждое взаимодействие, поэтому очищенная территория не тестируется повторно.

Операционная доктрина. Документ Red Team Instructions, передаваемый через MCP и разрешаемый сначала для конкретного взаимодействия, затем для организации, затем встроенное значение по умолчанию.
Приём вывода инструментов. Необработанный вывод сканера отправляется одним вызовом,
что позволяет агенту перемещать результаты из своей собственной оболочки в запись.
Парсеры для nmap, burp, nessus, openvas, masscan, naabu и
subfinder с автоматическим определением формата. Находки, разведка и необработанный вывод попадают
вместе в одну транзакцию.
Граф атак. Свяжите любые два узла свободным отношением, затем обходите соседей или вычисляйте кратчайшие пути атак между ними.
Мультитенантность. Каждая запись принадлежит организации. Один пользователь может принадлежать многим и переключаться без выхода из системы, поэтому данные клиентов остаются разделёнными.
REST API. Ключи носителя с областью организации, та же поверхность, что и всё вышеперечисленное.
Опционально: встроенный запускатель сканирования. Удобство для управления subfinder,
nmap, masscan и naabu со страницы «Сканирование» с возобновляемым
покрытием по целям. Он существует для ручного использования оператором и не является частью
обычного управляемого агентом рабочего процесса, где агент запускает свои собственные инструменты и принимает
вывод.
Документация покрывает всё это экран за экраном, со справочником инструментов MCP, REST API и моделью данных. Этот README покрывает запуск и работу.
Настройки берутся из TOML-файла. red-clippy serve читает ./red-clippy.toml по
умолчанию. Скопируйте пример и отредактируйте:
cp red-clippy.toml.example red-clippy.toml
bind = "127.0.0.1:7337"
database_url = "sqlite://red-clippy.db?mode=rwc"
storage_root = "./red-clippy-storage" # загруженные доказательства живут здесь
max_upload_bytes = 26_214_400 # 25 МиБ
Каждое поле также можно задать флагом CLI или переменной окружения. Приоритет: флаг CLI > переменная окружения > TOML > встроенное значение по умолчанию, для каждого поля.
| Настройка | Флаг CLI | Переменная окружения |
|---|---|---|
bind | --bind | RED_CLIPPY_BIND |
database_url | --database-url | RED_CLIPPY_DATABASE_URL |
storage_root | --storage-root | RED_CLIPPY_STORAGE_ROOT |
max_upload_bytes | --max-upload-bytes | RED_CLIPPY_MAX_UPLOAD_BYTES |
frontend_dist | - | - |
local_open | - | - |
| путь к файлу конфигурации | -c, --config | RED_CLIPPY_CONFIG |
Две настройки только для файлов:
frontend_dist переопределяет собранный SPA. Релизные бинарные файлы встраивают его, поэтому
обычно он не задан; укажите его на каталог, чтобы обслуживать пропатченный пакет без
перекомпиляции.local_open позволяет кнопке «показать в файловом менеджере» на странице «Файлы» выполнять
xdg-open / open / explorer.exe на машине, где работает сервер.
Он поставляется выключенным. Включайте его только когда сервер — это ваш собственный рабочий стол в
вошедшей графической сессии, никогда под systemd или при удалённом обслуживании.Ключ, который он не распознаёт, останавливает запуск с ошибкой, а не игнорируется, поэтому опечатка не может молча оставить вас на значении по умолчанию.
Фильтрация журналов использует RUST_LOG (по умолчанию info,sqlx=warn).
Запустите red-clippy serve --help для полного списка.
[!WARNING] Запускайте локально. Red Clippy привязывается к
127.0.0.1и предназначен для запуска на вашей собственной машине, рядом с агентом, который им управляет. Он не создан для открытого доступа к сети или интернету.
red-clippy serve Запуск веб-интерфейса и REST API
red-clippy mcp Запуск MCP stdio-сервера
red-clippy init-db Применение миграций
red-clippy create-org Создание организации
red-clippy create-user Создание пользователя
red-clippy add-member Добавление пользователя в организацию
red-clippy reset-password Сброс пароля в аварийном режиме
red-clippy create-api-key Выпуск API-ключа
Добавьте --help к любой подкоманде для её флагов.
REST API находится по адресу /api/v1 и аутентифицируется с помощью
Authorization: Bearer rcl_<prefix>_<secret>. Ключи имеют область организации, поэтому ни одна
конечная точка не принимает организацию в своём URL-адресе. Встроенная страница Справка документирует
конечные точки.
git clone https://github.com/CSPF-Founder/red-clippy.git
cd red-clippy
make all
./target/release/red-clippy serve
make all сначала собирает веб-интерфейс, затем компилирует бинарный файл со встроенным
этим пакетом.
[!NOTE] Порядок сборки. React-пакет встраивается во время компиляции. Запуск
cargo build --releaseсам по себе работает, но если интерфейс никогда не был собран, бинарный файл поставляет страницу-заглушку (cargo печатает предупреждение). Сначала запуститеmake frontendили просто используйтеmake all.
Соберите нативно с rustup, инструментами сборки MSVC и установленным Node:
npm --prefix frontend ci
npm --prefix frontend run build
cargo build --release
.\target\release\red-clippy.exe serve
Или кросс-компилируйте с Linux с помощью набора инструментов mingw-w64
(apt install gcc-mingw-w64-x86-64):
rustup target add x86_64-pc-windows-gnu
make frontend
cargo build --release --target x86_64-pc-windows-gnu
# -> target/x86_64-pc-windows-gnu/release/red-clippy.exe
Скопируйте этот единственный .exe на хост Windows и запустите его. Больше ничего
устанавливать не нужно.
make help # список всех целей
make dev # Vite dev-сервер, проксирует /api на работающий бэкенд
make backend-dev # cargo build (debug)
make test # набор тестов Rust
make clippy # линт с предупреждениями как ошибками
make install-hooks # включить pre-commit clippy gate (один раз на клон)
Отладочные сборки читают frontend/dist с диска во время выполнения, а не встраивают
его, поэтому вы можете пересобрать интерфейс без перекомпиляции Rust.
Перед открытием pull request запустите то, что запускает CI: cargo fmt --all --check,
make clippy, make test, make lint и make frontend.
make install-hooks подключает проверки форматирования и линта в pre-commit
хук. См. CONTRIBUTING.md для более полной версии, включая
как добавить парсер.
Увеличьте version в Cargo.toml, затем отправьте соответствующий тег:
git tag -a v0.2.0 -m "v0.2.0"
git push origin v0.2.0
CI собирает статический Linux-бинарный файл и Windows-исполняемый файл, затем публикует оба как GitHub-релиз с контрольными суммами. Тег должен совпадать с версией крейта, иначе сборка завершится ошибкой. Чтобы отрепетировать без публикации, запустите рабочий процесс Release вручную со вкладки Actions: он собирает и загружает архивы как артефакты рабочего процесса и пропускает шаг релиза.
Приветствуются отчёты об ошибках, парсеры для новых инструментов и покрытие MCP — см. CONTRIBUTING.md.
Нашли проблему безопасности? Пожалуйста, сообщите о ней конфиденциально через SECURITY.md, а не открывая issue.
Copyright (C) 2026 Cyber Security & Privacy Foundation
Выпущено под GNU General Public License v3.0. Эта программа поставляется БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; см. лицензию для подробностей.