ディップ株式会社 / バイトル・バイトルNEXT
バイトル・バイトルNEXT 会員のメールアドレス最大 388万件
最終更新 2026-10-11
概要(公表された事実)
| 公表主体 | ディップ株式会社 |
|---|---|
| 業種 | 情報通信業 |
| 経緯 | 判明: 2026-10-06 第1報: 2026-10-09 |
| 件数 | 最大 3,885,771 件 漏えいの「可能性」がある件数の上限で、確定値ではない |
| 漏えいした情報 | メールアドレス |
| 含まれない情報 | 氏名、電話番号、パスワード、クレジットカード情報 |
| 二次被害 | ネット上への流出・不正利用は確認されていない(第1報時点) |
| 報告先 | 個人情報保護委員会、総務省関東総合通信局、警察(相談) |
分類
| 侵入経路 | 自社実装の不備:種類は非公表 システムの一部機能の仕様の不備を突いた、海外からの不正アクセス |
|---|---|
| MFA | 不明 |
| 委託先・SaaS 経由 | 公表文では触れられていない |
| 原因の公表度 | 一部のみ公表 |
| 判定 | 判定に必要な事実が非公表 根拠: 自社実装の不備とされたが、脆弱性の種類が公表されていない(判定ルール) |
根拠となる公表文の記載
「システムの一部機能における仕様の不備」侵入経路 の根拠 / 出典
何が起きたか(エンジニアによる推定)
この節は公表された事実ではなく、公表文から読み取れる範囲の推定です。
ディップは機能名も手口も出していない。以下は公表文の言葉から読み取れる範囲の推定。
「仕様の不備」という言い方は、ライブラリの脆弱性や設定ミスではなく、機能の作り(設計)そのものに穴があったことを示す。そのうえで手がかりが3つある。
- 漏れたのがメールアドレスだけ。DB を丸ごと抜かれたなら氏名や電話番号も一緒に出るはず。1つの機能が返すデータにメールアドレスだけが含まれていて、それを外から大量に取られたと考えるのが自然
- 「最大」388万件という上限つきの数字。取られた実数ではなく「その機能から到達できたアドレスの総数」を数えていると読める
- 初動が「海外からのアクセスの全遮断」。単発の侵入ではなく、海外の IP から同じ機能へ大量のリクエストが来ていた
この3つに合う典型的なパターンは次の2つ。
| パターン | 仕組み | OWASP の分類 |
|---|---|---|
| 他人の ID を指定すると、その人の情報が返る(IDOR/BOLA) | API が GET /api/members/12345 のように会員 ID を受け取り、リクエストした本人のものかを確かめずに返す。ID が連番なら 1 から順に回すだけで全件取れる |
API1:2023 Broken Object Level Authorization |
| 画面に出していない項目までレスポンスに入っている(過剰なデータ返却) | 画面には表示しないが、API の JSON には email が含まれている。DB のレコードをそのままシリアライズして返す実装で起きやすい |
API3:2023 Broken Object Property Level Authorization |
どちらも脆弱性スキャナでは見つけにくい。リクエストもレスポンスも「正常」に見え、問題は「誰がこのデータを見てよいか」という仕様の側にあるから。ここが「仕様の不備」という表現と合う。
なぜ防げなかったか(推定)
- オブジェクト単位の認可チェックが無かった: ログインしているかどうか(認証)は見ていても、「この会員情報はこのユーザーが見てよいか」(認可)を見ていない
- ID が推測できた: 連番の ID なら全件の列挙が簡単。推測できない ID(UUID など)なら列挙は難しくなる。ただしこれは緩和策で、認可チェックの代わりにはならない
- レート制限・異常検知が無いか、甘かった: 388万件を取るには数百万回のリクエストが要る。同じクライアントから大量のアクセスが来た時点で止まっていれば、被害は小さかった
- レスポンスの項目が絞られていなかった: 必要な項目だけを返す設計なら、メールアドレスはそもそも外に出ない
海外 IP の遮断は応急処置にすぎない。 攻撃者は国内のプロキシや VPS からでも同じことができるので、根本対策は認可チェックと返す項目の絞り込み。
自分のシステムで確認すること
| 確認項目 | やり方 |
|---|---|
| ID を受け取る API はすべて、リクエストした本人のデータかを確かめているか | ルーティング一覧から ID を受け取るエンドポイントを全件洗い出す。別アカウントでログインして他人の ID を指定し、403/404 になるかを試す。テストにも入れる |
| レスポンスに画面で使っていない項目が入っていないか | 開発者ツールで実際の JSON を見る。DB のモデルを丸ごと返さず、返す項目を明示的に列挙する(レスポンス用の DTO・シリアライザで allowlist 方式にする) |
| 外から見える ID が連番になっていないか | 公開 URL・API の ID を UUID などの推測できない値にする |
| レート制限があるか | ユーザー単位・IP 単位で上限を置く。会員情報を返す API は特に厳しくする |
| 大量アクセスに気づけるか | 1クライアントあたりのリクエスト数、404/403 の急増、特定 API の呼び出し数を監視してアラートを出す |
| 新機能の仕様レビューで認可を見ているか | 設計レビューのチェックリストに「このデータは誰が見てよいか」「返す項目は最小か」を入れる |
| API の脆弱性診断を受けているか | OWASP API Security Top 10 を観点にした診断を、少なくとも会員情報を扱う機能のリリース前に受ける |
利用者がやること
- 漏れたのはメールアドレスだけなので、パスワード変更は必須ではない
- 「バイトル」を名乗るフィッシングメールが来やすくなる。メール内のリンクからログインしない。ディップはメールでパスワードやカード情報を聞かないと明言している
関連する過去の事案
- 2024-01: 「バイトル」の掲載企業アカウントへの不正ログイン。掲載企業の ID・パスワードが第三者に取得され、応募者管理画面から応募者情報が見られた。今回とは別の経路(リスト型攻撃系) (出典)
出典
- ディップ株式会社のお知らせ(第1報)(一次情報) 2026-10-09
- Yahoo!ニュース
- NHK
- FNN