shopify app security check アプリの「よくある脆弱性」を出荷前にローカルで洗い出す
原題: Build with confidence: Shopify AI Toolkit's security check
- Apps
- Shopify CLI
- Shopify AI Toolkit
- Security
- 新機能
- オープンソース
- App Store
- 認証
- 依存関係スキャン
- AIエージェント
図解 : Shopify AI Toolkit のセキュリティチェック(shopify app security check) Developer Changelog / Shopify AI Toolkit・CLI shopify app security check アプリの「よくある脆弱性」を出荷前にローカルで洗い出す Shopify AI Toolkit と Shopify CLI に、セキュリティチェックの新コマンドが加わった。コード・拡張ポイントの設定・依存関係をスキャンし、該当箇所・深刻度・修正例・関連ドキュメントを返す。オープンソースで公開されている。 このページの構成 そもそも何が出たのか(30秒で理解) 仕組み図解 : エージェントに頼んでから修正まで 何をスキャンし、何が返ってくるか 推奨される回し方(4ステップ) なぜ今これが出たのか 注意点と記載のない項目 技術者が押さえるべき5つのポイント 業務に活かせる3つのユースケース 提案で使える1行サマリ 1 そもそも何が出たのか Shopify AI Toolkit と Shopify CLI に shopify app security check が加わった。 開発マシン上で動き 、Shopify アプリでよく見つかる脆弱性パターンを中心にアプリをスキャンする。アプリ申請前と、リリースのたびに回す使い方が想定されている。 背景 : 攻撃側も AI で速くなっている AI で開発が加速する一方、攻撃者も同じツールを使い、より速く・安くセキュリティの穴を見つけて悪用するようになっている。 打ち手 : 出荷前のチェックを標準装備に Shopify アプリで多い種類の問題をスキャンし、自分のコードの問題を見つけ、直し方のガイドまで出す。 2 仕組み図解 : エージェントに頼んでから修正まで エージェントへの依頼文(記事に記載の例) # Shopify AI Toolkit を入れたコーディングエージェントに > /shopify Check my app for common security vulnerabilities この依頼で、エージェントが Shopify CLI 経由で shopify app security check を実行する。 コマンドを直接叩くと、エージェントに渡されるプロンプトとコンテキストを確認できる 。 3 何をスキャンし、何が返ってくるか スキャン対象(3つ) アプリのコードベース 自分で書いたコード 拡張ポイントの設定 アプリの各拡張ポイントにまたがる設定 依存関係 アプリが依存しているパッケージ 1件の検出結果に含まれるもの(4つ) WHERE ファイルと行 問題がある箇所をピンポイントで示す。 SEVERITY 深刻度と理由 どれくらい深刻か、なぜ問題になるのか。 FIX 修正のコード例 直し方の一例をコードで示す。 DOCS 関連ドキュメント パターンと修正方法を説明するリンク。 対応範囲 項目 記事の記載 アプリ種別 Public Custom の両方に対応 フレームワーク 特定フレームワークに依存しない。例として React Router/Rails/Django/Laravel/独自認証が挙げられている 実行場所 開発マシン上でローカル実行 提供形態 オープンソース(GitHub リポジトリで公開) 料金 記載なし 4 推奨される回し方(4ステップ) 1 チェックを実行 エージェント経由、または CLI から直接。 2 Critical / High から着手 深刻度の高い検出結果を優先する。 3 修正して変更をレビュー エージェントと直すか自分で直し、必ず差分を確認。 4 もう一度チェック 直ったか確かめる。毎リリースに組み込む。 タイミングは アプリ申請前 と 毎リリース 。単発の監査ではなく、リリース工程の一部にすることが推奨されている。 5 なぜ今これが出たのか マーチャントの信頼 マーチャントは注文・顧客データ・売上をアプリに預けている。その信頼を守るには、変化する脅威に追随する必要がある。 テストした Partner の実例 知らなかった問題が見つかった。具体的には 認証の穴 と、 ストア間でのマーチャントデータ分離 の穴。 責任は共有 Shopify の既存のプラットフォーム保護と、開発者自身のレビューを補完するもの。開発の早い段階でより多くの問題を捕まえるのが目的。 Partner はコマンドを回してコーディングエージェントと反復することで、 既存のスタックやフレームワークを変えずに セキュリティ水準を上げられたと報告されている。 6 注意点と記載のない項目 検出ゼロでも安全の保証にはならない。 既存のツールやレビューと併用すること、と記事ではっきり書かれている。対象は「よくある脆弱性パターン」が中心。 知りたいこと 記事の記載 検出ルールの一覧 本文には記載なし(「Shopify app security checks」ガイドを参照とのこと) 深刻度の段階 Critical と High が出てくる。全段階の定義は記載なし CI への組み込み方 記載なし(「毎リリースで実行」の推奨のみ) 必要な CLI のバージョン 記載なし App Store 審査との関係 「申請前に実行できる」とだけあり、審査で必須かどうかは記載なし 料金 記載なし フィードバックは Forum へ。改善は オープンソースの GitHub リポジトリに直接コントリビュートできる。あわせて Shopify は既存のセキュリティ対策(「Secure your Shopify app」)も、未対応なら今導入するよう呼びかけている。 7 技術者が押さえるべき5つのポイント 1. ローカル実行 開発マシン上で動く。コードを外部の SaaS スキャナに送る前提の仕組みではない、と記事からは読み取れる(データの送信先についての詳細は記載なし)。 2. フレームワーク非依存 エージェントがコードを読み、アプリが実際にどう動くかを見る方式。React Router テンプレ以外(Rails/Django/Laravel/独自認証)でも使える。 3. 実体は CLI コマンド /shopify ... は入り口にすぎず、中身は shopify app security check 。直接叩けばエージェントに渡されるプロンプトとコンテキストが見えるので、挙動を監査しやすい。 4. 狙いは認証とテナント分離 Partner の実例で挙がったのは「認証の穴」と「ストア間のデータ分離の穴」。マルチテナント構成のアプリは、ショップ単位のスコープ処理を重点的に見るべき。 5. オープンソース+検出ゼロは保証ではない ルールは GitHub で公開されているので、何をチェックしているかを自分で確かめられ、改善も出せる。一方で 「clean report ≠ 安全」 と明記されている。SAST/依存関係スキャン/人のレビューを置き換えるのではなく、 Shopify 特有のパターンを補う層 として位置づけるのが正しい使い方。 8 業務に活かせる3つのユースケース USE CASE 1 App Store 申請前チェックリストの最終ゲートにする 課題 Public アプリの申請直前に、セキュリティ観点の確認が担当者の経験頼みになっていて、抜け漏れが不安。 打ち手 申請前の工程に shopify app security check を必須項目として入れる。Critical/High がゼロになるまで修正 → 再チェックを回す。 効果 Shopify アプリで多い脆弱性パターンを、出荷前に機械的に確認できる。指摘にファイル・行・修正例が付くので、修正の引き継ぎも楽になる。 技術メモ 検出ゼロは保証ではないため、既存のレビューは残す。審査で必須かどうかは記事に記載なし。 USE CASE 2 受託・既存アプリの「認証とテナント分離」健康診断 課題 引き継いだ Custom アプリや、複数ストアで使う Public アプリが Rails/Laravel など独自構成で、認証やショップ単位のデータ分離が正しいか誰も確信を持てない。 打ち手 スタックはそのままでチェックを実行。Partner の実例で見つかった「認証」と「ストア間のデータ分離」系の指摘を優先して潰す。 効果 フレームワークの移行なしで、他ストアのデータが見えるような事故リスクを下げられる。健康診断の結果を顧客への報告材料にも使える。 技術メモ フレームワーク非依存で、Public/Custom の両方に対応。修正はエージェントに任せてもよいが、差分のレビューは必ず人が行う。 USE CASE 3 AI で速く作るチームの「リリースごとの定点観測」 課題 コーディングエージェントで実装スピードが上がった結果、リリースの頻度に人手のセキュリティレビューが追いつかない。 打ち手 各リリースのたびにチェックを回し、新しく出た検出をそのリリースの修正対象にする。依存関係もスキャン対象なので、パッケージ更新の後にも回す。 効果 攻撃側も AI で速くなっている中、開発スピードを落とさずにセキュリティの最低ラインを保てる。 技術メモ CI 連携の公式な手順は記載なし。まずはリリース手順書に「実行して結果を確認する」ステップを足すところから始めるのが現実的。 9 提案で使える1行サマリ 「Shopify 公式のオープンソースのセキュリティチェックを、申請前とリリースごとにローカルで回す。 スタックはそのまま・フレームワークを問わず・指摘には修正例付き。 検出ゼロは保証ではないので、既存のレビューに足す層として入れる。」 source : shopify.dev / changelog / build-more-secure-apps-with-shopify-s-ai-toolkit-security-check published 2026-10-15