“Shopify 安全吗?”这个问题问得并不对。更好的问题是:Shopify 替你保护了哪些部分,哪些部分仍然由你负责? Shopify 管理云基础设施、结账引擎和核心支付流程。而员工、应用以及运行在店铺前台上的代码,由你来选择。大多数安全事件都发生在第二类里。
本指南从管理后台登录到最终结账,逐层拆解 Shopify 内置的安全机制,并为每项功能链接到官方文档。
- 结账页面锁定得很严。 Shopify 已经淘汰了 checkout.liquid 和旧版 script 标签,现在所有结账自定义都通过沙盒化的扩展运行。
- 应用默认拥有的权限更少。 平台强制使用短期令牌、明确的权限范围,并对客户数据实施严格的保护措施。
- Shopify 在平台层面进行干预。 在 2026 年 10 月的应用劫持事件之后,店铺前台开始在把买家带到可疑的外部网站之前发出提醒。
- Shopify 无法替你管理的事项: 审核应用开发者、审计员工权限,以及保护你在其他地方导出的私有 API 令牌。
概念插图:Shopify 围绕管理后台、应用、店铺前台和结账的多层保护。
示意图:四个层级,下文逐一说明,并附上 Shopify 官方文档链接。
属于主题中心的一部分浏览 Shopify 安全专题中心 →
1. 管理员和员工:更强的登录保护
账户被接管通常从登录页面开始。Shopify 通过多项控制措施,防止未经授权的用户进入你的后台:
- 使用 Shopify Payments 的商家必须启用两步验证。支持的方式包括通行密钥、实体安全密钥和身份验证器应用。Shopify 已不再允许新建基于短信的验证。
- Shopify Plus 组织可以为公司内的每位用户强制执行安全登录。
- Shopify 的 AI 助手 Sidekick 会遵守现有的员工权限。Shopify 表示,团队成员只能与其获授权使用的数据和功能进行交互。
你的责任: 为每位团队成员分配独立账户,并授予所需的最小权限;员工离职后,及时将其移除。
2. 应用:默认给予更少的信任
第三方应用会把外部代码引入你的业务,因此它们是主要的攻击入口。Shopify 一直在逐步收窄应用能够看到和执行的操作范围:
- 令牌交换。 嵌入式应用从 Shopify 获得一个短期有效的签名 ID 令牌,再将其交换为访问令牌,从而取代了旧的基于重定向的安装流程。
- 访问权限范围。 每个应用都必须声明它读取或修改哪些数据。你在安装时会审阅并批准这份清单。
- 受保护的客户数据。 请求客户数据的应用必须遵守平台要求,包括数据最小化、加密和保留期限限制。处理姓名、地址、电话号码或电子邮件的应用还需通过更严格的第二级要求:加密备份、测试数据隔离、员工访问限制、访问日志,以及有文档记录的事件响应政策。
- 强制性的隐私 Webhook。 每个公开应用都必须支持客户数据请求和删除请求,并且必须拒绝任何签名不匹配的传入负载。
- 点击劫持防护。 应用必须发送
frame-ancestors响应头,使其他网站无法将其管理页面嵌入框架中。
局限: 这些规则控制的是应用通过 Shopify API 被允许执行的操作。它们无法完全控制应用自身服务器向你的店铺前台发送的内容。2026 年 10 月的事件正说明了这一漏洞。
3. 店铺前台:减少代码注入的途径
店铺前台上的每一个脚本都直接在你的顾客浏览器中运行。Shopify 通过结构化的扩展点,尽量减少恶意代码的执行:
- 主题应用扩展和应用嵌入允许应用在不修改主题文件的情况下添加功能。当你卸载某个应用时,它的脚本块会自动停止加载。
- 重定向保护(2026 年 10 月)。 店铺前台现在会在把买家重定向到外部网站之前发出提醒。10 月 23 日的更新之后,Shopify 识别为恶意的网站链接会被阻止,可疑目标则需要买家确认,正常链接则一如既往地可以访问。
真实观察:Shopify 变更日志条目,于 2026 年 10 月 20 日发布,并于 2026 年 10 月 23 日更新。
- Shopify Functions 在隔离的沙盒中执行自定义的折扣、运费和支付逻辑,并受到指令数、内存和输入负载大小的严格限制。外部网络访问仅保留给 Enterprise 套餐中的自定义应用。
4. 结账与支付:防护最严密的区域
结账环节处理支付信息和客户身份,因此是整个平台中防护最严密的区域:
- checkout.liquid 已停用。 Shopify 于 2025 年 8 月对 Plus 店铺停用了“感谢”页面和订单状态页面的旧版布局文件。这些页面上的 script 标签已于 2026 年 8 月 26 日对非 Plus 店铺停止生效。现在所有结账修改都通过 Checkout Extensibility 完成。
- Web 像素在沙盒中运行。 应用像素在“strict”沙盒中运行,无法访问页面。自定义像素在“lax”沙盒化 iframe 中运行,无法触及顶层页面。跟踪代码不能再读取银行卡字段。
- 3D Secure 会自动应用于欧洲经济区的银行卡支付,以满足 PSD2 规则。
- Shopify Protect(美国,使用 Shopify Payments 和 Shop Pay)会为符合条件的欺诈性拒付承担订单金额和拒付手续费,前提是订单在 7 天内附带物流单号发货。
- 结账环节的机器人防护(Plus、在线商店)使用 reCAPTCHA 或 hCaptcha 等挑战验证。Shopify 将其描述为限量发售时的公平性工具,而不是反欺诈产品。
5. 人:漏洞赏金计划
自动化工具能发现常规漏洞,但 Shopify 也资助众包研究,以便在攻击者利用之前找出复杂的漏洞。其公开的漏洞赏金页面列出了最高 200,000 美元的赏金,以及累计支付超过 1,020 万美元(统计数据更新于 2026 年 11 月)。
真实观察:Shopify 漏洞赏金页面,截取于 2026 年 11 月 4 日。
6. AI 代理:新规则正在制定中
自主软件开始浏览和购买,Shopify 也在为 AI 购物流量划定边界。通过原生代理工具以及 2026 年 1 月与 Google 共同宣布的通用商务协议(Universal Commerce Protocol),Shopify 正在设定清晰的运营规则。Shopify 的代理文档要求代理使用签名请求进行身份标识,并通过信任等级决定速率限制,以及代理可以执行哪些操作(包括完成结账)。这一领域还很新,并将快速变化。
7. 取舍:Shopify 的保护止步于何处
保障电商店铺安全是一种共同责任:Shopify 保护平台基础设施,但店铺配置仍掌握在你手中。
| 领域 | Shopify 负责的部分 | 仍需你负责的部分 |
|---|---|---|
| 服务器、正常运行时间、结账的 PCI 合规 | 是 | — |
| 员工登录 | 工具(2FA、通行密钥) | 启用它们,删除旧账户 |
| 应用 | 审核规则、权限范围、沙盒 | 选择供应商,移除未使用的应用 |
| 店铺前台代码 | 重定向警告、应用嵌入 | 你或代理商添加的自定义代码 |
| API 令牌 | 面向应用的短期令牌 | 你的自定义应用和代理商所用的令牌 |
有一处缺口值得留意:在各类配置中,我们没有找到任何官方 Shopify 页面明确说明支付页面脚本的 PCI DSS 要求(6.4.3 和 11.6.1)由谁负责。如果你需要 PCI 合规证明,请直接向 Shopify 和你的支付服务商询问,不要想当然。
8. 检查清单
- 要求每个员工账户使用通行密钥或实体安全密钥。
- 在 设置 → 应用和销售渠道 下检查已授予的应用权限范围,对超出其角色所需权限的应用提出质疑。
- 确认你的店铺没有依赖已停用功能的旧版结账脚本。
- 如果你通过 Shopify Payments 在美国销售,请确认 Shopify Protect 是否适用于你的订单。
- 收藏 Shopify 变更日志中的安全文章;保护功能正在逐月增加。
请继续阅读这些安全层背后的安全技术,或返回阅读2026 年 Shopify 商家面临的威胁。
来源
- Shopify Help,Two-step authentication:https://help.shopify.com/en/manual/your-account/account-security/two-step-authentication
- Shopify,Shopify AI / Sidekick:https://www.shopify.com/ai
- Shopify.dev,Token exchange:https://shopify.dev/docs/apps/build/authentication-authorization/access-tokens/token-exchange
- Shopify.dev,Protected customer data:https://shopify.dev/docs/apps/launch/protected-customer-data
- Shopify.dev,Privacy law compliance (mandatory webhooks):https://shopify.dev/docs/apps/build/privacy-law-compliance
- Shopify.dev,Set up iframe protection:https://shopify.dev/docs/apps/build/security/set-up-iframe-protection
- Shopify Changelog,New protection against unexpected redirects:https://changelog.shopify.com/posts/new-protection-against-unexpected-redirects
- Shopify.dev,Shopify Functions:https://shopify.dev/docs/api/functions
- Shopify.dev,checkout.liquid:https://shopify.dev/docs/storefronts/themes/architecture/layouts/checkout-liquid
- Shopify Help,Checkout upgrade:https://help.shopify.com/en/manual/checkout-settings/checkout-extensibility/checkout-upgrade
- Shopify.dev,Web pixels:https://shopify.dev/docs/apps/build/marketing-analytics/pixels
- Shopify,Shopify Protect:https://www.shopify.com/protect
- Shopify Help,Bot protection:https://help.shopify.com/manual/checkout-settings/bot-protection
- Shopify,Bug Bounty:https://www.shopify.com/bugbounty
- Shopify.dev,Agents:https://shopify.dev/docs/agents
- Shopify News,AI commerce at scale (UCP):https://www.shopify.com/news/ai-commerce-at-scale