Перейти к основному содержимому

Меню команд

Перейти на страницу или искать в каталоге

ИИ-инструменты и скрипты

Проверка безопасности приложений Shopify

Проверка приложений Shopify перед развёртыванием: токены и секреты клиента в файлах, Admin-токены в переменных VITE_ или NEXT_PUBLIC_, непроверяемые вебхуки и запросы app proxy, слабые проверки OAuth, вебхуки соответствия требованиям, области доступа, устаревшие версии API.

$5.00

Что вы получите: 1 файл · 58.17 KB · ZIP

Варианты покупки

Описание товара

Маршрут app proxy, который читает logged_in_customer_id, но не проверяет параметр signature, позволяет кому угодно вызвать его напрямую и прочитать баллы, список желаний или заказы другого покупателя. Маршрут вебхука, который не проверяет X-Shopify-Hmac-Sha256, принимает поддельные события orders/create и customers/redact от любого, кто найдёт URL. VITE_SHOPIFY_ADMIN_API_TOKEN отправляет ваш Admin-токен каждому посетителю. Этот навык находит такие ошибки и ещё десять других ошибок в приложениях Shopify до развёртывания и объясняет, как исправить каждую из них.

Ваш агент запускает сканер для shopify.app.toml и shopify.app.*.toml, shopify.extension.toml и shopify.theme.toml, файлов .env, конфигурационных YAML и JSON Shopify (для префиксов токенов), а также кода на JavaScript, TypeScript, Python, Ruby и PHP, в котором упоминается Shopify (шаблоны React Router и Remix, Express, Next.js, Flask, Rails, Laravel). Он знает, что официальные библиотеки проверяют за вас (authenticate.webhook, authenticate.public.appProxy, shopify.webhooks.validate, processWebhooks, validateHmac с подписывающим модулем appProxy, ShopifyApp::WebhookVerification и AppProxyVerification, PHP Registry::process, более старые Shopify.Webhooks.Registry.process и Koa receiveWebhook), выдаёт REVIEW вместо BLOCK, если проверка может находиться в middleware или маршрутизаторе, который он не может прочитать, а при сканировании папки прослеживает проверяющую вспомогательную функцию, определённую в другом файле, независимо от того, вызывается ли она, передаётся как middleware маршрута или используется как декоратор. Он сверяет версии API с 12-месячным окном поддержки Shopify по дате сканирования. Он читает .gitignore, поэтому секрет в файле .env, который игнорируется git, учитывается одной строкой, а не выводится как находка. Комментарии и тестовые файлы пропускаются, ничего не запускается и не отправляется в Shopify. Он возвращает BLOCK, REVIEW или NOT FLAGGED с указанием файла, строки, причины и более безопасного подхода. Токены и секреты никогда не выводятся.

Что проверяется

BLOCK (исправить до выпуска)

  • H01: токены shpat_, shpca_, shppa_, shpss_, shprt_ или shptka_, секреты клиента и Admin-токены или закрытые токены Storefront, записанные в коде, конфигурации или файлах env, которые git закоммитит (в формах JavaScript, TypeScript, Python, Ruby и PHP), включая резервные значения-литералы для переменных окружения
  • H02: файл, который формирует полный путь запроса и обрабатывает вебхуки Shopify, но ничем не проверяет X-Shopify-Hmac-Sha256
  • H03: то же самое для обработчиков app proxy, которые не проверяют параметр signature
  • H04: Admin-токены, закрытые токены Storefront или секрет клиента в переменных, доступных в браузере (NEXT_PUBLIC_, VITE_, PUBLIC_, REACT_APP_, EXPO_PUBLIC_ и другие)

REVIEW (проверить перед релизом)

  • H11: продакшен-конфигурация приложения, которая не подписана на все три обязательных вебхука соответствия требованиям, хотя приложение перечисляет некоторые из них, обрабатывает один из них в коде или объявляет распространение через App Store (значение шаблона по умолчанию, которое указывается в находке)
  • H12: ограниченные или требующие одобрения области доступа: read_all_orders, write_themes, read_users, области для платёжных поручений, шлюзов и сессий, read_customer_payment_methods, области для собственных договоров подписки
  • H13: версии Admin API, Storefront API или API вебхуков, которые Shopify больше не поддерживает, либо версия unstable
  • H14: use_legacy_install_flow = true
  • H15: localhost, туннели Cloudflare или ngrok либо обычные http URL в конфигурации развёрнутого приложения
  • H16: обработчики вебхуков или app proxy, проверка подписи которых, если она есть, находится в middleware, маршрутизаторе или вспомогательной функции, которые сканер не может отследить
  • H17: самописные проверки HMAC, которые сравнивают через == или подписывают повторно сериализованный JSON вместо исходного тела запроса
  • H18: самописные обработчики обратного вызова OAuth без видимой проверки hmac, nonce в state или привязанной проверки домена магазина (запросы client credentials, token exchange и refresh-token не затрагиваются)
  • H19: устаревшие script tags (write_script_tags, scriptTagCreate, scriptTagUpdate, REST ScriptTag)

Что входит в комплект

  • Сканер (Python 3.9+, только стандартная библиотека)
  • Руководство по правилам с причиной, более безопасным подходом и ссылкой на документацию Shopify для каждого правила
  • Рискованный и безопасный примеры приложения Shopify (конфигурация приложения, конфигурация расширения, серверный файл React Router, бэкенд на Express, маршрутизатор, вспомогательная функция и файл env), а также реальный отчёт сканера по рискованному примеру

Ограничения

Сканер читает каждый файл в том виде, в каком он записан: настройки, сделанные в Dev Dashboard или Partner Dashboard, значения окружения, а также middleware и вспомогательные функции за пределами проверяемой папки не учитываются. Код, в котором не упоминаются Shopify, заголовок Shopify или logged_in_customer_id, не читается. Файлы тем Liquid и приложения на Go или Java не проверяются, а файлы YAML и JSON читаются только для поиска префиксов токенов. По файлам невозможно узнать, опубликовано ли приложение в App Store, поэтому для проверки соответствия нужны признаки в самом проекте. Результаты по версиям API меняются по мере того, как Shopify прекращает их поддержку. NOT FLAGGED не является гарантией.

Содержимое

Один ZIP-файл с 25 файлами: SKILL.md, сканер в scripts/ (8 файлов Python), references/rules.md (каждое правило с причиной и более безопасным подходом) и examples/ (14 файлов примеров плюс report.md, реальный вывод сканера для рискованного примера).

Как использовать: Это навык для агента: папка с файлом SKILL.md и скриптами на Python, которые может запускать ИИ-агент для программирования, например Claude Code, Cursor или Codex CLI. Распакуйте архив в папку навыков вашего агента (для Claude Code: ~/.claude/skills/), затем попросите агента проверить ваш проект. Скрипты работают и самостоятельно на Python 3.9 или новее, ничего устанавливать не нужно. Они только читают ваши файлы: никакого доступа к сети, ничего никуда не отправляется.

Что вы получите

1 файл · 58.17 KB

  • shopify-app-safety-check-1.0.0.zipZIP · 58.17 KB
ЛицензияКоммерческое использование разрешено
Проверка пакетаПройдена

Getly открыл загруженные файлы и не нашёл ничего, что помешало бы их открыть. Это не проверка на вирусы и не оценка качества.

Опубликовано12 нояб. 2026 г.
Размер файла58.17 KB
Формат файлаZIP
Версияv1.0

Теги

shopifyecommercewebhooksoauthsecurityai agent skill
R
RR HH

Частые вопросы

Доступ открывается сразу?

Да. Это цифровой товар - скачать его можно сразу после оплаты, прямо из своей библиотеки.

Можно ли использовать в коммерческих проектах?

Да. Коммерческое использование разрешено: в своём бизнесе и в том, что вы продаёте. Перепродавать и распространять сам файл нельзя.

Какие условия возврата?

Запросить возврат можно в течение 30 дней. Если что-то не так, оформите заявку в своём заказе - её рассмотрит команда Getly.

Какие форматы и размеры файлов я получу?

Вы скачаете 1 файл - ZIP - всего 58.17 KB.

Обновления бесплатны?

Да - когда продавец выпускает новую версию, вы можете бесплатно скачать актуальные файлы из своей библиотеки. Последние изменения смотрите в истории версий.

Цена

$5.00