Подключение ИИ-агента
Одна строка для Claude Code, Codex, Copilot или Cursor: агент устанавливает навык ScanSuite и подключается к вашему серверу.
Это официальная инструкция ScanSuite по подключению ИИ-агента для разработки (Claude Code, OpenAI Codex, GitHub Copilot, Cursor и других) к серверу ScanSuite Teams. Она опубликована по адресу https://scansuite.ru/documentation/agent-setup.md, чтобы агент мог проверить её источник, прежде чем ей следовать. Страница обращается к агенту; человек может прочитать её, чтобы точно знать, что агент сделает.
Вставьте эту строку в Claude Code, Codex, Copilot, Cursor или другой ИИ-агент для разработки. Он установит навык ScanSuite, подключит его к вашему серверу и остановится на шагах, которые можете сделать только вы.
Настрой ScanSuite: загрузи https://scansuite.ru/documentation/agent-setup.md и выполни инструкцииПравила для агента
- Все команды ниже выполняй сам. На шаге, который может выполнить только человек (в Markdown-версии он начинается со слов
Этот шаг выполняет человек:), сделай всё вокруг него, попроси у пользователя только то, что может дать лишь он, и дождись его подтверждения. - Никогда не запускай команды, которые ждут интерактивного ввода.
- Никогда не читай, не выводи и не копируй API-токен. Он лежит в файле, который записывает человек; навык читает его оттуда. Никогда не проси пользователя вставить токен в переписку.
- Любую команду здесь можно безопасно выполнить повторно на машине, где настройка уже прошла.
- Сообщай только то, что проверил (см. Отчёт о результате).
1. Сервер и команда
Нужны два значения. Возьми их из сообщения пользователя (там могут быть оба), из переменных окружения или спроси пользователя.
| Переменная | Значение | Откуда взять |
|---|---|---|
| SCANSUITE_URL | Адрес сервера ScanSuite, например https://scansuite.example.com | Адрес, по которому пользователь входит в ScanSuite |
| SCANSUITE_TEAM | Короткое имя команды, например appsec | «Команды» → «Люди»: диалог нового токена показывает его отдельной строкой |
Проверь, что сервер отвечает:
curl -fsS "$SCANSUITE_URL/ci/version"Ожидается короткий JSON-документ с версией клиента, которую публикует сервер. Если команда не прошла, остановись и сообщи, что сервер недоступен с этой машины (неверный адрес, не подключён VPN или закрытый сертификат: про SCANSUITE_CA_BUNDLE см. CI/CD и автоматизация).
2. Что нужно заранее
| Инструмент | Проверка | Примечания |
|---|---|---|
| bash и curl | bash --version && curl --version | Обязательно |
| python3 | python3 --version | Нужен вспомогательным скриптам навыка |
| Docker — или ничего | docker version | Необязательно. Без Docker навык скачивает клиент с сервера и сверяет его SHA-256 |
Если нет bash, curl или python3, остановись и сообщи об этом. В Windows выполняй всё в WSL или Git Bash.
3. Установка навыка ScanSuite
Навык опубликован в открытом репозитории github.com/cepxeo/scansuite-ci. Используй раздел для своего агента.
Claude Code
claude plugin marketplace add cepxeo/scansuite-ci
claude plugin install scansuite@scansuite-ciПроверка:
claude plugin list | grep -A2 "scansuite@scansuite-ci"Плагин должен быть в списке как включённый (enabled). Если он есть, но выключен, выполни claude plugin enable scansuite@scansuite-ci.
Выполните /reload-plugins в Claude Code, чтобы навык загрузился в этой сессии.
Затем сообщите агенту, что готово.
OpenAI Codex, GitHub Copilot, Cursor и другие агенты
Навык — это папка с файлом SKILL.md. Скопируй папку туда, откуда твой агент загружает навыки:
rm -rf /tmp/scansuite-ci && git clone --depth 1 https://github.com/cepxeo/scansuite-ci /tmp/scansuite-ci
mkdir -p <SKILLS_DIR> && rm -rf <SKILLS_DIR>/scansuite
cp -r /tmp/scansuite-ci/plugins/scansuite/skills/scansuite <SKILLS_DIR>/scansuite| Агент | <SKILLS_DIR> |
|---|---|
| OpenAI Codex | ~/.agents/skills (личные) или .agents/skills в проекте |
| GitHub Copilot | ~/.copilot/skills (личные) или .github/skills в репозитории |
| Агенты, читающие .agents/skills | .agents/skills в проекте; одна копия годится и для Codex, и для Copilot |
| Любой другой агент | Папка навыков, указанная в документации агента. Если агент не умеет загружать навыки, прочитай SKILL.md и следуй ему напрямую. |
Проверка: test -f <SKILLS_DIR>/scansuite/SKILL.md && echo ok выводит ok. Некоторые агенты загружают новые навыки только после перезапуска; если твой из таких, укажи это в отчёте.
4. Подключение к серверу
Навык читает API-токен из ~/.scansuite-token (или из файла, указанного в SCANSUITE_TOKEN_FILE). Сначала проверь, есть ли он уже, не читая его:
test -r ~/.scansuite-token && ls -l ~/.scansuite-token | cut -c1-10Если выводится -rw-------, переходи к шагу 5. Если файла нет, токен создаёт человек:
Создайте токен для агента и сохраните его в файл в своём терминале, а не в чате агента:
- В ScanSuite откройте Команды → Люди → Автоматизация и API-токены. Создайте сервисный аккаунт (роль Оператор), а затем токен для него с набором Конвейер CI. Чтобы агент мог ещё и разбирать уязвимости, выберите Пользовательский набор и добавьте Изменять уязвимости и создавать PoC-эксплойты. Это может сделать только администратор команды.
- Скопируйте токен из диалога (он показывается один раз) и выполните в своём терминале:
printf '%s' '<TOKEN>' > ~/.scansuite-token && chmod 600 ~/.scansuite-token - Сообщите агенту, что файл на месте.
Если файл есть, но его могут читать другие пользователи (права не -rw-------), выполни chmod 600 ~/.scansuite-token.
5. Сквозная проверка
Из папки навыка, с заданными SCANSUITE_URL и SCANSUITE_TEAM:
bash scripts/preflight.sh
bash scripts/api.sh GET /productsPreflight выводит версии клиента и сервера, роль, права и срок действия токена, а также все сканеры; те, которые команда запустить не может, помечены NOT AVAILABLE с причиной. Вторая команда выводит продукты команды. Пустой список — это успех: подключение работает, просто у команды ещё нет продуктов.
| Результат | Что это значит |
|---|---|
| 401, токен отклонён | Токен неверный, истёк, отозван или принадлежит другой команде. Preflight выводит, что именно. Новый токен создаёт человек (шаг 4). |
| 403, не хватает прав | Токен работает, но у него нет права, нужного для вызова; ошибка его называет. Сообщи об этом и не пытайся обойти. |
| Could not reach the server | Перепроверь шаг 1. |
| Сканер NOT AVAILABLE | Это не ошибка настройки. Скажи пользователю, какими сканерами он может пользоваться и что администратор команды должен настроить для остальных. |
Без пользователя
В CI, в задании по расписанию или при запуске агента без интерфейса шаги для человека выполнить некому. Тогда:
- Бери токен из хранилища секретов CI-системы, а не из файла, который пишешь сам. Укажи в
SCANSUITE_TOKEN_FILEсекрет, который CI-система подключает как файл (например, переменную GitLab типа File), или запускай клиент напрямую с заданнойSCANSUITE_TOKEN. Никогда не выводи токен. Если не задано ни то ни другое, остановись и сообщи, что токена нет. - Установи навык, как в шаге 3 (
/reload-pluginsпропусти: плагин загружается при запуске агента). - Выполни шаг 5 и запиши итоговую таблицу в журнал задания.
Для конвейеров без агента используй клиент напрямую: см. CI/CD и автоматизация.
Отчёт о результате
Сообщи то, что проверил, и ничего больше:
┌─ Настройка агента ScanSuite ───────────────────────────────────┐
│ ✓ Навык ScanSuite установлен, загружается в этом агенте │
│ ✓ Сервер https://scansuite.example.com доступен │
│ ⚠ Токен нужен человек: создать токен (шаг 4) │
│ ✗ Сквозная проверка ещё не выполнена │
└────────────────────────────────────────────────────────────────┘✓ — проверено, ⚠ — ждёт человека, ✗ — не удалось или не выполнялось. После таблицы для каждой строки, отличной от ✓, назови следующее действие.
Что попросить дальше
Когда все строки отмечены ✓, предложи пользователю одну из этих просьб:
| Промпт | Что запускается |
|---|---|
| Просканируй этот репозиторий и скажи, что из найденного достижимо. | Сканирование AI SAST рабочего каталога |
| Проверь https://staging.example.com на веб-уязвимости. | Сканирование DAST; цель должна быть разрешена команде |
| Покажи открытые критические уязвимости продукта payments. | Чтение результатов через API команды |
Полное объяснение для людей, в том числе о том, что навык спрашивает перед вмешивающимися или дорогими сканированиями, — в разделе Работа с ИИ-агентами.
Проверено: 2026-10-19