Apps / セキュリティ / 開発者への呼びかけ

Securing your app, together
「今週中に」やってほしいアプリのセキュリティ対策 8 項目

AI で脆弱性が見つけやすくなり、アプリのエコシステム全体で攻撃が増えている。Shopify はすべてのアプリ開発者に、セキュリティを最優先にして今週中に対策するよう呼びかけた。あわせてプラットフォーム側の制限も厳しくしていく。

このページの構成
  1. 何が起きているのか(30秒で理解)
  2. 開発者が今週やるべき 8 つのアクション
  3. アクションの守備範囲マップ
  4. Shopify 側が進める 3 つの強化
  5. セキュリティ問題が起きたときの連絡フロー
  6. 記事に書かれていること/書かれていないこと
  7. 技術者が押さえるべき5つのポイント
  8. 業務に活かせる3つのユースケース
  9. 提案で使える1行サマリ

1何が起きているのか

マーチャントがアプリを入れるのは、そのアプリと Shopify App Store を信頼しているから。その信頼につけ込もうとする攻撃者がいる。
AI で脆弱性を見つけやすくなったことで、業界全体と同じくアプリのエコシステムでも攻撃件数が増えている。
Shopify は「今いちばん大事な取り組みはセキュリティ」として、すべてのアプリ開発者に今週中の対応を求めている。

信頼が前提

アプリが選ばれる理由は、アプリ自体への信頼と App Store への信頼。

攻撃が増えている

AI で脆弱性を見つけやすくなり、アプリのエコシステム全体で攻撃件数が増えている。

今週中に対応を

すべてのアプリ開発者に、下の項目を今週中に実施するよう求めている。

2開発者が今週やるべき 8 つのアクション

1
AI

新しいセキュリティチェックでスキャン

AI Toolkit にプロンプトを 1 つ渡すだけで、未認証ルート・ショップをまたいだデータアクセス・未検証の Webhook など Shopify 特有の脆弱性をチェックできる。アーリーアクセスでは、ほとんどのパートナーが気づいていなかった問題を見つけた。

2

有効期限付きアクセストークンへ移行

トークンの寿命を短くしておけば、漏れても被害が限られる。近いうちにすべての公開アプリで必須になる予定なので、今から移行を始める。

3

脆弱性スキャナで全エンドポイントを確認

脆弱性スキャナを使い、アプリのすべてのエンドポイントが守られているかを確かめる。

4
</>

描画するデータはすべて信頼しない

メタフィールド由来でも自社サーバー由来でも、画面に出すデータは信頼できないものとして扱い、入力をきちんとエスケープ・サニタイズする。

5

Dev Dashboard で API リクエストを確認

不審なアクティビティがないかを見る。まずはクライアント IP でログを絞り込み、通信のパターンから怪しい送信元を探す。

6
2FA

アプリに関わる全アカウントを保護

Partner アカウント・ホスティング・CDN・コードリポジトリ・メールで二段階認証を有効にする。もうアクセスが必要ない人の権限は外す。

7
!

緊急連絡先を最新にする

Partner Dashboard に登録した緊急用の開発者メールが、すぐに動ける人に届くようにしておく。

8

ベストプラクティスを見直して適用

Shopify Dev Docs にあるセキュリティのベストプラクティスを読み直し、自分のアプリに当てはめる。

有効期限付きアクセストークンは「近いうちに全公開アプリで必須」。8 項目のうち、必須化が予告されているのはこれだけ。具体的な期限は記載なし。

3アクションの守備範囲マップ

人・アカウント ⑥ 二段階認証・権限の整理 ⑦ 緊急連絡先を最新に Partner / ホスティング / CDN / リポジトリ / メール アプリのコード ① AI Toolkit でチェック ③ 全エンドポイントをスキャン ④ エスケープ/サニタイズ ⑧ ベストプラクティスで総点検 認証情報 ② 有効期限付き アクセストークン 漏えい時の被害を限定 近く全公開アプリで必須 監視 ⑤ Dev Dashboard API ログ クライアント IP で 絞り込んで 不審な送信元を探す
図の 4 分類は、この解説ページで整理したもの(元記事は 8 項目を並べているだけ)。コードだけでなく「人・アカウント」と「監視」まで含めて対策する点が、この呼びかけの特徴。

4Shopify 側が進める 3 つの強化

ストアフロント

ストアフロント上のアプリコードの境界を厳しく

ストアフロントで動くアプリコードに対して、境界(できることの範囲)を厳しくする。

IP 認証情報

IP アドレス制限

キーが自分のサーバーからしか使えないように、IP アドレス制限を追加する。

App Store

App Store のセキュリティ要件を引き上げ

App Store に掲載するアプリに求めるセキュリティ要件を厳しくする。

変更が適用される前に、内容とスケジュールを事前に案内すると明言している。準備期間は確保される。さらに、安全な開発が「当たり前」になるよう、プラットフォームの保護機能・開発者ツール・ガイダンスへの投資も続ける。

5セキュリティ問題が起きたときの連絡フロー

?! 問題の疑い アプリ開発者 すぐに Shopify へ連絡 partner-security-reports @shopify.com 疑いの段階で連絡 開発者の責任(Shopify が支援) 1. 問題を修正する 2. 影響を受けたマーチャントに知らせる 対応の責任は開発者にある
問い合わせの種類連絡先
アプリのセキュリティ問題の疑いすぐに partner-security-reports@shopify.com
セキュリティ全般の問い合わせ通常 Shopify サポート

6記事に書かれていること/書かれていないこと

項目記事の記載
開発者への対応期限今週中 8 項目を今週中に実施するよう依頼
有効期限付きトークンの必須化予告あり 近いうちに全公開アプリで必須。具体的な日付は記載なし
ストアフロント境界・IP 制限・App Store 要件事前案内 詳細とスケジュールは適用前に案内。現時点の詳細は記載なし
AI Toolkit のチェック対象未認証ルート、ショップをまたいだデータアクセス、未検証の Webhook など
AI Toolkit の使い方の詳細「プロンプト 1 つでチェック」とだけある。具体的なプロンプトやセットアップは記載なし
違反時の措置記載なし

7技術者が押さえるべき5つのポイント

1. 有効期限付きトークンは「必須化前」に移行

近いうちに全公開アプリで必須になると予告済み。トークンの保存・更新処理を作り直す必要があるため、期限が発表される前に移行を始めておくほうが安全。

2. Shopify 特有の 3 つの穴を最初に潰す

AI Toolkit が例に挙げているのは未認証ルート、ショップをまたいだデータアクセス、未検証の Webhook。どれもマルチテナント型アプリで起きやすい典型的な問題。

escape

3. 自社サーバーのデータも「信頼しない」

メタフィールドだけでなく自社サーバーから返るデータも信頼しない前提で扱う、と明記されている。描画する箇所すべてでエスケープ・サニタイズを徹底する。

IP

4. IP 制限を見越してサーバー構成を棚卸し

今後「キーは自分のサーバーからしか使えない」ようになる。どの送信元 IP から Shopify API を呼んでいるかを今のうちに把握しておくと、案内が来たときにすぐ対応できる(仕様の詳細は記載なし)。

2FA

5. コード以外の経路も守る対象

Partner アカウント、ホスティング、CDN、コードリポジトリ、メールまで二段階認証の対象に挙げられている。どこか 1 つでも乗っ取られればアプリが改ざんされうるので、退職者や外部委託先の権限削除も含めて見直す。

8業務に活かせる3つのユースケース

USE CASE 1

自社開発アプリの「今週のセキュリティ総点検」

課題
公開アプリやカスタムアプリを複数運用しているが、セキュリティ点検が属人的で、どこまで対策済みか分からない。
打ち手
8 項目をそのままチェックリストにしてアプリごとに担当を割り当てる。まず AI Toolkit のセキュリティチェックと脆弱性スキャナを回し、見つかったものから直す。
効果
Shopify が求める水準に沿った点検を短期間で済ませられ、見落としていた脆弱性を見つけやすくなる。
技術メモ
Dev Dashboard の API ログはクライアント IP で絞り込み、自社サーバー以外からのリクエストがないかを確認する。
USE CASE 2

必須化を見越した「有効期限付きトークン」への計画的な移行

課題
有効期限のないトークンを前提にした実装が残っている。必須化の期限が発表されてから慌てて改修すると、品質もスケジュールも苦しくなる。
打ち手
トークンを保存・利用している箇所を洗い出し、有効期限付きトークンへの移行を前倒しで計画する。同時に、今後の IP 制限に備えて API を呼び出すサーバーの IP も整理しておく。
効果
トークンが漏れたときの被害が限られ、必須化の案内が来ても余裕を持って対応できる。
技術メモ
移行の具体的な手順・期限・IP 制限の仕様は記事に記載なし。Shopify Dev Docs と今後の案内で確認すること。
! 2FA
USE CASE 3

インシデント対応体制と「アカウント衛生」の整備

課題
Partner Dashboard の緊急連絡先が退職者や使われていないメールのままで、外部委託先にも古い権限が残っている。
打ち手
緊急連絡先を当番が受け取れるアドレスに変える。Partner/ホスティング/CDN/リポジトリ/メールで二段階認証を必須にし、不要な権限を外す。疑いがあれば partner-security-reports@shopify.com へすぐ連絡し、マーチャントにも知らせる手順を文書にしておく。
効果
アカウント乗っ取りを入口にした被害を防ぎやすくなり、問題が起きたときも初動が速くなる。
技術メモ
問題の修正と影響を受けたマーチャントへの連絡は開発者の責任(Shopify は支援する立場)。連絡文のテンプレートを用意しておくとよい。

9提案で使える1行サマリ

「AI で攻撃が増えるなか、Shopify が全アプリ開発者に今週中のセキュリティ総点検を要請。
AI Toolkit でのスキャン・有効期限付きトークンへの移行・二段階認証が柱で、
今後は IP 制限や App Store 要件の引き上げも控えている。今のうちに先回りして対応しておくべき。」