KuroCMS開発記 Vol.6 最近ハッキングで大量に個人情報漏れているらしいので対策しました
product Business Software Technology

KuroCMS開発記 Vol.6 最近ハッキングで大量に個人情報漏れているらしいので対策しました

最近のセキュリティ侵害による個人情報の漏洩は、AIを使ったものではあるものの、結局は愉快犯にしろ強奪目的にしろ、いつの時代も悪いやついるものです。ロシアやイスラエルなどのように、国家ぐるみで土地だけでなく尊厳を奪う国すら出てくる世の中、自分の身は自分で守る必要があります。と言うわけで、オープンソースのベースは変わりませんが、今回セキュリティ対策を見直して大きく向上させました。


2026年9月ぐらいから現在も続いているハッキング被害は拡大が続いています。早急な対応が必要なことは分かっているはずなのに、まだまだ被害が拡大しています。参考までにまずはどんな被害があったのが表にしてみました。

2026年9月〜現在までに発生している情報漏洩の一覧#

不正アクセスなどで個人情報が漏洩した、またはその恐れがあると公表した企業・団体(日付は記事の公開日)。全 64 件。※新しい順

日付企業・団体内容規模原因
10/17
(土)
スカイチケット(旅行予約)クレジットカード情報流出約6,000人不正アクセス
10/16
(金)
ヤマト運輸個人情報が流出約531万件不正アクセス
日経個人情報漏洩183万件不正アクセス
三菱ガス化学元社員などの個人情報流出2,000人委託先
Studio(Web制作ツール)顧客情報流出か—不正アクセス
ファンケル系個人情報漏洩83万件不正アクセス
コミックシーモア会員情報流出(メアドや生年月日)—不正アクセス
日本郵便顧客情報が閲覧可能に600件不正アクセス
Astemo取引先などの個人情報流出350人不正アクセス
タイムズカー(パーク24)情報流出の対応方針を10月23日に発表—続報
岩井コスモ証券顧客情報漏洩4,600人委託先
浜松市消防関連の個人情報流出の疑い(アルカディアのサービス利用)—委託先
BASE子会社個人情報漏洩、うち209万人は一部クレカ情報も2,335万人記載なし
京王サイバー犯罪集団「Qilin」のランサム攻撃実行主張を確認—ランサム攻撃
10/15
(木)
エムスリー製薬向けサービスで個人情報漏洩—不正アクセス
ソースネクスト顧客情報流出か2,252万件不正アクセス
バーガーキングアプリ会員情報流出1,118万件不正アクセス
メドレー医療システムで情報漏洩か最大787機関不正アクセス
10/14
(水)
トランスコスモス契約社員応募者の個人情報流出約4,600人記載なし
マツダ交流サイトの情報流出か4,103人委託先
アエナ(化粧品販売)会員情報流出か81万人不正アクセス
イズミ情報流出の恐れ最大40万件ソフトバンク系
JR九州の飲食店子会社個人情報漏洩か2万6,900人記載なし
10/13
(火)
日本郵便顧客情報漏洩の恐れ最大4,807件システム不具合
防災情報サービス(自治体向け)メールアドレス漏洩か313万件不正アクセス
銀のさら外部サーバーから顧客情報漏洩か最大650万件不正アクセス
JR東海自社ECでメールアドレス漏洩か—ソフトバンク系
静岡県御前崎市個人情報漏洩の恐れ(防災メール会社)—委託先
スカパーJSATメールアドレス漏洩か—ソフトバンク系
ヤマハ・ヤマハ発動機SNS会員の情報流出か計3,200人記載なし
10/10
(土)
ディップ(バイトル)メールアドレス漏洩最大388万件記載なし
手間いらず(宿泊予約システム)情報流出か445万人不正アクセス
10/9
(金)
JR九州メールアドレス漏洩か最大130万件ソフトバンク系
LINEヤフーデータ検索ツールで個人情報漏洩—委託先
バンダイナムコ系アーケードゲームの会員情報漏洩—不正アクセス
ミツカングループメールアドレスなど漏洩—委託先
リゾートトラストサイト経由で会員情報漏洩2万6,000件不正アクセス
Sansan外部クラウドから情報漏洩か1万人不正アクセス
スズキメールアドレスなど漏洩か—委託先
JR東日本メールアドレス漏洩か—ソフトバンク系
ブックオフ子会社顧客情報流出か最大643万件不正アクセス
10/8
(木)
NewsPicks個人情報漏洩の可能性—不正アクセス
ローソン個人情報漏洩(氏名や住所など)約215万件不正アクセス
第一興商個人情報漏洩の恐れ872万件委託先
岩手銀行顧客情報漏洩か(提携の大和証券の委託先)—委託先
10/7
(水)
HIS子会社パスポート情報流出か最大627人不正アクセス
損保ジャパン顧客情報漏洩の可能性6万件不正アクセス
10/6
(火)
旭化成系医療従事者向けサイトで情報漏洩か最大約56万人記載なし
シチズン顧客情報漏洩か10万人委託先
ニモカ(西鉄系)顧客情報流出約500件不正アクセス
GMO系個人情報漏洩、ポイント不正利用も95万人不正アクセス
ミスターマックス顧客情報流出最大173万人不正アクセス
10/5
(月)
大起水産情報漏洩か17万人不正アクセス
大阪公立大学個人情報流出の恐れ13万人ランサム攻撃
焼肉きんぐ顧客情報漏洩1,000万件超不正アクセス
大和証券口座番号など顧客情報漏洩か22万件委託先
10/4
(日)
日経情報漏洩、不審メール9,000件送信—不正アクセス
日経不正ログインで個人情報漏洩か1,646人不正アクセス
10/3
(土)
アバハウス全顧客の個人情報流出か(「不審なメール」報告で発覚)全顧客記載なし
10/2
(金)
第一ライフグループ従業員の個人情報流出か(退職者含む)12万人記載なし
佐川急便個人情報流出か(住所や氏名など)—不正アクセス
9/30
(水)
大阪ガス系2社顧客情報漏洩の可能性約8,260件不正アクセス
9/29
(火)
セコマアプリサーバーから情報流出か57万件不正アクセス
9/28
(月)
タイムズカー個人情報流出(免許証画像も)最大660万件不正アクセス
合計(規模の記載がある 44 件。件と人の合算・重複を含む)約1.24億

恐ろしい被害です。1.24億。数字がはっきりしないのも含め、また重複があるとしても、およそ日本国民全員と同数の情報漏洩被害が発生しています。

今回の被害と侵入方法の特徴#

今回は、過去の被害よりも莫大な被害が出ていますが、異常なのは毎日漏洩しているという事実。攻撃側も明らかにAIを駆使しているのは明確です。そして侵入された手段を公開していない会社も多いのですが、公開されている会社だけでも圧倒的に多いのは「WEBサイト・アプリ・APIの穴」を利用した侵入です。

次に多いのが「メールやサイト誘導など」を利用した侵入です。最近はAIが滑らかな文章を書くようになったので、知らずにクリックして本物のサイトじゃないのに本物と同じデザインのため、ID・パスワードを入力してしまったりしてログイン情報が漏れたりするパターン。

VPN 機器の脆弱性なども話題になりますが、この期間に明記されていたのはデジタル庁の 1 件だけという形で、圧倒的に上記2つの侵入口になっています。さらに予想されるのは、侵入後の脆弱な管理者ガード不足と思われます。※侵入されるとやりたい放題なシステム設計。

それじゃKuroCMSでのセキュリティ対策は?#

そもそも、メールやサイト誘導によるアカウント漏洩は、KuroCMSではパスキーのみなので発生しません。これは自分がパスワード覚えるのが嫌だったというのもありますが、パスワードは忘れるので結局簡単なパスワードを選んでしまう人が多く、セキュリティ的には構造的な問題があると考えていたからです。

それでは、以前までの KuroCMS で行っていたセキュリティはどんなものだったかの一覧です。

版対策内容
v1ログインはパスキーだけパスワードを持たないので、漏れたり使い回されたりするパスワードがありません。指紋や顔認証で入り、鍵は端末の外に出ません。ログインの状態は、ほかのサイトやスクリプトから使えない形で持ちます。
AI が書き換えても戻せる本文を上書き・削除する前に、毎回その時点の全文を版として残します。誰が書いたか(人・AI・API)は認証の仕組みから記録するので、偽れません。侵入者が勝手に記事を書き直しても戻せます。
API の鍵は控えだけを保存AIから操作するための、個人用アクセストークン(PAT)は、ハッシュ値だけを保存します。元の値はサーバーに残らないので、万一データが漏れても鍵としては使えません。
Cloudflare の鍵を預からない自分の Cloudflare に導入するとき、インストーラーに入れた API トークンは導入にだけ使い、どこにも保存しません。以後の自動更新は、Worker の更新しかできない専用のトークンで行います。
公開ページは組み上がった HTML読者に表示されるのは組み上がった HTML だけで、閲覧のたびにデータベースへ問い合わせません。外から狙える入口を小さくしています。外部の URL を取りに行く機能は、行き先を確かめてから取ります(SSRF 対策)。これは結果的にCDNが使える事になり高速化にも貢献します。

それでは、今回どのような改良を施したかの一覧です。

v2本文にスクリプトを入れさせない記事やサイトの文字は、保存するときと表示するときの 2 回、script・イベント属性・javascript: などの危ない URL・許可していない外部の埋め込みを徹底して取り除きました(以前も多少は取り除いていたが今回徹底して行った)。人・AI・API・取り込みのどれが書いても、読者や管理者のブラウザでスクリプトは動きません。
更新は署名を確かめてから新しい版は KuroCMS の配布基盤から取り、電子署名と中身のハッシュを確かめてから入れます。入れた後に新しい版が正しく応答しなければ、WorkerOps が自動で前の版へ戻します。
データの置き場所がはっきりしている記事もメディアもお客様自身の Cloudflare アカウントの中だけにあります。委託なら、基盤と KuroCMS をアカウントで分離した上、サイトごとに専用のデータベースを用意し、ほかのお客様と混ぜません。不具合の報告で送るのは符号と数値だけで、記事の中身は送りません。
管理画面は登録した回線からだけ管理画面は、パスキーでログインした回線からしか使えません。IP登録は全自動で、使い続ける間は延びます。ログインの状態が登録していない回線から使われると止め、本人へ確認のメールを送ります。盗まれたログインの状態は、ほかの場所では使えません。
ログインを回線と端末に縛るブラウザのログインは、始めたときの回線に縛ります。ログインを保つ鍵(リフレッシュトークン)は、発行した端末の鍵に縛ります(デバイス・バインディング)。万一盗まれても、別の回線や別の端末では使えません。

そしてどうなったか。今後と方針の変更#

一番の大きな部分は、IP制限です。IPv6の時代になり、パソコン1台1台にIPアドレスが設定できる時代ならではですが、IP制限が実装された KuroCMS の管理画面にログインするには、IPの偽装もしなければなりません。しかし、今の時代IPv6の偽装はプロバイダーやNTTの社員ですら難易度が高い行為です。その上、パスキーのようなブラウザと端末にがっちり張り付いている仕組みであれば、まず一般的な侵入は難しいと考えています。

それに伴い、KuroCMSの認証基盤を法人側のID基盤に置き換えました。これは Cloudflare のアカウントを作り、PAT登録まで出来ない人のために、委託方式を設けた事とも関係します。これに伴って、法人のID基盤が持つ、不審なアクセスによる警告などを KuroCMS ユーザーに、画面やメールで通知し、また法人側のセキュリティ管理基盤に、不審なアクセスがあった事を連絡することで早急な対応が取れるようになりました。

ここは、正直悩んだ頃ですが、KuroCMSのベースのソースは引き続きOSSとして公開するも、安全確保のために認証基盤だけはクローズドで、セキュリティガチガチの法人基盤に組み込む事にしました。ユーザーの方々には、それによるデメリットは無いように、今までの自分で所有する Cloudflare アカウントへの導入(v1での唯一の導入方法)は引き続き使えます。ただメールアドレス登録の必須化などの手間が増えてしまった事をご理解頂けると幸いです。

それでも過去のv1に比べれば、格段に安全性が向上したKuroCMS どうか、引き続きご愛顧頂けると幸いです。

※KuroCMS v2 のリリースは今週末ぐらいになると思います。





この記事はいかがでしたか?