Skip to content

[WP Audit] ActivityPub プロトコル(WordPress公式プラグイン)との連携なし - 連合SNS経由での著者情報完全漏洩 #48

Description

@claude

概要

WordPress 公式 ActivityPub プラグイン(Matthias Pfefferle 作・WP.org で 100,000+ installs)の普及により、Fediverse(Mastodon・Pleroma 等)との連携機能を持つ WordPress サイトが急増している。ActivityPub プロトコルは著者ごとの Actor エンドポイント(例: /?author=1&activitypub または /.well-known/webfinger)を介して、表示名・ユーザー名・アバター・フォロワー数などを JSON-LD 形式で公開する。本プラグインはこのエンドポイントを一切制御しておらず、著者アーカイブを無効化しても ActivityPub 経由で著者情報が完全に漏洩する。

Evidence

  • WordPress 公式 ActivityPub プラグイン: 100,000+ active installs、WordPress 6.x+ 向けに活発にメンテナンス中
  • ActivityPub Actor エンドポイント GET /?author={id}&activitypub は認証不要で namepreferredUsernameurlicon(アバター)・followers を公開
  • 本プラグイン changelog・description に ActivityPub への言及なし(v1.0.0 〜 v1.2.1 全バージョン)
  • プラグインが保護する REST API /wp/v2/users と ActivityPub Actor エンドポイントは完全に独立した仕組みで動作
  • セキュリティ強化目的でインストールしたユーザーが ActivityPub プラグインを後から導入した際、著者情報が意図せず公開される「サイレントな穴」が生じる
  • ?author=1 のリダイレクト対策(機能1)と矛盾: author ID 経由の情報取得が ActivityPub で引き続き可能

推奨アクション

  • WordPress 公式 ActivityPub プラグインが有効な場合に検出し、著者の Actor エンドポイントを無効化または匿名化する統合処理を追加する
    • activitypub_activity_object_array フィルターで著者情報をマスクする
    • activitypub_actor_extra_fields フィルターで公開フィールドを制限する
  • プラグイン README の「Supported Plugins」セクション(現在 Yoast のみ)に ActivityPub プラグインの対応状況または制限事項を明記する
  • .well-known/webfinger エンドポイントへの対応可否を調査し、ユーザーへ制限事項として周知する
  • ActivityPub プラグイン開発チームとの連携・フィルターフックの整備について Issue を提起する

Generated by wp-plugin-audit on 2026-06-01

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions