Shopify AI Toolkit と Shopify CLI に、セキュリティチェックの新コマンドが加わった。コード・拡張ポイントの設定・依存関係をスキャンし、該当箇所・深刻度・修正例・関連ドキュメントを返す。オープンソースで公開されている。
shopify app security check が加わった。AI で開発が加速する一方、攻撃者も同じツールを使い、より速く・安くセキュリティの穴を見つけて悪用するようになっている。
Shopify アプリで多い種類の問題をスキャンし、自分のコードの問題を見つけ、直し方のガイドまで出す。
shopify app security check を実行する。問題がある箇所をピンポイントで示す。
どれくらい深刻か、なぜ問題になるのか。
直し方の一例をコードで示す。
パターンと修正方法を説明するリンク。
| 項目 | 記事の記載 |
|---|---|
| アプリ種別 | Public Custom の両方に対応 |
| フレームワーク | 特定フレームワークに依存しない。例として React Router/Rails/Django/Laravel/独自認証が挙げられている |
| 実行場所 | 開発マシン上でローカル実行 |
| 提供形態 | オープンソース(GitHub リポジトリで公開) |
| 料金 | 記載なし |
エージェント経由、または CLI から直接。
深刻度の高い検出結果を優先する。
エージェントと直すか自分で直し、必ず差分を確認。
直ったか確かめる。毎リリースに組み込む。
マーチャントは注文・顧客データ・売上をアプリに預けている。その信頼を守るには、変化する脅威に追随する必要がある。
知らなかった問題が見つかった。具体的には認証の穴と、ストア間でのマーチャントデータ分離の穴。
Shopify の既存のプラットフォーム保護と、開発者自身のレビューを補完するもの。開発の早い段階でより多くの問題を捕まえるのが目的。
| 知りたいこと | 記事の記載 |
|---|---|
| 検出ルールの一覧 | 本文には記載なし(「Shopify app security checks」ガイドを参照とのこと) |
| 深刻度の段階 | Critical と High が出てくる。全段階の定義は記載なし |
| CI への組み込み方 | 記載なし(「毎リリースで実行」の推奨のみ) |
| 必要な CLI のバージョン | 記載なし |
| App Store 審査との関係 | 「申請前に実行できる」とだけあり、審査で必須かどうかは記載なし |
| 料金 | 記載なし |
開発マシン上で動く。コードを外部の SaaS スキャナに送る前提の仕組みではない、と記事からは読み取れる(データの送信先についての詳細は記載なし)。
エージェントがコードを読み、アプリが実際にどう動くかを見る方式。React Router テンプレ以外(Rails/Django/Laravel/独自認証)でも使える。
/shopify ... は入り口にすぎず、中身は shopify app security check。直接叩けばエージェントに渡されるプロンプトとコンテキストが見えるので、挙動を監査しやすい。
Partner の実例で挙がったのは「認証の穴」と「ストア間のデータ分離の穴」。マルチテナント構成のアプリは、ショップ単位のスコープ処理を重点的に見るべき。
ルールは GitHub で公開されているので、何をチェックしているかを自分で確かめられ、改善も出せる。一方で 「clean report ≠ 安全」 と明記されている。SAST/依存関係スキャン/人のレビューを置き換えるのではなく、Shopify 特有のパターンを補う層として位置づけるのが正しい使い方。
shopify app security check を必須項目として入れる。Critical/High がゼロになるまで修正 → 再チェックを回す。