2026年ウィキメディアユーザースクリプトインシデント

**2026年ウィキメディアユーザースクリプトインシデント**（英：March 2026 User Script Incident）は、協定世界時2026年3月5日に、ウィキメディア財団が運営するウィキペディアを含む全ウィキメディア・プロジェクトにおいて発生した大規模なセキュリティインシデントである。

財団のエンジニアがテスト中に誤って悪意のあるJavaScript（ワーム）を読み込んだことを発端とし、多数の高権限アカウントが連鎖的に乗っ取られた。被害の拡大を防ぐため、サイト全体が一時的に読み取り専用モードに移行し、全ユーザーのカスタムJavaScript機能が強制停止される事態となった。

## 背景
本インシデントの根本的な引き金となったのは、ウィキメディア財団の「製品の安全性と整合性（Product Safety and Integrity）」チームによるセキュリティテスト中の操作ミスである。

S氏はユーザースクリプトのグローバルAPI制限を検証するため、外部の様々なユーザースクリプトを自身の上のアカウントへインポートしたが、その中に悪意のある自己増殖型コードが含まれており、高い権限を持つ彼のアカウントの裏側でそれがアクティブとなった。

## タイムライン
時間はすべて協定世界時（UTC）。

* **2026年3月4日**
** **22:32** - S氏が検証のため、メタウィキ上で多数のスクリプトを一括インポートを開始。
* **2026年3月5日**
** **15:03** - ウィキワームが混入。
** **15:09** - 「MediaWiki:Common.js」への書き込み。削除開始。
** **15:12** - 他利用者(X氏)からの削除開始。
** **15:14** - E氏により復元作業開始。
** **15:29** - 異常を検知したWMFインフラチームエンジニアのM氏が、ユーザースクリプトを一時的に全世界で強制無効化するコマンド（`scap sync-world: Backport for Disable custom JS for a moment` / Gerrit:1248509）の展開を開始。
** **15:31** - 同展開が完了し、全プロジェクトでカスタムJavaScript機能が遮断され、ワームの自己増殖が実質的に停止。
** **15:32** - エンジニアT氏がデータベース設定ツールから `dbctl commit (dc=all): 'set global ro'` を実行。これにより、全ウィキメディア・プロジェクトのデータベースが正式に「**読み取り専用モード（Read-only mode）**」に強制ロックダウンされ、一切の編集が不可能となる。
** **16:03** - エンジニアO氏が特定のデータベースセクションに対して `dbctl commit (dc=all): 'read only s6'` を実行し、保護を強化。
** **17:05** - マルウェアの除去と安全の確認が取れたため、エンジニアT氏が `dbctl commit (dc=all): 'enable writes'` を実行。約1時間半ぶりに読み取り専用モードが解除され、サイトの書き込み機能が復旧。
** **17:21** - M氏が寄付用ウィキ（donatewiki）などで段階的にサイトJSを再有効化する展開（Gerrit:1248536）を開始。
** **19:15 - 19:21** - S氏自身により、サイトJSの全体的な再有効化コマンド（`scap sync-world: Backport for Re-enable Site JS` / Gerrit:1248571）が展開・完了し、事態は概ね収束する。
* **2026年3月6日**
** **0:05** - 財団が「Meta-Wiki」にて公式声明を発表。

## 攻撃手法
原因となった悪意のあるJavaScriptコード（通称：ウィキワーム）は、元々は2023年に「Wikireality（Викиреальность）」や「Cyclopedia（Циклопедия）」といったロシア語圏の代替ウィキプロジェクトを攻撃する目的で作られたスクリプトの流用であった。

このワームは、MediaWikiの標準的なAPIとDOMベースXSSの脆弱性を組み合わせた巧妙な設計がなされていた。

; 主な機能
# jQueryの読み込み
# を取得し、既感染判定。されていない場合は感染を試行。
# 自身のCommon.jsへも感染の試行。
# 標準名前空間を対象に一括削除「Special:Nuke」を実行（3回）。
# にて取得したページへ巨大画像・非表示スクリプトの埋め込み等を追加し編集（20回）。
# Special:Randomにて取得したページを削除（20回）。

## 影響

### 各プロジェクトへの影響
メタウィキを中心に、多数のページが自動化スクリプトによって改変・削除された。また、ワームの増殖を食い止めるために実施された「読み取り専用モード」により、約1時間にわたり世界中の全言語版ウィキペディアで新規記事の作成や既存記事の編集が一切不可能な状態となった。最終的にはおよそ4000ページの変更、85人の利用者Common.jsが改変され、削除されたページも多数に及んだ。

### 個人情報・データへの影響
WMFの事後調査によれば、本インシデントはユーザー権限の不正操作に留まっており、データベースへの直接の侵入や、パスワードの平文での流出、利用者個人の機密情報の漏洩は確認されていない。また、削除されたページはMediaWikiのシステム仕様上すべて復元可能であったため、恒久的なデータ破壊は免れた。

### ユーザースクリプト停止による二次的影響
ワーム鎮圧の代償として実施された「カスタムJSの強制停止」により、ウィキペディアを支えていたあらゆるが全言語版で一斉に動作しなくなった。これにより、荒らし対策やカテゴリ編集などの日常的な作業を手動で行わざるを得なくなり、編集者コミュニティに深刻な混乱をもたらした。

## 対応と公式声明
事態が沈静化した後、財団の製品の安全性と整合性チームは以下の声明を発表した。

財団はメタウィキ上に「March 2026 User Script Incident」という公式の事後報告・議論用ページを開設し、これが高度な標的型攻撃ではなく、内部のテスト環境と本番環境の切り分けが不十分であったことに起因する「事故」であったことを正式に認めた。

## コミュニティ・各方面の反応
### 初期の大混乱と陰謀論
突然のサイトロックダウンと強制的なログアウト、そして「Закрываем проект（プロジェクトを閉鎖する）」という謎のロシア語による荒らし行為を受け、英語版ウィキペディアの技術系井戸端（:en:Wikipedia:Village pump (technical)）やReddit（`r/wikipedia`）などのコミュニティは大混乱に陥った。事件発生直後は、ロシア・ウクライナ情勢などに関連した「国家ぐるみのサイバー攻撃・情報統制工作ではないか」という憶測や陰謀論が飛び交った。

### 真相判明後
その後、原因が財団のエンジニア自身による「ランダムなスクリプトの大量インポート」という初歩的な不注意であることが判明すると、コミュニティの反応は呆れとブラックジョークに変わった。
英語版のジョークページ「Village stocks（村のさらし台）」においては、S氏を「さらし台」にかけ、「**Закрываем проект（プロジェクト閉鎖）賞**」を授与しようという書き込みが行われた。
## 脚注

## 関連項目

* クロスサイトスクリプティング (XSS)
* :en:Wikipedia:Wikipedia Signpost/2026-03-10/Special report