Плагины FunPay Cardinal: как устанавливать безопасно

· 4 мин чтения · MTB Digital

FunPay Cardinal экономит продавцу часы: сам выдаёт товар после оплаты, отвечает на типовые вопросы, поднимает лоты. Плагины добавляют ему новые умения. Но у каждого плагина есть то же, что и у самого Cardinal, — полный доступ к вашему аккаунту FunPay. Разберём, почему это важно и как проверить плагин, прежде чем его ставить.

Что такое плагин Cardinal

Cardinal — программа на Python, исходный код которой опубликован на GitHub; она работает от имени вашего аккаунта FunPay. Для этого в её настройках хранится golden_key — ключ сессии, тот же, что браузер использует, когда вы вошли на сайт. С этим ключом можно делать почти всё, что может владелец аккаунта: читать переписку, менять лоты, отвечать покупателям.

Плагин — это файл с кодом на Python, который Cardinal загружает при запуске. Плагин работает внутри того же процесса и с теми же правами. Отдельной «песочницы» нет: плагин видит настройки, golden_key, токен Telegram-бота для управления, файлы на диске и может отправлять запросы в интернет.

Поэтому установить плагин из непроверенного источника — то же самое, что отдать незнакомцу пароль от аккаунта.

Чем это грозит

  • Кража ключа. Плагин тихо отправляет golden_key на чужой сервер, и злоумышленник входит в ваш аккаунт без пароля.
  • Подмена выдачи. Плагин подменяет товар или реквизиты в автоответах — покупатели получают не то, а претензии приходят вам.
  • Действия от вашего имени. Сообщения покупателям, изменение цен, удаление лотов.
  • Доступ к компьютеру. Код на Python может прочитать и отправить любые файлы, к которым есть доступ у пользователя, от имени которого запущен Cardinal.

Как проверить плагин до установки

Источник. Берите плагины у авторов, которых знаете, и в местах, где видна история версий и отзывы. «Взломанная» версия платного плагина — самый частый способ распространения вредоносного кода.

Читаемый исходник. Плагин — это обычный текст. Откройте файл: если вместо кода нечитаемая каша, длинные строки base64 или файл распространяется только в скомпилированном виде (.pyc), не ставьте его.

Что искать в коде. Не нужно быть программистом, чтобы найти подозрительные места поиском по файлу:

Что искать Почему
requests, aiohttp, urllib, http.client, socket Запросы в интернет. Плагину для Telegram или FunPay они нужны, но адрес должен быть понятен — api.telegram.org, funpay.com, а не случайный домен или IP.
golden_key, _main.cfg, configs Плагину почти никогда не нужно читать ключ и основную конфигурацию напрямую.
exec, eval, compile, marshal, base64.b64decode Выполнение скрытого кода, который в файле не виден.
os.system, subprocess Запуск произвольных команд на компьютере.

Нашли что-то из этого и не понимаете, зачем оно здесь, — спросите автора или покажите код тому, кто разбирается.

Что просит плагин. Если плагину для работы «нужен» ваш пароль, golden_key в отдельном поле или доступ к другим сервисам без понятной причины — это повод остановиться.

Как снизить риск

  • Запускайте Cardinal отдельно. Лучше на отдельном сервере или под отдельным пользователем системы, где нет ваших личных файлов.
  • Ставьте плагины по одному и проверяйте работу после каждого — так проще понять, что сломалось.
  • Держите копию настроек без ключа и обновляйте Cardinal и плагины из тех же проверенных источников.
  • Защитите управление через Telegram. Бот, через который вы управляете Cardinal, не должен быть доступен посторонним.

Если ключ мог утечь

  1. Остановите Cardinal и удалите подозрительный плагин.
  2. Считайте golden_key скомпрометированным: смените пароль FunPay, выйдите из аккаунта во всех браузерах и войдите заново, чтобы получить новый ключ, а старый удалите из настроек Cardinal. Отменяет ли это старый ключ, FunPay публично не описывает, поэтому сразу напишите в поддержку FunPay и попросите завершить все активные сеансы аккаунта.
  3. Проверьте лоты, цены, автоответы и последние сообщения — не изменилось ли что-то без вас.
  4. Если токен Telegram-бота управления лежал рядом, перевыпустите его у @BotFather.

Как работаем мы

Плагины для Cardinal под вашу задачу мы пишем так, чтобы их можно было проверить: исходный код вы получаете целиком, а исключительное право на код, написанный для вас, переходит к вам с приёмкой этапа (пункт 4.7 оферты). Ваш golden_key и пароль от FunPay нам не нужны — плагин вы ставите в свой Cardinal сами, мы помогаем по инструкции. Подробнее — на странице плагинов для FunPay Cardinal.

Ещё статьи