Outils et scripts IA
Vérification de sécurité des applications Shopify
Vérifiez vos applications Shopify avant de déployer : jetons et secrets clients dans les fichiers, jetons Admin dans des variables VITE_ ou NEXT_PUBLIC_, webhooks et requêtes d'app proxy non vérifiés, contrôles OAuth faibles, webhooks de conformité, scopes, versions d'API retirées.
Ce que vous recevez : 1 fichier · 58.17 KB · ZIP
Voir les options d'achatDescription du produit
Une route d'app proxy qui lit logged_in_customer_id mais ne vérifie jamais le paramètre signature permet à n'importe qui de l'appeler directement et de lire les points, la liste de souhaits ou les commandes d'un autre client. Une route de webhook qui ne vérifie jamais X-Shopify-Hmac-Sha256 accepte de faux événements orders/create et customers/redact de toute personne qui trouve l'URL. Un VITE_SHOPIFY_ADMIN_API_TOKEN livre votre jeton Admin à chaque visiteur. Ce skill détecte ces erreurs et dix autres erreurs d'applications Shopify avant votre déploiement, et vous indique comment corriger chacune d'elles.
Votre agent exécute un scanner sur shopify.app.toml et shopify.app.*.toml, shopify.extension.toml et shopify.theme.toml, les fichiers .env, les YAML et JSON de configuration Shopify (pour les préfixes de jetons), ainsi que le code JavaScript, TypeScript, Python, Ruby et PHP qui mentionne Shopify (templates React Router et Remix, Express, Next.js, Flask, Rails, Laravel). Il sait ce que les bibliothèques officielles vérifient pour vous (authenticate.webhook, authenticate.public.appProxy, shopify.webhooks.validate, processWebhooks, validateHmac avec le signator appProxy, ShopifyApp::WebhookVerification et AppProxyVerification, Registry::process en PHP, l'ancien Shopify.Webhooks.Registry.process et receiveWebhook de Koa), indique REVIEW au lieu de BLOCK lorsqu'une vérification peut se trouver dans un middleware ou un routeur qu'il ne peut pas lire, et, lors de l'analyse d'un dossier, suit une fonction utilitaire de vérification définie dans un autre fichier, qu'elle soit appelée, passée comme middleware de route ou utilisée comme décorateur. Il vérifie les versions d'API par rapport à la fenêtre de support de 12 mois de Shopify en utilisant la date de l'analyse. Il lit .gitignore : un secret dans un fichier .env ignoré par git est donc compté sur une ligne au lieu d'être signalé. Les commentaires et les fichiers de test sont ignorés, et rien n'est exécuté ni envoyé à Shopify. Il renvoie BLOCK, REVIEW ou NOT FLAGGED, avec le fichier, la ligne, la raison et une approche plus sûre. Les jetons et les secrets ne sont jamais affichés.
Ce qu'il vérifie
BLOCK (à corriger avant la mise en production)
- H01 : jetons shpat_, shpca_, shppa_, shpss_, shprt_ ou shptka_, secrets clients et jetons Admin ou Storefront privés écrits dans du code, de la configuration ou des fichiers env que git committerait (formes JavaScript, TypeScript, Python, Ruby et PHP), y compris les valeurs de repli en clair pour les variables d'environnement
- H02 : un fichier qui construit tout le chemin de la requête et traite les webhooks Shopify sans rien qui vérifie X-Shopify-Hmac-Sha256
- H03 : la même chose pour les gestionnaires d'app proxy qui ne vérifient jamais le paramètre signature
- H04 : jetons Admin, jetons Storefront privés ou secret client dans des variables exposées au navigateur (NEXT_PUBLIC_, VITE_, PUBLIC_, REACT_APP_, EXPO_PUBLIC_ et autres)
REVIEW (à vérifier avant la publication)
- H11 : une configuration d'application de production qui ne s'abonne pas aux trois webhooks de conformité obligatoires alors que l'application en liste certains, en traite un dans le code ou déclare une distribution via l'App Store (la valeur par défaut du template, que le résultat nomme)
- H12 : scopes restreints ou soumis à approbation : read_all_orders, write_themes, read_users, scopes payment mandate, gateway et session, read_customer_payment_methods, scopes de contrats d'abonnement propres
- H13 : versions d'API Admin, Storefront ou webhook que Shopify ne prend plus en charge, ou instables
- H14 : use_legacy_install_flow = true
- H15 : URL localhost, tunnels Cloudflare ou ngrok, ou URL en http simple dans une configuration d'application déployée
- H16 : gestionnaires de webhook ou d'app proxy dont la vérification de signature, si elle existe, se trouve dans un middleware, un routeur ou une fonction utilitaire que l'analyse ne peut pas suivre
- H17 : vérifications HMAC faites à la main qui comparent avec == ou signent du JSON re-sérialisé au lieu du corps brut
- H18 : callbacks OAuth faits à la main sans vérification visible du hmac, du nonce state ou du domaine de boutique ancré (les requêtes client credentials, token exchange et refresh-token ne sont pas concernées)
- H19 : script tags obsolètes (write_script_tags, scriptTagCreate, scriptTagUpdate, REST ScriptTag)
Ce qui est inclus
- Le scanner (Python 3.9+, bibliothèque standard uniquement)
- Un guide des règles avec la raison, l'approche plus sûre et un lien vers la documentation Shopify pour chaque règle
- Un exemple d'application Shopify à risque et un exemple sûr (configuration de l'application, configuration de l'extension, fichier serveur React Router, backend Express, routeur, fonction utilitaire et fichier env), ainsi que le rapport réel produit par le scanner sur l'exemple à risque
Limites
Il lit chaque fichier tel qu'il est écrit : les paramètres définis dans le Dev Dashboard ou le Partner Dashboard, les valeurs d'environnement et les middlewares ou fonctions utilitaires hors du dossier analysé ne sont pas vus. Le code qui ne nomme jamais Shopify, un en-tête Shopify ou logged_in_customer_id n'est pas lu. Les fichiers de thème Liquid et les applications Go ou Java ne sont pas vérifiés, et les fichiers YAML ou JSON ne sont lus que pour les préfixes de jetons. On ne peut pas savoir à partir des fichiers si une application est listée sur l'App Store : la vérification de conformité a donc besoin d'indices provenant du projet. Les résultats concernant les versions d'API changent à mesure que Shopify les retire. NOT FLAGGED n'est pas une garantie.
Contenu
Un fichier ZIP contenant 25 fichiers : SKILL.md, le scanner dans scripts/ (8 fichiers Python), references/rules.md (chaque règle avec sa raison et l'approche plus sûre), et examples/ (14 fichiers d'exemple plus report.md, la sortie réelle du scanner sur l'exemple à risque).
Mode d'emploi : Il s'agit d'un skill d'agent : un dossier contenant un fichier SKILL.md et des scripts Python qu'un agent de codage IA comme Claude Code, Cursor ou Codex CLI peut exécuter. Décompressez-le dans le dossier des skills de votre agent (pour Claude Code : ~/.claude/skills/), puis demandez à votre agent de vérifier votre projet. Les scripts fonctionnent aussi seuls avec Python 3.9 ou plus récent, sans rien à installer. Ils se contentent de lire vos fichiers : aucun accès réseau, et rien n'est envoyé nulle part.
Ce que vous recevez
1 fichier · 58.17 KB
- shopify-app-safety-check-1.0.0.zipZIP · 58.17 KB
Outils et scripts IA
Vérification de sécurité des applications Shopify
Vérifiez vos applications Shopify avant de déployer : jetons et secrets clients dans les fichiers, jetons Admin dans des variables VITE_ ou NEXT_PUBLIC_, webhooks et requêtes d'app proxy non vérifiés, contrôles OAuth faibles, webhooks de conformité, scopes, versions d'API retirées.
Getly a ouvert les fichiers envoyés et n'a rien trouvé qui empêche leur ouverture. Ce n'est ni une analyse antivirus ni une note de qualité.
Tags
Questions fréquentes
Ai-je accès au produit immédiatement ?
Oui. C'est un produit numérique : vous pouvez le télécharger juste après le paiement, directement depuis votre bibliothèque.
Puis-je l'utiliser pour des projets commerciaux ?
Oui. L'usage commercial est autorisé : utilisez-le dans votre propre activité et dans ce que vous vendez. Vous ne pouvez pas revendre ni redistribuer le fichier lui-même.
Quelle est votre politique de remboursement ?
Vous pouvez demander un remboursement dans un délai de 30 jours. Si quelque chose ne va pas, demandez-le depuis votre commande et l'équipe Getly l'examine.
Quels formats et quelles tailles de fichier vais-je recevoir ?
Vous téléchargerez 1 fichier - ZIP - 58.17 KB au total.
Ai-je droit aux mises à jour gratuites ?
Oui : quand le vendeur publie une nouvelle version, vous pouvez retélécharger les derniers fichiers depuis votre bibliothèque sans frais. Consultez le journal des modifications pour les dernières mises à jour.
Prix
$5.00



