Shopify Checkout Hijack: What Happened and How to Check Your Store
Summarize this article with AI
Fake checkout pages injected through Shopify apps stole card details in October. What happened, which apps were hit, and the five-minute test every merchant should run.
Transparency note: Trafik Plus makes Snap Bundle, a Shopify app for bundles and upsells. None of the apps in this incident are ours, and we are not affected, but we sit on the same side of the fence as the vendors named below. This article sticks to what public sources say and links each claim.
The short answer
Since October 10, 2026, a Shopify phishing attack has been sending shoppers on real Shopify stores to fake checkout pages that steal card details. The redirect comes from code injected into the configuration of third-party apps (Hulk Product Options, Selleasy, Swym Wishlist Plus), not from a flaw in Shopify's checkout. It fires once per browser session, then sends the shopper on to the real checkout, so the order goes through and nobody notices.
It is not over. Between October 14 and 18, Shopify pulled 126 apps from the App Store(opens in a new tab), including Privy, Rebuy, Rokt's Upcart and Aftersell, and several Bold apps. On October 19, a store's visitors were still being sent to a fake checkout for about ten minutes.
If you run a Shopify store, take five minutes today: open your store in a private window, click Checkout, and check the domain in the address bar. The steps are below.
What happened in the Shopify phishing attack
- Oct 10, 12:10. Developer Roman Zipp(opens in a new tab) is buying from a keyboard store when his password manager offers to fill his card name into a "First name" field on biliing[.]top. A vape shop owner had reported the same domain on Reddit 18 days earlier.
- Oct 10, 15:27–16:37. Zipp reports it to Shopify. It is escalated at 16:21 and fixed at 16:37. Shopify temporarily disables the Hulk Product Options theme extension.
- Oct 13. Selleasy, by Logbase, is hit between 07:47 and 15:00 UTC. We covered the fallout in our Selleasy alternatives guide.
- Oct 14. Swym confirms an unauthorized change to the configuration of Wishlist Plus.
- Oct 16. The App Store listings of Hulk Product Options, Swym Wishlist Plus and Selleasy show as unavailable(opens in a new tab).
- Oct 14–18. Shopify delists 126 apps(opens in a new tab), about a hundred of them on October 15. Privy, Boost AI Search & Filter and Rebuy follow on October 18. Privy is named in new reports; its involvement is not confirmed.
- Oct 19. CRO consultant Kévin Miguet(opens in a new tab) reports that for ten minutes every visitor of a client store was sent to checkout-guard[.]top, a new domain, before the redirect vanished. Other merchants reply that they saw the same thing the day before.
As of October 19, the root cause is still unknown and Shopify has not published a statement. It pointed Zipp to its changelog and could not say how many stores were affected. Zipp counted five to seven merchants by October 15, which is surely low.
How the Shopify checkout hijack works
The attack never touches Shopify's checkout. It happens one step earlier, on the storefront, through code that a store app is allowed to load.
- A trusted app loads its usual script. In the first case, it was Hulk Product Options' own file, served from cdn.shopify.com as part of its theme app extension(opens in a new tab).
- The script fetches its settings from the vendor's server. The response contained a field meant for merchant customizations, `custom_js`. The attacker had put 22.7 KB of JavaScript in it.
- The injected code hijacks the Checkout button. When the shopper clicks, they land on a page that copies Shopify's checkout, on a domain such as biliing[.]top, checkout-confirm[.]top, order-confirm[.]top or checkout-guard[.]top. The logo is often wrong.
- The fake page collects the card, sends it to the attacker's server, then forwards the shopper to the real checkout.
- It fires once per session.(opens in a new tab) Session storage keys starting with `__ctf_` stop it from running twice, so a merchant who tests twice in the same tab sees nothing.
Ad blockers and DNS filters did not catch the domains. The attacker did not need to break into Shopify: they only needed write access to an app's configuration. How they got it is still unknown. Zipp lists four options: a compromised merchant account, a compromised vendor employee account, a compromise of the vendor itself, or another malicious app.
Which apps were affected
App | Developer | When | Status on Oct 19 |
|---|---|---|---|
Hulk Product Options | HulkApps | Oct 10 | Exploit confirmed by the vendor; Shopify disabled the theme extension; vendor now says the app is safe to use |
Selleasy | Logbase | Oct 13, 07:47–15:00 UTC | Confirmed; Custom JS setting locked, authorities notified |
Wishlist Plus | Swym | Oct 14 | Unauthorized configuration change confirmed; investigation ongoing |
Privy | Privy | Delisted Oct 18 | Named in reports and pulled from the App Store; not confirmed by the vendor |
Boost AI Search & Filter | Boost Commerce | Delisted Oct 18 | Named by merchants in the Community thread; unverified |
Qikify apps | Qikify | Jul 22 | Earlier incident; resolved Aug 21 |
The wider delisting wave
The confirmed cases are only the tip. Here are the biggest apps among the 126 delisted between October 14 and 18(opens in a new tab), by number of reviews:
App | Developer | Reviews | Delisted |
|---|---|---|---|
Privy: Email, SMS & Pop Ups | Privy | 4,230 | Oct 18 |
Color Swatch King | StarApps | 3,194 | Oct 18 |
Selleasy | Logbase | 2,752 | Oct 15 |
Boost AI Search & Filter | Boost Commerce | 1,636 | Oct 18 |
Shopacado Volume Discounts | Shopacado | 1,498 | Oct 15 |
Swym Wishlist Plus | Swym | 1,483 | Oct 15 |
Hulk Product Options | HulkApps | 1,211 | Oct 15 |
Aftersell Post Purchase Upsell | Rokt | 1,086 | Oct 15 |
Upcart Cart Drawer | Rokt | 947 | Oct 15 |
Rebuy Personalization Engine | Rebuy | 856 | Oct 18 |
Bold Discounts, Bold Bundles, Custom Pricing, Memberships | Bold | 1,440 combined | Oct 15 |
Read this list with care. Shopify has not said why each app was removed, and its own Shopify Product Network app is on it, so a delisting is not proof of a breach. What these apps have in common is that most of them run code on the storefront: cart drawers, upsells, filters, pop-ups, product options. A delisting also removes the App Store page only; an app you already installed keeps running on your store until you turn it off.
Two warnings about this table. First, it only lists apps that have been named publicly; the attacker reused one method across several vendors, so another app could be next. Second, a store in the Community thread(opens in a new tab) was hit on October 13 without having any HulkApps app installed, so "I don't use Hulk" is not a reason to skip the check.
What the vendors said, from the statements collected by Roman Zipp(opens in a new tab):
- HulkApps: "an exploit introduced unauthorized configurations into Hulk Product Options". No other Hulk app was affected, and the company brought in an outside security firm.
- Logbase (Selleasy): "a deliberate, planned cyber attack" in which "an unauthorized party gained access to an internal Selleasy tool". The Custom JS setting is now locked.
- Swym: "an unauthorized change to the app's configuration", adding that it "does not collect, process or store card data".
The pattern is not new. Qikify(opens in a new tab) disclosed a similar injection in July, which it traced to "a compromised credential, most likely leaked from outside their own systems".
Is Shopify checkout safe?
Yes, the checkout itself is. Shopify says it is "certified Level 1 PCI DSS compliant"(opens in a new tab), and since 2017 the checkout has run on your store's own domain(opens in a new tab) or myshopify.com. Checkout UI extensions(opens in a new tab) run in an isolated sandbox and cannot read card fields.
The weak point is everything before the checkout: the theme, and the apps that inject scripts into it. A theme app extension can add code to the head or body of every storefront page. That is how bundles, wishlists and product options work, and it is also how this attack worked.
The PCI Security Standards Council saw this coming: "Scripts running in consumers' browsers are now a significant target for attackers."(opens in a new tab) PCI DSS 4.0 made script inventories (requirement 6.4.3) and tamper detection on payment pages (11.6.1) mandatory after March 31, 2025.
So the useful question is not "is Shopify checkout secure?" but "does every click on Checkout in my store reach Shopify's checkout?"
How to check if your store is affected
- Open your store in a fresh private window. It has to be new, because the redirect fires only once per session.
- Add a product to the cart and click the plain Checkout button, not Shop Pay or an express button.
- Look at the address bar. You should see your own domain or checkout.shopify.com. A .top domain, or anything else you do not recognize, means your store is affected.
- Close the window and repeat from the cart drawer, from the cart page, and on a phone over mobile data.
- Open DevTools before clicking. In Application > Session storage, look for keys starting with `__ctf_`. In the Network tab, filter on `.top`.
- Compare your installed apps with the list of delisted apps(opens in a new tab). For every match, run the test again and ask the vendor in writing whether their configuration was changed.
Then look at the signals you already have: customer emails about a strange payment page, card fraud reports after a purchase, and odd entries in your abandoned checkouts(opens in a new tab).
What to do if your store was hit
- Keep the evidence before you change anything: screenshots, the fake URL, a HAR export from DevTools, and a duplicate of your live theme.
- Stop the script. Turn off the app's embed in the theme editor (see app embeds(opens in a new tab)) or uninstall the app(opens in a new tab). Check the theme files for code the app left behind.
- Get the vendor's account in writing: what was injected, when, and what they changed.
- Contact Shopify Support and your payment processor. The processor can watch for fraud on the cards used during the window.
- Lock down access. Change passwords, turn on two-step authentication(opens in a new tab) for every staff account, and review collaborator accounts(opens in a new tab) and the AI tools that have access to your store.
- Report the domain to Google Safe Browsing(opens in a new tab) and URLhaus(opens in a new tab) so browsers start blocking it.
- Ask a lawyer whether you must notify customers. That depends on where you and your customers are.
How to protect your store from the next one
- Audit every "custom JS" or "custom HTML" setting in your apps. That field is the door this attack walked through. If you do not use it, ask the vendor whether it can be turned off.
- Fewer apps, fewer doors. Every app that injects storefront code is a supplier with access to your checkout button. Uninstall the ones you do not use, and remove their leftover code.
- Make the checkout test a habit: after every app install or update, and once a week during peak season.
- Keep a script inventory of what loads on your storefront and who owns it. It is what PCI 6.4.3 asks for, and a script monitoring tool covers 11.6.1.
- Choose apps that do their work inside Shopify's own surfaces (checkout UI extensions, Shopify Functions) rather than apps that rewrite your storefront with remote code.
- Read the vendor's security page before you install. A vendor that publishes incidents, like Qikify did, is easier to trust than one that goes silent.
Frequently asked questions
What is the Shopify checkout hijack?
It is a phishing campaign that hit real Shopify stores in October 2026. A malicious script, injected through the configuration of a third-party app, intercepts the click on the Checkout button and sends the shopper to a fake payment page on another domain. The page steals the card details, then forwards the shopper to the real Shopify checkout so the order looks normal.
Is the Shopify phishing attack still going on?
Yes, as of October 19. That day, a store’s visitors were sent to a new fake checkout, checkout-guard[.]top, for about ten minutes, after Shopify had pulled 126 apps from the App Store between October 14 and 18. Until the vendors and Shopify publish a root cause, run the checkout test after every app install or update.
Was Shopify's checkout hacked?
No source shows that. The fake pages ran on outside domains such as biliing[.]top, and the code ran on the storefront before Shopify's checkout loaded. Shopify's own checkout runs on your store's domain or myshopify.com and is PCI DSS Level 1 certified.
Which apps were involved?
Hulk Product Options (Oct 10), Selleasy (Oct 13) and Swym Wishlist Plus (Oct 14) are confirmed by their vendors in statements collected by Roman Zipp(opens in a new tab). Privy and Boost Commerce were named in reports but are unconfirmed. Qikify had a similar incident in July.
How do I know if my customers were affected?
Look for customers saying they paid on a page that looked off, for chargebacks or fraud reports after a purchase, and for checkouts started in a time window that matches an incident. Then run the private-window test above: the address bar must show your domain or checkout.shopify.com at every step.
Do I have to tell my customers?
Possibly. If card data was captured on a page your store sent them to, data-protection and card-network rules may require notification. That depends on your country and your processor, so ask a lawyer and your payment provider, not a blog post.
Does a delisted app mean it was hacked?
No. HeyApps counts 126 apps(opens in a new tab) pulled from the App Store between October 14 and 18, Shopify's own Product Network among them, and only a handful have been tied to the checkout hijack. Shopify has not said why it removed the others. Treat a delisting as a reason to run the checkout test and ask the vendor, not as proof of a breach.
Is this the same as fake Shopify clone stores?
No, that is a separate scam. Clone stores copy a brand's whole site and get surfaced by AI assistants or marketplaces; Davis Paipa of Katcher.ai(opens in a new tab) describes one that reached the Shop app. The checkout hijack runs on the real store, which makes it harder for the shopper to spot.
Is it safe to reinstall the affected apps?
Only once the vendor has published what happened and what changed. Read the statement, check that the app's custom code settings are empty or locked, and repeat the checkout test right after reinstalling.

Keep reading
Shopify Post-Purchase Upsells: How One-Click Offers Work (+ 7 Examples)
A post-purchase upsell is a one-click offer shown after payment. It cannot cost you the order. Here is how it works on Shopify, what to offer and how to measure it.
Black Friday Cart Optimization: 12 Ways to Turn Your Shopify Cart Drawer Into a Sales Tool
How to set up your Shopify cart for Black Friday: a tiered rewards bar, automatic discounts, in-cart upsells, add-ons, honest urgency and a pre-launch test plan.
Selleasy Unlisted from the Shopify App Store: The Best Selleasy Alternative for Upsells and Bundles
Selleasy is unlisted from the Shopify App Store for now. Its pricing and features next to Snap Bundle, other alternatives, and how to keep a backup ready.
