Перейти до основного вмісту

Меню команд

Перейдіть на сторінку або пошукайте в каталозі

ШІ-інструменти та скрипти

Перевірка безпеки застосунків Shopify

Перевіряйте застосунки Shopify перед розгортанням: токени та секрети клієнта у файлах, токени Admin у змінних VITE_ або NEXT_PUBLIC_, неперевірені вебхуки та запити app proxy, слабкі перевірки OAuth, вебхуки відповідності, scopes, застарілі версії 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 із signator appProxy, ShopifyApp::WebhookVerification і AppProxyVerification, Registry::process у PHP, старіший Shopify.Webhooks.Registry.process і receiveWebhook у Koa), видає 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: production-конфігурація застосунку, яка не підписана на всі три обов'язкові вебхуки відповідності, хоча застосунок перелічує деякі з них, обробляє один у коді або заявляє розповсюдження через App Store (стандартне значення шаблону, яке зазначається в результаті)
  • H12: обмежені або доступні лише після схвалення scopes: read_all_orders, write_themes, read_users, scopes payment mandate, gateway і session, read_customer_payment_methods, scopes власних контрактів підписки
  • H13: версії API Admin, Storefront або вебхуків, які Shopify більше не підтримує, або нестабільні
  • H14: use_legacy_install_flow = true
  • H15: localhost, тунелі Cloudflare або ngrok чи URL на звичайному http у конфігурації розгорнутого застосунку
  • 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) для агента: тека з файлом 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