Summary
The company did not store card numbers, but a program placed on its payment page may have read them the moment they were typed. It closed the site an hour after the intrusion came to light, but the program itself came to light only five days later. If a payment page is rewritten, card numbers can be read the moment they are typed, even when they are not stored.
A pre-execution check means matching, each time the payment page opens, whether the code running matches the approved version, and keeping a record. Detection means noticing unauthorised access after it happens.
screen from the genuine site
What got through
- What got through
- A rogue program running on the payment page. It sat there from 13:55 on 21 October to 07:00 on 23 October, and the company believes information entered on the payment page during that time was intercepted.
- What reached the receiving side
- Customers’ browsers received the usual payment screen from the genuine site. In general, neither the appearance nor the connection to the site shows that the code inside the page has been changed.
- Not disclosed
- The type of vulnerability used to get in, whether the program ran in the browser or was a server-side change, where intercepted data was sent, and any fraudulent card use.
Pre-execution check
Whatever the route, the condition for telling them apart is that whoever serves the payment page matches the code running on it against the approved version before card details are entered.
What needs protecting is not the stored card number but the code of the page that receives the input.
- Who approves
- The owner of the payment page (the online store). At release, it approves the scripts the payment page loads, and hashes of their content, with a key separate from site administrator rights.
- Where it is checked
- The server that serves the payment page, and the customer’s browser (CSP and Subresource Integrity). Code that does not match the approved version is not loaded.
- What is recorded
- Which version of the payment page each payment action (starting entry, completing, changing the card) ran on. The customers affected can be narrowed down afterwards.
Closing the site also stopped the program, but what was noticed was the unauthorised access, not the change to the payment page. Code that reaches the screen being rewritten is an issue shared with Polymarket (JavaScript injected into the interface through a third party) and Stripe’s repurposed API (a trusted API used to deliver card-skimming code).
What Lemma does
Lemma builds the pre-execution check into the system that serves the payment page. It does not look for intrusions; it confirms that the page code being served now is the approved version.
Industries and operations to watch
- IndustryServices & retail
- Online stores with card fields on their own pages. Tampering with the page becomes interception of the input.
- OperationOutsourced site development and maintenance
- When changes to the payment page and admin rights are left to a contractor.
Current controls vs Lemma
It has not been disclosed whether the route in this incident was a script swap or a server-side rewrite of the page. The third column (a flaw in the approved version itself) is not the route here; it is a comparison for a different situation.
| Control | Scripts swapped or added | Page rewritten on the server | A flaw in the approved version itself |
|---|---|---|---|
| Not storing full card numbers | Not relevant | Not relevant | Not relevant |
| Detecting access and closing the site | Partial | Partial | Not relevant |
| Patching the vulnerability | Partial | Partial | Not relevant |
| Leaving the payment screen to an external processor | Partial (embedded) / Effective (redirect, where the page has no card field) | Partial | Not relevant |
| Lemma (pre-execution check) | Effective (if the approval key is held separately) | Effective (if the approval key is held separately) | Not effective |
Not storing full card numbers protects stored data, and detection and closure work after the fact. Lemma checks the code running on the page itself, before card details are entered. PCI DSS v4.0.1 Requirements 6.4.3 and 11.6.1 have also required authorisation of payment-page scripts and tamper detection since March 2025.
Note: Lemma’s check works only when it is built into the system that serves the payment page and the approval key is held separately from site administrator rights. It passes if the approval rights themselves are taken or the checking system itself is rewritten. The company believes administrator privileges were taken; in a server-side rewrite, the list or hashes the check relies on could be rewritten with the same privileges, so the check does not work unless the approval key is held elsewhere. The table compares what each control checks; it does not show whether this incident would have been stopped. Lemma does not detect or prevent intrusions.
Three points for your organisation to check about payment-page tampering on your online store
- Are changes to the payment page kept from going live on site-admin rights alone?
- If the payment page changes from the approved version, are you alerted the same day?
- Can your records tell customers who tried to pay from those who only added items to the cart?
Facts and timeline
- Site
- Good Smile Company’s official online shop. Its Rakuten store is not included. The company says no exposure has been confirmed for payments made through Amazon Pay or PayPal; order information, however, is in scope whatever the payment method.
- Cause
- The company believes a vulnerability in part of its system was exploited and administrator privileges were taken. It says this was not the recently reported PHP vulnerability.
- Why data that was not stored still leaked
- Card-industry rules (per the PCI SSC FAQ) say security codes, which are authentication data, must not be stored after authorisation, and the company did not store them or full card numbers. It believes the exposure came from information entered on the payment page being intercepted. Attacks of this type are commonly called e-skimming.
- Full card data possibly exposed
- 2,800 people — 384 who ordered by card, 185 who changed the card for a pre-order, those who tried to pay but did not complete, and those who only added items to the cart. With no record of operations, the last two cannot be told apart, so cart-only customers, who likely had no card data exposed, were contacted too. Customers who tried to change their card after ordering but did not complete it may also have had data exposed; the company says it likewise has no record and cannot identify them (fourth notice).
- Partial card data
- The last four digits and expiry of 402,466 cards (excluding duplicates) registered by customers.
- Order information
- Up to 202 viewed orders out of 7,774 orders from 5,356 people.
Timeline
- Around 15:00, unauthorised access begins (until just before 23:00 on the 22nd).
- At 13:55, the program is placed on the payment page.
- Shortly after 06:00, the contractor’s report reveals the unauthorised access; the site is closed at 07:00. First notice (only the last four digits and expiry).
- Second notice (addendum to the first).
- Shortly after 18:30, the program on the payment page is found.
- Third notice discloses possible exposure of full card data and security codes (order-information scope corrected in the fourth notice on the 30th).
Facts rest on the company’s official notices (first to fourth) and Q&As; “may have been exposed” is its wording. What has not been disclosed does not mean no measure was in place. As of 2 November, no fifth notice has been published.
After disclosure
- Fix: Patched the suspected vulnerability and revoked and renewed all connection credentials between the system’s components. No reopening date.
- Notices and reporting: Emailed affected customers individually and reported to the Personal Information Protection Commission. Says it is asking card companies not to charge customers reissue fees.
Sources
- Primary, company noticeGood Smile Company “Notice of Possible Exposure of Customer Information Due to Unauthorized Access (Fourth Update)”
- Primary, company noticeGood Smile Company “Notice of Possible Exposure of Customer Information Due to Unauthorized Access (Updated October 26, 2026)” (first notice 2026-10-23, second notice 10-26)
- Primary, Q&AGood Smile Company “Group B: Customers Whose Full Credit Card Information May Have Been Exposed” (published 2026-10-29; content checked 11-02)
- Primary, Q&AGood Smile Company “Frequently Asked Questions About Unauthorized Access and Information Exposure (All Customers)” (published 2026-10-29; content checked 11-02)
- Primary, standards bodyPCI Security Standards Council “Coffee with the Council Podcast: Guidance for PCI DSS E-commerce Requirements Effective After 31 March 2025”
- Primary, standards bodyPCI Security Standards Council FAQ 1533, “For PCI DSS, why is storage of sensitive authentication data (SAD) after authorization not permitted even when there are no primary account numbers (PANs) in an environment?”
- Primary, company notice, JapaneseGood Smile Company「不正アクセスによるお客様情報流出の可能性について(第4報)」
References: The last layer left in AI-era cyber defense