Wikipedia:井戸端/subj/オープンプロキシ自動ブロックボットの検討

オープンプロキシ自動ブロックボットの検討[編集]

こんばんは。rxy です。Tietew さんが今まで長年にわたり OpenProxy の検査とブロックをボットによって自動で行っていました(時々ブロックが行われなくなることもありましたが)。しかし、先般の停止以降、以前の故障時にはブロックが行われなくなるだけで、IRC 経由での proxy 確認は行えたのですが、ついにこれも機能しなくなってしまいました。このことより、仕方がないので自分で OpenProxy checker を開発しました。先日より数日間の試験運用を行っておりますが、問題はなさそうなので実運用したく、こちらにて次のことをお伺いいたします。また、長年にわたり linky という名の Open Proxy Checker/Blocker を運用し続けていただいた Tietew さんに最大限の感謝と敬意を表します。もちろん、本提案の間に修正いただけると幸いですが、お一人で bot を運用され続けることにも限界があるかと思いますので、改めて現時点におけるコミュニティの皆さまより明確な合意をいただいた上で、Proxy Block bot やボット管理者の運用是非を含めて議論したく思います。

目的
  1. OpenProxy を自動的にチェックし、自動的にブロックを行うこと
  2. 前述の目的のために、Bot アカウントに対して管理者権限を付与すること
    • アカウントを分ける意味: Bot による操作と人間による操作を分け、権限行使の透明性を保つため
皆様にお伺いしたいこと
  1. OpenProxy の自動検査とブロックを行うための Bot を運用することの是非
  2. 試験運用方法
    • 私としては、PxyBot に管理者権限を付与したうえ、ボットフラグなしで運用したく思います。
  3. User:PxyBot への管理者権限付与(所謂「ボット管理者」)とその方法について
    • 付与の是非に加え、通常の RfA 手続きを行うことになるのか、別途本ページ等での合意をもって付与されることとなるのかなど。
  4. ボット管理者の扱い(オペレーターが管理者に就任している必要性や、自動退任の扱いなど)
    • 私としては、ボット管理者のオペレーターは管理者として信任されていることに加え、オペレーターが自動退任や解任となった場合、ボット管理者からも管理者権限が除去されるべきと考えます。
  5. User:PxyBot へのボットフラグ付与状態によるブロック(ご要望があれば)

以上の 5 件について、ご意見をいただけますと幸いです。

関連文書
  1. User:R8/PB
  2. Wikipedia:Linky-ja#プロクシチェッカ
  3. Wikipedia:管理者への立候補/Linky-ja 20050131
  4. Wikipedia:コメント依頼/linky-ja

--rxy会話2016年3月14日 (月) 16:22 (UTC)[返信]

  • コメント 過去に何度か話題に出てますがflood flag導入では目的は達成出来ないのでしょうか?そうすることで、多くの問題は解決するように思いますが。導入によりCUなどによる大量ブロック時や過去にあったような大量削除などにも有用だと思います。--Vigorous actionTalk/History2016年3月14日 (月) 16:40 (UTC)[返信]
  • flood flag の提案は Wikipedia:井戸端/subj/権限関連の整理について にて行っておりますが、これとは別にまず「OpenProxy を自動的にチェックし、自動的にブロックを行うこと」が現在のコミュニティによって合意されているのかを確認し、第二に「Bot アカウントに管理者権限を付与すること」の二つを主としてお伺いしたく、こちらへ投稿しました。また、Bot アカウントに Bot フラグを付けるか否かは「皆様にお伺いしたいこと」の 5 に記す通りご要望があればそのようにしたいと思っております。flood flag ではブロックができませんし、仮に私のアカウントにつけるとしても、常時つけることになってしまいます。これは通常の権限を行使するうえで透明性が損なわれることになり、よろしくないかと思います。bot によるブロック操作時に flood をつけ、終わった後に外すとしても、バッチ処理ではない、リアルタイムな処理を行うため、結局「最近の更新」に表示されるログ数は 1 (flood 付与 が 1, ブロックと flood 除去は隠されます)であり、無意味化と思われます(権限操作のログが Bot によるものによりあふれかえり、より権限行使の透明性を管理者・ビューロクラット全体として損なう事態になりかねません)。--rxy会話2016年3月14日 (月) 17:36 (UTC)[返信]
  • コメント 方向性として賛成します。管理者権限を持つボットアカウントも必要だと思います。が、推進派に回るには、細かいですがにはいくつか条件があります。
    • Botの名称。もうちょっと分かりやすいものにしましょう。Pxyでプロキシーと読ませるのは、私らは読めますけど、多くの日本語話者にとってはつらいと思います。素直に「OpenProxyBlocker」とかそんなんでいいんじゃないでしょうか。
    • ソースコードの開示。全体に公開するのはなしとしても、管理者もしくは信頼できる利用者には公開するべきです。これは、透明性(どんな仕組みでどんな感じで動作するのか、可能ならコードレビューも)と冗長性(今回はTietewさん・linky-jaの停止が原因ですが、今度またRxyさんが突発的に何かあった時、ソースコードがあれば他の誰かが引き継ぐことが可能です)を確保するためです。githubやbitbucketで非公開グループを作れば可能なはずです。
    • あと、運用サーバー。セキュリティという意味では運用サーバーもtoolserver等、可能な限りウィキメディア公式に近いところで安全性が確保されていると判断できるところでしてほしいです。
  • 以上3点が必要だと思います。--青子守歌会話/履歴 2016年3月15日 (火) 23:04 (UTC)[返信]
    • Bot 名: これは単に私の副アカウント "Pxy" に "Bot" を付けただけです。RxyBot でもいいのですが、こちらは現在、定期ジョブなどで利用しており、ToolLabs にもパスワードが記載されたファイルがあるので(他から見れないようにパーミッションを設定していますが)、万一漏れた際に悪用されることも考えてアカウントを分けたく思います。特にこだわりはないので他の名称でもいいのですが、要望と合意があれば、特定利用者名のパターンで自動的にブロックし、その関連ログを revdel するなどの拡張も考えているので、あまり機能を限定するような名称にはしたくないという思いもあります。
    • ソースコード: 管理者であるというだけでは開示しません。理由としては、管理者 ML の情報を漏らすような事例が過去にあり、開示することで得られる利益よりも、開示によって漏洩し、悪用された際の不利益のほうがはるかに大きいと判断するためです。「信頼できる利用者」は何を基準とするのかが不明ですので、言及を避けます。
    • 運用サーバー: Toolserver は撤去されましたので、後継の Tool Labs / WMF Labs を使いたいところではありますが、このサーバーはオープンソースソフトウェアであることが必要条件であるため、残念ながら、規約に基づき不可能です。
    • 試験運用中、何らかの理由で OpenProxy を用いた未ログイン状態での編集を行った人がおり、これによって検査対象となったものが、某 LTA によってその後に用いられていた というものがありました。検査で発覚していたにも関わらず、試験運転中であるために、または linky-ja の故障によって jawp でのブロックが行われなかったことで、自動的な Proxy ブロックがあれば利用できなかった Proxy が利用できる状況にあるわけです。この件より、自動的な OpenProxy ブロックの必要性や有効性を改めて認識し、本提案に至ったことも述べておきます。私としては、試験運転の方法を継続する場合でも直接的な不利益は一切ありませんので、合意が得られなかった場合、試験運転の方法を継続し、検査結果に基づいて手動で Proxy Block を行うだけです。ただし、この場合は私が検査結果を確認して手動でブロックをかけるまでの間、その proxy は当然、proxy である限りは利用可能なままであるということです。特にこれは、管理者が少ない時間帯であればあるほど、Proxy を用いた破壊行為による被害の拡大防止に大きな差が出るといえるように思います。--rxy会話2016年3月16日 (水) 13:01 (UTC)[返信]
      • コメント ボットでブロックを行うこと自体は賛成です。ただ、ボットによるブロックであることを極力わかりやすくする…まぁ、おわかりかとは思いますが、その点はお願いします。Tiwtewさんみたいにブロックの要約欄に、コメントアウトで良いので自動ブロックの旨を記入するなどして頂ければ。
        管理者フラグ付きのボットとして運用することに関しては意見を募集して、可能であれば管理者ボットとして運用出来たほうが良いと思います。ウィキメディア・プロジェクトとしては別に禁止されているわけでもないし、運用例も既にあるし。--Marine-Bluetalkcontribsmail 2016年3月17日 (木) 16:33 (UTC)[返信]
        • ブロック実施時のログに関しては、承知いたしました。さて、ボットの管理者に関する議論は結局 linky-ja の件くらいしか私は存じないのですが、今のところ反対はないように見受けられますが、どのように手続きを進めましょうか。--rxy会話2016年3月21日 (月) 06:13 (UTC)[返信]
  • コメント 気が付くのが遅れました。オープンプロキシの自動ブロックは非常に便利だなと感じていましたので、こういった提案はありがたいです。しかし自動検出である以上、万能ではないので、あくまでも「管理者のオープンプロキシブロックの補佐役」として使われることを望みます(全ての利用者向け)。というのも、利用者(管理者)がプロキシブロックボットでブロックされていないから、それが縦令プロキシであったとしてもプロキシではないという錯覚や、ウェルカムメッセージ自動貼り付けのように全てボットがやる作業だと勘違いするなど、ボットを超えた偶像になってはいけない。詰まる所、自動ブロックボットとは別に管理者が独自の調査に基づいて(検出されていない)プロキシを(大量)ブロックすることも当然あり得るということです。ボットがブロックしたプロキシの期限変更やブロック解除も当然、今まで通り行われるでしょう。当たり前のことですが、一応コメントとして書いておきます。--Infinite0694会話2016年3月22日 (火) 03:50 (UTC)[返信]

Bot への管理者権限付与に関する手続き[編集]

提案より約 1 週間ほどが経過しましたが、おおむね反対意見は表明されていないように思われます。しかし、Bot への管理者権限付与に関する手続きをどうするかについてのコメントがありませんので、どうするものかと悩んでおります。つきましては、下記の何れの手法をとるべきか、皆様のご意見を伺いたく思います。

  1. WP:RfA でオペレーターが Bot の立候補扱いとしてページを作成
  2. WP:RfA でオペレーターが Bot の推薦扱いとしてページを作成
  3. WP:RfA でオペレーターが Bot アカウントにログインし、Bot アカウントより立候補としてページを作成
  4. このページで WP:RfA の手続きに則りつつ、ひとまず期間を決めた試験運用を実施する
  5. その他

私としては、現行の RfA はボットに対する管理者権限付与を想定していませんが、1 で良いかと思います。--rxy会話2016年3月21日 (月) 06:13 (UTC)[返信]

実質的には推薦と言えますが、立候補時の書式の問題であれば、立候補の準用で良いでしょう。
詳しくない人には、linky-jaのボット管理者がダメならこっちもダメではないのかと思われるかもしれません。この点に関しては配慮なされると良いかと思います。
sysopとbotのフラグが両方ないと無意味なので、botフラグの依頼から誘導するなどして、両方のフラグ付与を条件に信任投票を行っても良いかもしれません。--Marine-Bluetalkcontribsmail 2016年3月21日 (月) 08:18 (UTC)[返信]
提案 Rxyさんの5案にも、試験運用のやり方によっていくつかパターンがあるかと思います。
A案: まずRxyさん提案の1,2,3のいずれかの方法で、WP:RfAを作成。立候補の質問期間中あるいは予備期間を設けるなどの告知の上で、Rxyさんご自身の管理者アカウントから新しいスクリプトを試す。その上で投票を行い、Botフラグと管理者権限信任について同時に合意を得る。(試験運用→sysop+bot合意 の順)
B案: Botアカウントにあらかじめ管理者権限を付与したうえで試験を行う。その場合は試験運用前の権限付与の段階でコミュニティが是非を判断するというのは難しいですので、WP:RfAを準用する方法はなじまないかと思います。4に近い形で、まず「こういうBotが必要ですよね」という合意(これはすでに上で形成できているかと思います。)をもとに、管理者権限をアカウントに付与し試験運用をして、その上でWP:RfAという進め方。試験運用前の管理者権限付与については、オペレーターが管理者として信任されていますので、投票等の手続きはこの段階では一旦保留し、試験運用後、Bot権限とセットで運用することについて、WP:B/Rから適切な誘導をした上でまとめてWP:RfAに諮る。(sysopについて大まかな合意(済)→試験付与・試験運用→sysop+bot合意 の順)
C案: まずRxyさん提案の1,2,3のいずれかの方法で、WP:RfAを作成。このRfAは、自動ブロックを行うBot管理者の是非そのものについてのみ、試験運用前にWP:RfAで合意を得る。その後、試験運用を行い、適切に運用されているならWP:B/Rで改めて合意を得た上でBotフラグを付与する方法。(sysop合意→試験運用→bot合意 の順)
コメント 私としては、A案がスムーズに進むと思いますが、Rxyさんご自身のアカウントでの運用に問題があるなら、B案かC案のいずれかが適切かと思います。C案の方がより丁寧ですが、2回合意を別でとるのは負担が大きいのでなんともいえません。いずれの場合も最終的にはWP:RfAで何らかのページを作成することになると思いますが、この方法はRxyさん提案の1の形でいいと思います。--W.CC会話2016年3月22日 (火) 11:51 (UTC)[返信]
お二方とも、ご意見ありがとうございます。linky-ja の RfA 時とは違う点を、管理者権限の申請時に記載しておきます。私としては、試験運用方法に特にこだわりがあるわけではありませんので、コミュニティの皆さまが望まれる方法にて試験運用を行いたく思います。ただ、W.CC さんご提示の A 案における方式であった場合、通常の管理者権限行使ログとボットのログが混ざってしまうため、あまり好ましくはないかもしれません。A 案であれば、Test Wikipedia (または Test2 Wikipedia)などでブロックを実施する形のほうが良いかもしれませんね。--rxy会話2016年3月24日 (木) 10:24 (UTC)[返信]

最終投稿から一か月以上経ちましたが、どうしましょうか。1週間ほど特に意見がないようであれば、1にて PxyBot の立候補を私が作成し、W.CC さん C 案にて行いたく思います。--rxy会話2016年5月1日 (日) 03:13 (UTC)[返信]

  • 賛成 実施内容そのもの(つまりプロキシブロックBot)については実績がありますから、手続きをしっかり経れば問題ないと思います。よろしくお願いします。--W.CC会話2016年5月4日 (水) 09:59 (UTC)[返信]
  • 誤作動した時に誰が責任取るかはっきりさせてからにしてください。--180.21.165.245 2016年5月6日 (金) 13:54 (UTC)[返信]
    • みんなで決めるのだから、みんなで責任を取るのでしょう。それがいやなら積極的に議論に参加して貴方の希望する方向へ導いてあげてください。IPのままでは議論の相手の方に迷惑となりますので、この際ですからアカウントをお取りになってください。--Triglav会話2016年5月6日 (金) 14:01 (UTC)[返信]
      • プロキシブロックボットは管理者権限を用いるわけで、一般人には手が届かない領域なんですよ。普通のボットなら誤作動してもみんなで編集できるけど、これはそうはいかないでしょ。しかも、オープンソースにするのならまだしも、まったくのブラックボックスで何が行われているのかわからない状態だとみんなで責任取る気にはならんでしょ。一歩譲っても管理者間でソースは開示するとかしないと、何かあったときには遅すぎますよ。それと井戸端はIPでの参加は不可でしたっけ?--180.21.165.245 2016年5月6日 (金) 14:30 (UTC)[返信]
        • 個々人の管理者の行動原理が開示されているわけではないのだから、それを機械化(Bot化)したところで、Botだけを開示する必要もないです(複数人による運用を期待して信頼のおける管理者に開示して欲しいなという個人的な思いは密かにあります)。仮に万が一不適切なブロックがあったとしたら、単に指摘された後に事実を確認し合ってブロックを解除するだけです。遅すぎでも何でもないです。不安でしたら議論がんばってください。ただ残念なことに他の皆様は貴方様の投稿履歴から「超初心者がなぜいきなりこのシステム上の議論の場に飛び込んでくることができたのか?」と不思議がります。ここから貴方様が有識者として他の方に助言を差し上げるのは困難を極めます。驚くべきことにウィキペディアでいう「管理者」とは貴方様同様の一般人なのです。管理者になってみませんか? --Triglav会話2016年5月7日 (土) 11:28 (UTC)[返信]
  • 賛成 この類の機械的作業は、自動化してもらったほうが助かります。不適切な処理があればその時に考えれば良いでしょう。運用開始後も改良・改善は可能です。--melvil会話2016年6月12日 (日) 09:39 (UTC)[返信]

システム周りで5月時点の設計が使用不能になったので、再設計が必要となりました。使用言語も含めて抜本的に書き換えたいと思うのですが、時間がなかなか取れないので、もう少し先になりそうです。とりあえず検出した proxy をどこかに投げるか、手動で公開するかしたいとおもいます。--rxy会話) 2016年7月18日 (月) 14:47 (UTC)訂正: サーバー証明書の期限が切れていただけでした。。。--rxy会話2016年8月13日 (土) 04:46 (UTC)[返信]

来月末までにはどうにかします。--rxy会話2016年10月21日 (金) 13:49 (UTC)[返信]
システム面はどうにかしました。手続き面はぼちぼちと…。--rxy会話2016年11月27日 (日) 14:40 (UTC)[返信]

Wikipedia:管理者への立候補/PxyBot/20170113 PxyBot で立候補しました。--rxy会話2017年1月13日 (金) 10:02 (UTC)[返信]

Bot に管理者権限が付与されました。Wikipedia:Bot/使用申請 に 仮運用を申請しました。--rxy会話2017年1月28日 (土) 04:27 (UTC)[返信]
仮運用中です。--rxy会話2017年2月1日 (水) 11:14 (UTC)[返信]

マルチメンテナーと Wikimedia Cloud への移管[編集]

諸事情により私一人での維持管理、運用も難しくなってきたことから、User:PxyBot を万一の時に備えて m:CVNスタッフで、Wikimedia 財団パフォーマンスチーム、プリンシパル・パフォーマンス・エンジニア、システム管理者User:Krinkle さんやその他 CVN スタッフとともに運用する方向で調整しています。これにより、PxyBot の稼働サーバーは私の仮想マシンから CVN のものへ移管される予定です。プロプライエタリ コードでの利用は禁じられているので、調整の結果次第ではソースコードを公開することになるかもしれません。ご意見等がございましたら、こちらにて承ります。--rxy会話) 2017年11月21日 (火) 11:35 (UTC) Wikipedia:管理者への立候補/PxyBot/20170113 で私の管理者退任時は PxyBot も同様の扱いとすることになっておりますが、私の退任後も CVN による運用継続を望まれる場合、こちらで新たに合意を得たいと考えます。(ウィキペディア日本語版の現役管理者がひとり以上、メンテナーに加わっていただくか、後見人となっていただけると助かります)--rxy会話2017年11月21日 (火) 11:49 (UTC)[返信]

コメント 平素よりBotによるご活動に関し、大変お世話になっております。他利用者から反応がありませんので、私から数点質問いたします。
  1. CVNへの移行に関して、現時点でのStaffからの反応と、移行する場合のざっくりとしたスケジュールを教えてください。
  2. この移行によって、変わること、変わらないことをまとめていただけるとありがたいです。(例えば、変わること:ソースの公開 変わらないこと:Rxyさんによるjawpコミュニティに対する説明責任の有無など)
以上2点です。よろしくお願いいたします。--W.CC会話2017年12月19日 (火) 13:32 (UTC)[返信]
コメント これは私見ですが、私も含めて、m:Countervandalism_Networkについて深く理解している利用者は少ない気がします。このような段階で包括的な意見募集等を行っても、コメントは難しいのではないかと思います。--W.CC会話2017年12月19日 (火) 13:32 (UTC)[返信]
Special:Diff/66677994 2017年12月19日 (火) 13:32 UTC の版より追加文の転記。
  1. 完全にこちらの反応待ちです。CVN スタッフ間では調整済みです。こちらにて同意が得られ次第、CVN のサーバーにて稼働させる予定です(ソースコード開示・非開示の方は別途調整)。
  2. 私がウィキペディア日本語版の管理者在任中で応答可能である場合は私が今までのように対応することになります。私が退任後にも継続して Bot の運用をウィキペディア日本語版コミュニティが望む場合、CVN スタッフによる対応となります。
  3. CVN はウィキペディアをはじめとするウィキメディアプロジェクトにて、IRC での監視(小規模なウィキを監視する m:SWMT 他)のためのボットを提供と、関連 IRC チャンネルの管理を行うグループです。
--rxy会話2017年12月22日 (金) 13:26 (UTC)[返信]
コメント コメントしようしようと思いつつ書き忘れていました。オープンプロキシの自動ブロックは非常に有用なので、継続稼働してほしいと思います。
  1. CVNへの移行は賛成です。1人の個人サーバーに依存しないことは望ましいと思います。
  2. ソースコードを公開せずに済むのであればそれに越したことはありませんが、公開しても一定の効果は継続して持つと思います (穴をつくための手間はだいぶ大きいです)。
  3. お任せいただけるのであればメンテナー、もしくは後見人となってもよいと考えております。ただ技術者としてはフロントエンド寄りが専門であり、MediaWikiの仕様にもあまり詳しくない (Botも動かしたことがありません) ので即戦力人材ではないと思います。--Y-dash 2017年12月22日 (金) 15:48 (UTC)[返信]
  • ありがとうございます。Y-dash さんには既に PxyBot に関連する github の private repository に対する Collaborators アクセス権を付与しております(ソースコードの閲覧や変更が可能。ただし現状では CI 連携や自動展開されるようにはなっていないため、運用上現時点では何も変わりませんが、今後そうすることもできます)。--rxy会話2017年12月24日 (日) 07:28 (UTC)[返信]
コメント ご回答ありがとうございます。1人の方に依存しない体制が必要という趣旨には賛成いたします。--W.CC会話2017年12月26日 (火) 12:03 (UTC)[返信]

rxy の管理者退任に関して[編集]

Wikipedia:管理者への立候補/PxyBot/20170113 で私の管理者退任時は PxyBot も同様の扱いとすることになっておりますが、私の退任後も CVN による運用継続を望まれる場合、こちらで新たに合意を得たいと考えます。(ウィキペディア日本語版の現役管理者がひとり以上、メンテナーに加わっていただくか、後見人となっていただけると助かります)--rxy会話2017年11月21日 (火) 11:49 (UTC)[返信]

コメント 基本的には賛成したいのですが、管理者権限との兼ね合いについて少々懸念があります。Rxyさんが運用されるとのことで管理者Botとして信任されているものですので、コミュニティから十分信頼されているY-dashさんが後見人になってくださる可能性があるとはいえ、井戸端での話し合いのみで合意としてしまうことには違和感を覚えます。半恒久的なものとして運用するのであれば、一定の文書として方針化あるいはガイドライン化ができれば望ましいですが、そこまで必要でなくとも、解任投票等を利用して再度明確な形で運用者の変更(追加?)を合意しておくことに越したことはないかと。--W.CC会話2017年12月26日 (火) 12:03 (UTC)[返信]
「私の退任後も CVN による運用継続を望まれる場合」ですので、誰もそれを提起しない、または追認しないのであれば自動的に当初規定のとおり PxyBot の管理者権限は除去されることになります。一応ソースコードは現時点でも渡してあるので、その気になれば別のボットで運用することは知識があればできると思います。--rxy会話2018年1月3日 (水) 13:50 (UTC)[返信]