セキュリティ

ignica不正アクセス:6万4,003件の氏名とメールアドレス流出の可能性と対象確認

ignica不正アクセス:6万4,003件の氏名とメールアドレス流出の可能性と対象確認

マルエツ、カスミ、マックスバリュ関東を傘下に持つユナイテッド・スーパーマーケット・ホールディングス(USMH)は2026年11月12日、スマホで商品を読み取って会計するアプリ「Scan&Go ignica」のシステムが第三者の不正アクセスを受けたと公表しました。システム内には新規登録時の氏名とメールアドレスを含むファイルがあり、約240万アカウントのうち64,003アカウントの情報が流出した可能性があります。外部へ取得された事実は、公表時点で確認されていません。前半では、自分が対象かの確かめ方、ログインIDでもあるメールアドレスの扱い、偽メールへの備え、退会と会員情報の削除を、公式発表とアプリのよくある質問で確かめます。後半は、サーバーに残った個人情報ファイルを棚卸しするコードを実行結果つきで示します。

まとめ:ignica不正アクセスで流出の可能性がある情報と利用者が今日やること

流出の可能性があるのは氏名とメールアドレスの2項目で、クレジットカード情報、住所、電話番号、生年月日は対象のファイルに含まれていません。USMHは、本件が原因とみられる不正利用や二次被害も確認されていないとしています。

利用者がやることは3つです。USMHや傘下のスーパーを名乗るメールで、パスワードや認証コードを聞かれても答えないこと。ignicaと同じパスワードを他のサービスで使っているなら、両方を別のパスワードに変えること。もう使わないなら、ポイントの扱いを確かめてから退会することです。

項目 公表内容(2026年11月12日)
公表した会社 USMH
対象のアプリ Scan&Go ignica
件数 約240万中64,003アカウント
流出の可能性がある情報 氏名、メールアドレス
含まれない情報 カード情報・住所・電話番号等
外部への取得 現時点で未確認
対象者への案内 メールとアプリのお知らせ
問い合わせ先 ignicaアプリコールセンター
未公表 手口・時期・ファイルの用途

Scan&Go ignicaの利用者が確かめること:対象、ログインID、偽メール

約240万アカウントのうち64,003件が対象、案内はメールとアプリで届く

USMHの公式発表によると、今回の事案はScan&Go ignicaの全利用者が対象ではありません。対象になる人には、メールでの案内と、アプリにログインしたときのお知らせで連絡が届きます。アプリで対象かどうか分からないときや不明な点があるときは、ignicaアプリコールセンター(0120-065-723、9時〜21時、年中無休)が窓口です。電話での確認には一定の手続きが要るため、回答まで時間がかかる場合があると案内されています。

Scan&Go ignicaは、店内で商品のバーコードを読み取ってレジに並ばず会計できる機能のほか、ネットスーパーのOnline Delivery、ギフトを産地から届けるignicaストアを1つにまとめたアプリです。使える店舗と機能はignicaのアプリ案内で確かめられます。会計だけに使っている人でも、ネットスーパーやギフトの注文だけに使っている人でも、ログインに使うアカウントは同じアプリのものです。

流出の可能性があるメールアドレスはログインID、パスワードの使い回しを断つ

ignicaのよくある質問は、ログインIDを「新規登録時のメールアドレス」と説明しています。今回流出の可能性があるのは、このログインIDそのものです。パスワードは流出の対象に挙がっていませんが、他のサービスから漏れたパスワードと組み合わせて試される余地は残ります。

同じパスワードを他のサービスでも使っているなら、ignicaと他のサービスの両方を変えるのが安全です。ignicaのパスワードは、アプリの「設定」(歯車マーク)の「パスワード」で、現在のものと新しいものを入れて変えられます。新しいパスワードは、大文字・小文字・数字・記号のうち3種類以上を組み合わせた8文字以上という条件です。忘れたときは、ログイン画面の「パスワードを忘れた方はこちら」から、メールに届く認証コードで再設定します。

USMHやマルエツ、カスミを名乗るメールで認証コードを聞かれたら偽物

公式発表は、USMHや関係会社を装った不審なメールに注意するよう求めています。USMHがメールや電話で、パスワード、認証コード、クレジットカード番号の入力や回答を頼むことはありません。心当たりのないメールのリンクや添付ファイルは開かないよう案内されています。

氏名とメールアドレスの組が手元にあれば、相手は「〇〇様 ignicaアカウントの確認のお願い」と宛名入りの本物らしい文面を作れます。宛名が合っていても、それだけで本物と判断しないでください。とくに危ないのは、パスワード再設定の認証コードを聞き出す手口です。ignicaの再設定はメールに届く認証コードで行うため、そのコードを人に渡すとアカウントを乗っ取られるおそれがあります。偽メールが本物らしく見える仕組みはフィッシング詐欺の成立の仕組みと技術的対策で解説しました。

アプリの退会と会員情報の削除を頼む手順、ポイントは消える点に注意

もう使わないなら、アプリの「設定」画面にある「退会手続き」から退会できます。アプリで退会できない場合は、本人確認のうえで問い合わせフォームから会員情報の削除を依頼する形です。よくある質問には、削除した情報は戻せず、ポイントも消えると書かれています。ポイントや電子マネーの残りを使い切ってから手続きするのが損のない順番です。

続けて使う場合でも、ログインIDのメールアドレスは「設定」の「メールアドレス」から変えられます。ただし、今回の流出の可能性は登録時の情報についてのもので、アドレスを変えても既に出回ったかもしれない古いアドレスへの偽メールは止まりません。古いアドレス側の受信箱で、身に覚えのない案内を開かないことが先です。

公表文から読み取れる事実と未公表の事項、事業者の報告義務の線引き

「流出の可能性」と書かれた理由、ファイルの存在は確認で取得は未確認

公式発表の書き方を分けて読むと、確認された事実は2つです。Scan&Go ignicaのシステムが第三者の不正アクセスを受けたこと、そしてそのシステムの中に一部の利用者の個人情報を含むファイルがあったことです。ファイルが実際に外へ持ち出されたかは確認できておらず、取得された可能性を否定できないため「流出の可能性」として扱っています。

USMHは不正アクセスの確認後、被害の拡大と再度の侵入を防ぐ措置を取ったとし、関係各所と原因と影響範囲の調査を続けています。11月13日時点で、侵入の手口と時期、どのシステムだったか、ファイルが何のために置かれていたか、64,003アカウントがどんな条件で選ばれていたかは公表されていません。約240万のうち一部だけが入っていたことから、全会員のデータベースではなく、ある時点で抜き出したファイルだった可能性がありますが、これは推定です。

64,003件の漏えいの可能性と個人情報保護委員会への報告対象の判断

個人情報保護委員会の案内では、本人の数が1,000人を超える漏えい等と、不正の目的をもって行われたおそれがある漏えい等は、どちらも報告の対象です。いずれも「おそれ」の段階から含まれるため、取得が確認されていない今回のような事案でも線の内側に入ります。期限は発覚から3〜5日以内の速報と、不正の目的が疑われる場合は60日以内の確報です。

64,003アカウントが何人に当たるかは公表されていませんが、1,000人を大きく超える規模で、第三者の不正アクセスが起点でもあります。一方で、USMHの公式発表には個人情報保護委員会への報告の記載がなく、報告の有無と日付は分かりません。確報の段階で原因がまとまれば、続報で手口が出てくる可能性があります。報告の要件と段取りは個人情報保護委員会への報告義務の実務で整理しました。

開発側の点検:サーバーに残った個人情報ファイルを棚卸しするコード

メールアドレスの件数と最終更新日で、用済みの名簿ファイルを拾う

今回の事案では、侵入を受けたシステムに「個人情報を含むファイルが存在していた」ことが流出の可能性につながっています。データベースは権限で守っていても、キャンペーンの抽出、移行作業、障害調査のために書き出したCSVが、用が済んだ後もサーバーに残ることがあるため、点検の対象です。個人情報保護法の第22条は、利用する必要がなくなった個人データを遅滞なく消去するよう努めることを事業者に求めています。

次のスクリプトは、架空のファイル4本を一時フォルダに作り、メールアドレスの種類数と最終更新日で棚卸しする例です。メールアドレスが100件を超えるファイルを「名簿」、30日を超えて更新のないファイルを「保存期間超え」とみなし、両方に当たれば「要対応」と出します。

# サーバー上に残った「個人情報を含むファイル」を棚卸しする(Python 3.9以上・標準ライブラリのみ)
# 検証用に架空のファイルを一時フォルダへ作って走査する。実在のシステムには触れない
import os, re, tempfile, time
from pathlib import Path

EMAIL = re.compile(rb"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}")
TARGET = {".csv", ".tsv", ".txt", ".json", ".log", ".bak", ".sql"}
KEEP_DAYS = 30                      # 用が済んだら30日で消す運用を想定
THRESHOLD = 100                     # メールアドレスがこの件数を超えたら「名簿」とみなす
DOMAIN = "example.com"              # 架空データ用の予約ドメイン

def make_demo(root: Path):
    now = time.time()
    files = {
        "export/new_members_202509.csv": ("name,email\n", 4000, 90),   # 90日前の登録者抽出
        "export/campaign_target.csv":    ("email\n", 250, 3),          # 3日前の配信対象
        "logs/app.log":                  ("login ok user=", 20, 1),    # 通常のログ
        "tmp/readme.txt":                ("no personal data\n", 0, 200),
    }
    for rel, (head, n, age) in files.items():
        p = root / rel
        p.parent.mkdir(parents=True, exist_ok=True)
        rows = "".join(f"会員{i},user{i:05d}@{DOMAIN}\n" for i in range(n))
        p.write_text(head + rows, encoding="utf-8")
        os.utime(p, (now - age * 86400, now - age * 86400))

def scan(root: Path):
    now = time.time()
    for p in sorted(root.rglob("*")):
        if not p.is_file() or p.suffix.lower() not in TARGET:
            continue
        found = set(EMAIL.findall(p.read_bytes()))          # 同じアドレスの重複は1件に数える
        age = int((now - p.stat().st_mtime) // 86400)
        if not found:
            continue
        flags = []
        if len(found) > THRESHOLD:
            flags.append("名簿")
        if age > KEEP_DAYS:
            flags.append(f"保存{age}日")
        verdict = "要対応" if len(flags) == 2 else ("要確認" if flags else "-")
        yield p.relative_to(root).as_posix(), len(found), age, verdict, flags

with tempfile.TemporaryDirectory() as d:
    root = Path(d)
    make_demo(root)
    for rel, n, age, verdict, flags in scan(root):
        print(f"{verdict:4} {rel:32} メール{n:>5}件 最終更新{age:>3}日前 {' '.join(flags)}")

フォルダの走査はPython標準のpathlibの rglob で、メールアドレスの抽出はreモジュールの正規表現で行っています。文字コードの違いで読み落とさないよう、ファイルはバイト列のまま調べる形にしました。Python 3.14.10(Windows)で実行した結果は次のとおりです。

$ python pii_file_inventory.py
要確認  export/campaign_target.csv       メール  250件 最終更新  3日前 名簿
要対応  export/new_members_202509.csv    メール 4000件 最終更新 90日前 名簿 保存90日
-    logs/app.log                     メール   20件 最終更新  1日前

90日前に書き出した登録者のCSVが「要対応」、3日前の配信対象が「要確認」、ログは件数が少ないため「-」になりました。メールアドレスを含まない readme.txt は出力に出ていません。実際の運用では、走査の対象をWebサーバー、バッチサーバー、共有ストレージに広げ、結果を週次で担当者に送ります。「要対応」のファイルは、作った人と用途を確かめてから消すか、暗号化した保管場所へ移します。

この棚卸しは、氏名だけのファイルや、画像に写った個人情報は拾えません。メールアドレスは個人情報が入っているかを見分ける目印として扱い、電話番号や会員番号の形式も加えると取りこぼしが減ります。顧客情報の保存期間と削除を設計に組み込む考え方は顧客情報管理システムの安全管理措置・保存期間・削除の要件で解説しました。

ログインIDがメールアドレスのアプリで、流出後に足すログイン防御

メールアドレスがログインIDを兼ねるアプリでは、流出したアドレスがそのまま攻撃の入力になります。OWASPのCredential Stuffing Prevention Cheat Sheetは、多くのサイトがメールアドレスをユーザー名に使っていることが、漏えいした認証情報の一覧による攻撃を成り立たせやすくすると指摘しています。そのうえで、最も有効な防御として位置付けているのが多要素認証です。

多要素認証をすぐ全員に求められない場合でも、新しい端末や不審な接続元からのログインに限って追加の確認を求める方法が挙げられています。正しいパスワードで入られたのに2要素目で失敗したときは、本人への通知とパスワード変更の勧奨も、同資料が勧める対応です。流出の連絡を出した直後は、該当アカウントへのログイン試行とパスワード再設定の要求を日次で数え、平常時との差を見ておくと異常に早く気付けます。ログイン試行の検知と漏えい済みパスワードの照合はパスワードリスト攻撃の検知の指標と漏えい照合・レート制限の実装で詳しく扱いました。

判断:会員アプリの個人情報ファイルを自社で点検できる条件と外部診断

個人情報ファイルの棚卸しを社内で回せる条件と、第三者の診断に頼むべき場面

個人情報を書き出す作業の手順が決まっていて、置き場所が1〜2か所に限られているなら、上のような棚卸しは社内で始められます。逆に次のどれかに当たるなら、棚卸しより先に、書き出しと保管のルールそのものを見直すべきです。

  • 会員データをCSVなどに書き出した記録がなく、どのサーバーに何件の名簿があるか即答できない
  • 書き出したファイルの消去期限を決めておらず、作った人が異動すると誰も消せなくなる
  • ネットスーパー、決済、ポイントなど複数の機能が同じ会員基盤を使い、委託先ごとに置き場所が違う
  • サーバーへの侵入を外部からの連絡や監視で気付く仕組みがなく、ファイルが持ち出されたかを後から確かめられない

店舗とアプリ、ネットスーパーを1つの会員基盤でつなぐ小売のシステムは、機能を足すたびに個人情報の置き場所が増えていきます。小売のシステム化の進め方は小売DXの課題と店舗・EC・在庫のシステム化ロードマップで整理しました。会員アプリのAPIを狙う攻撃への備えはAPI不正アクセス対策の実装手順にまとめています。

会員の情報を持つサーバーが外部から届く場所にあるなら、そこに何が置かれ、誰が入れるかは、第三者の目でも確かめたい点です。診断の種類と費用の考え方は脆弱性診断の種類・費用相場と外注の判断基準で解説しました。自社の会員システムやアプリのサーバーを外部の目で点検したい場合は、脆弱性診断・セキュリティ診断で相談できます。

よくある質問

Scan&Go ignicaの不正アクセスについて、マルエツ、カスミ、マックスバリュ関東の利用者から出やすい質問をまとめました。

ignicaの不正アクセスで自分の情報は流出しましたか?

対象は約240万アカウントのうち64,003アカウントで、全員ではありません。対象の人にはメールとアプリのログイン時のお知らせで案内が届きます。アプリで確かめられないときは、ignicaアプリコールセンター(0120-065-723、9時〜21時)に問い合わせてください。外部へ取得された事実は、公表時点で確認されていません。

ignicaのパスワードは変更したほうがよいですか?

パスワードは流出の対象に挙がっていません。ただし、ログインIDは登録時のメールアドレスで、流出の可能性がある情報に含まれます。同じパスワードを他のサービスでも使っているなら、ignicaと他のサービスの両方を別のパスワードに変えると安全です。変更はアプリの「設定」の「パスワード」から行えます。

クレジットカードの不正利用は心配しなくてよいですか?

公式発表によると、クレジットカード情報、住所、電話番号、生年月日は対象のファイルに含まれておらず、本件による不正利用も確認されていません。ただし、氏名とメールアドレスを使った偽メールでカード番号を入力させる手口は考えられます。メールのリンクから開いた画面にカード番号を入れないでください。

USMHから届いたメールが本物か見分ける方法はありますか?

USMHは、メールや電話でパスワード、認証コード、クレジットカード番号の入力や回答を頼むことはないとしています。これらを求めるメールは偽物と考えてください。宛名に自分の氏名が入っていても、本物の証拠にはなりません。案内はアプリのお知らせにも載るため、メールのリンクではなく、アプリを自分で開いて確かめるのが確実です。

ignicaを退会すれば登録情報は消えますか?

アプリの「設定」の「退会手続き」から退会できます。アプリで退会できない場合は、本人確認のうえ問い合わせフォームから会員情報の削除を依頼します。削除した情報は戻せず、ポイントも消えるため、残りを使い切ってから手続きしてください。なお、すでに流出した可能性がある情報は、退会しても取り戻せません。

関連記事

お気に入りに入れた記事の一覧

一創の公式 SNS

X では毎朝の新着記事と IT ニュースの速報を、YouTube・TikTok・Instagram・LinkedIn・Facebook では記事の解説動画を配信しています。

この記事は以下の記事からリンクされています

資料請求

RELATED POSTS 関連記事

目次