Обзор

Подключение ИИ-агента

Одна строка для Claude Code, Codex, Copilot или Cursor: агент устанавливает навык ScanSuite и подключается к вашему серверу.

Открыть в Markdown

Это официальная инструкция ScanSuite по подключению ИИ-агента для разработки (Claude Code, OpenAI Codex, GitHub Copilot, Cursor и других) к серверу ScanSuite Teams. Она опубликована по адресу https://scansuite.ru/documentation/agent-setup.md, чтобы агент мог проверить её источник, прежде чем ей следовать. Страница обращается к агенту; человек может прочитать её, чтобы точно знать, что агент сделает.

Подключите ИИ-агента к ScanSuite

Вставьте эту строку в 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 и curlbash --version && curl --versionОбязательно
python3python3 --versionНужен вспомогательным скриптам навыка
Docker — или ничегоdocker versionНеобязательно. Без Docker навык скачивает клиент с сервера и сверяет его SHA-256

Если нет bash, curl или python3, остановись и сообщи об этом. В Windows выполняй всё в WSL или Git Bash.

3. Установка навыка ScanSuite

Навык опубликован в открытом репозитории github.com/cepxeo/scansuite-ci. Используй раздел для своего агента.

Claude Code

Shell
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. Скопируй папку туда, откуда твой агент загружает навыки:

Shell
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. Если файла нет, токен создаёт человек:

Создайте токен для агента и сохраните его в файл в своём терминале, а не в чате агента:

  1. В ScanSuite откройте Команды → Люди → Автоматизация и API-токены. Создайте сервисный аккаунт (роль Оператор), а затем токен для него с набором Конвейер CI. Чтобы агент мог ещё и разбирать уязвимости, выберите Пользовательский набор и добавьте Изменять уязвимости и создавать PoC-эксплойты. Это может сделать только администратор команды.
  2. Скопируйте токен из диалога (он показывается один раз) и выполните в своём терминале: printf '%s' '<TOKEN>' > ~/.scansuite-token && chmod 600 ~/.scansuite-token
  3. Сообщите агенту, что файл на месте.

Если файл есть, но его могут читать другие пользователи (права не -rw-------), выполни chmod 600 ~/.scansuite-token.

5. Сквозная проверка

Из папки навыка, с заданными SCANSUITE_URL и SCANSUITE_TEAM:

Shell
bash scripts/preflight.sh
bash scripts/api.sh GET /products

Preflight выводит версии клиента и сервера, роль, права и срок действия токена, а также все сканеры; те, которые команда запустить не может, помечены NOT AVAILABLE с причиной. Вторая команда выводит продукты команды. Пустой список — это успех: подключение работает, просто у команды ещё нет продуктов.

РезультатЧто это значит
401, токен отклонёнТокен неверный, истёк, отозван или принадлежит другой команде. Preflight выводит, что именно. Новый токен создаёт человек (шаг 4).
403, не хватает правТокен работает, но у него нет права, нужного для вызова; ошибка его называет. Сообщи об этом и не пытайся обойти.
Could not reach the serverПерепроверь шаг 1.
Сканер NOT AVAILABLEЭто не ошибка настройки. Скажи пользователю, какими сканерами он может пользоваться и что администратор команды должен настроить для остальных.

Без пользователя

В CI, в задании по расписанию или при запуске агента без интерфейса шаги для человека выполнить некому. Тогда:

  1. Бери токен из хранилища секретов CI-системы, а не из файла, который пишешь сам. Укажи в SCANSUITE_TOKEN_FILE секрет, который CI-система подключает как файл (например, переменную GitLab типа File), или запускай клиент напрямую с заданной SCANSUITE_TOKEN. Никогда не выводи токен. Если не задано ни то ни другое, остановись и сообщи, что токена нет.
  2. Установи навык, как в шаге 3 (/reload-plugins пропусти: плагин загружается при запуске агента).
  3. Выполни шаг 5 и запиши итоговую таблицу в журнал задания.

Для конвейеров без агента используй клиент напрямую: см. CI/CD и автоматизация.

Отчёт о результате

Сообщи то, что проверил, и ничего больше:

Результат
┌─ Настройка агента ScanSuite ───────────────────────────────────┐
│  ✓ Навык ScanSuite      установлен, загружается в этом агенте  │
│  ✓ Сервер               https://scansuite.example.com доступен │
│  ⚠ Токен                нужен человек: создать токен (шаг 4)   │
│  ✗ Сквозная проверка    ещё не выполнена                       │
└────────────────────────────────────────────────────────────────┘

✓ — проверено, ⚠ — ждёт человека, ✗ — не удалось или не выполнялось. После таблицы для каждой строки, отличной от ✓, назови следующее действие.

Что попросить дальше

Когда все строки отмечены ✓, предложи пользователю одну из этих просьб:

ПромптЧто запускается
Просканируй этот репозиторий и скажи, что из найденного достижимо.Сканирование AI SAST рабочего каталога
Проверь https://staging.example.com на веб-уязвимости.Сканирование DAST; цель должна быть разрешена команде
Покажи открытые критические уязвимости продукта payments.Чтение результатов через API команды

Полное объяснение для людей, в том числе о том, что навык спрашивает перед вмешивающимися или дорогими сканированиями, — в разделе Работа с ИИ-агентами.

Проверено: 2026-10-19