Developer Changelog / Shopify AI Toolkit・CLI

shopify app security check
アプリの「よくある脆弱性」を出荷前にローカルで洗い出す

Shopify AI Toolkit と Shopify CLI に、セキュリティチェックの新コマンドが加わった。コード・拡張ポイントの設定・依存関係をスキャンし、該当箇所・深刻度・修正例・関連ドキュメントを返す。オープンソースで公開されている。

このページの構成
  1. そもそも何が出たのか(30秒で理解)
  2. 仕組み図解 : エージェントに頼んでから修正まで
  3. 何をスキャンし、何が返ってくるか
  4. 推奨される回し方(4ステップ)
  5. なぜ今これが出たのか
  6. 注意点と記載のない項目
  7. 技術者が押さえるべき5つのポイント
  8. 業務に活かせる3つのユースケース
  9. 提案で使える1行サマリ

1そもそも何が出たのか

Shopify AI Toolkit と Shopify CLI に shopify app security check が加わった。
開発マシン上で動き、Shopify アプリでよく見つかる脆弱性パターンを中心にアプリをスキャンする。アプリ申請前と、リリースのたびに回す使い方が想定されている。

背景 : 攻撃側も AI で速くなっている

AI で開発が加速する一方、攻撃者も同じツールを使い、より速く・安くセキュリティの穴を見つけて悪用するようになっている。

打ち手 : 出荷前のチェックを標準装備に

Shopify アプリで多い種類の問題をスキャンし、自分のコードの問題を見つけ、直し方のガイドまで出す。

2仕組み図解 : エージェントに頼んでから修正まで

開発者 /shopify で依頼 コーディング エージェント AI Toolkit 導入済み コードを読む Shopify CLI shopify app security check ローカルで実行 検出結果(finding) 📄 ファイルと行番号 ⚠ 深刻度と影響の理由 ✎ 修正方法のコード例 🔗 関連ドキュメント 修正 → レビュー → 再チェック

エージェントへの依頼文(記事に記載の例)

# 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 スキャナに送る前提の仕組みではない、と記事からは読み取れる(データの送信先についての詳細は記載なし)。

ANY

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 アプリで多い脆弱性パターンを、出荷前に機械的に確認できる。指摘にファイル・行・修正例が付くので、修正の引き継ぎも楽になる。
技術メモ
検出ゼロは保証ではないため、既存のレビューは残す。審査で必須かどうかは記事に記載なし。
店A 店B 店C
USE CASE 2

受託・既存アプリの「認証とテナント分離」健康診断

課題
引き継いだ Custom アプリや、複数ストアで使う Public アプリが Rails/Laravel など独自構成で、認証やショップ単位のデータ分離が正しいか誰も確信を持てない。
打ち手
スタックはそのままでチェックを実行。Partner の実例で見つかった「認証」と「ストア間のデータ分離」系の指摘を優先して潰す。
効果
フレームワークの移行なしで、他ストアのデータが見えるような事故リスクを下げられる。健康診断の結果を顧客への報告材料にも使える。
技術メモ
フレームワーク非依存で、Public/Custom の両方に対応。修正はエージェントに任せてもよいが、差分のレビューは必ず人が行う。
release → check
USE CASE 3

AI で速く作るチームの「リリースごとの定点観測」

課題
コーディングエージェントで実装スピードが上がった結果、リリースの頻度に人手のセキュリティレビューが追いつかない。
打ち手
各リリースのたびにチェックを回し、新しく出た検出をそのリリースの修正対象にする。依存関係もスキャン対象なので、パッケージ更新の後にも回す。
効果
攻撃側も AI で速くなっている中、開発スピードを落とさずにセキュリティの最低ラインを保てる。
技術メモ
CI 連携の公式な手順は記載なし。まずはリリース手順書に「実行して結果を確認する」ステップを足すところから始めるのが現実的。

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

「Shopify 公式のオープンソースのセキュリティチェックを、申請前とリリースごとにローカルで回す。
スタックはそのまま・フレームワークを問わず・指摘には修正例付き。
検出ゼロは保証ではないので、既存のレビューに足す層として入れる。」