AI で脆弱性が見つけやすくなり、アプリのエコシステム全体で攻撃が増えている。Shopify はすべてのアプリ開発者に、セキュリティを最優先にして今週中に対策するよう呼びかけた。あわせてプラットフォーム側の制限も厳しくしていく。
アプリが選ばれる理由は、アプリ自体への信頼と App Store への信頼。
AI で脆弱性を見つけやすくなり、アプリのエコシステム全体で攻撃件数が増えている。
すべてのアプリ開発者に、下の項目を今週中に実施するよう求めている。
AI Toolkit にプロンプトを 1 つ渡すだけで、未認証ルート・ショップをまたいだデータアクセス・未検証の Webhook など Shopify 特有の脆弱性をチェックできる。アーリーアクセスでは、ほとんどのパートナーが気づいていなかった問題を見つけた。
トークンの寿命を短くしておけば、漏れても被害が限られる。近いうちにすべての公開アプリで必須になる予定なので、今から移行を始める。
脆弱性スキャナを使い、アプリのすべてのエンドポイントが守られているかを確かめる。
メタフィールド由来でも自社サーバー由来でも、画面に出すデータは信頼できないものとして扱い、入力をきちんとエスケープ・サニタイズする。
不審なアクティビティがないかを見る。まずはクライアント IP でログを絞り込み、通信のパターンから怪しい送信元を探す。
Partner アカウント・ホスティング・CDN・コードリポジトリ・メールで二段階認証を有効にする。もうアクセスが必要ない人の権限は外す。
Partner Dashboard に登録した緊急用の開発者メールが、すぐに動ける人に届くようにしておく。
Shopify Dev Docs にあるセキュリティのベストプラクティスを読み直し、自分のアプリに当てはめる。
ストアフロントで動くアプリコードに対して、境界(できることの範囲)を厳しくする。
キーが自分のサーバーからしか使えないように、IP アドレス制限を追加する。
App Store に掲載するアプリに求めるセキュリティ要件を厳しくする。
| 問い合わせの種類 | 連絡先 |
|---|---|
| アプリのセキュリティ問題の疑い | すぐに partner-security-reports@shopify.com |
| セキュリティ全般の問い合わせ | 通常 Shopify サポート |
| 項目 | 記事の記載 |
|---|---|
| 開発者への対応期限 | 今週中 8 項目を今週中に実施するよう依頼 |
| 有効期限付きトークンの必須化 | 予告あり 近いうちに全公開アプリで必須。具体的な日付は記載なし |
| ストアフロント境界・IP 制限・App Store 要件 | 事前案内 詳細とスケジュールは適用前に案内。現時点の詳細は記載なし |
| AI Toolkit のチェック対象 | 未認証ルート、ショップをまたいだデータアクセス、未検証の Webhook など |
| AI Toolkit の使い方の詳細 | 「プロンプト 1 つでチェック」とだけある。具体的なプロンプトやセットアップは記載なし |
| 違反時の措置 | 記載なし |
近いうちに全公開アプリで必須になると予告済み。トークンの保存・更新処理を作り直す必要があるため、期限が発表される前に移行を始めておくほうが安全。
AI Toolkit が例に挙げているのは未認証ルート、ショップをまたいだデータアクセス、未検証の Webhook。どれもマルチテナント型アプリで起きやすい典型的な問題。
メタフィールドだけでなく自社サーバーから返るデータも信頼しない前提で扱う、と明記されている。描画する箇所すべてでエスケープ・サニタイズを徹底する。
今後「キーは自分のサーバーからしか使えない」ようになる。どの送信元 IP から Shopify API を呼んでいるかを今のうちに把握しておくと、案内が来たときにすぐ対応できる(仕様の詳細は記載なし)。
Partner アカウント、ホスティング、CDN、コードリポジトリ、メールまで二段階認証の対象に挙げられている。どこか 1 つでも乗っ取られればアプリが改ざんされうるので、退職者や外部委託先の権限削除も含めて見直す。