Page MenuHomePhabricator

IP range-blocks should not block trusted logged-in users (autopatrolled, bot, bureaucrat, checkuser, interface-admin, steward)
Closed, InvalidPublic

Description

In short

Just because my Internet connection may come from a datacenter, the moment I authenticate myself as [[User:Valerio Bozzolan]] (trusted, autopatrolled, translator administrator, ex interface admin in it-wiki, etc.), what is the reason for still blocking me?


IP range-blocks were designed to block some untrusted users (like untrusted fresh users / untrusted anonymous ...) and this is useful.

Problem: IP blocks also may interrupt the activity of trusted (and also highly-trusted) logged-in registered users, causing unnecessary bureaucracy to them.

Current consensus

There is probably insufficient consensus for the current implementation: for example, the fact that an interface-admin can be blocked by an IP range-block, is probably a good faith bug, and not a feature.

If you have some links describing this as a feature, instead of as a bug, thank you for sharing, for example in a comment.

Why we have IP blocks

IP-based blocks were designed to block anonymous spammers or new spammy users connecting from well-known IP addresses (opened proxies, server farms etc.) so they cannot create new users and they cannot edit and disrupt the projects. This goal is often achieved using global IP range blocks.

At the moment, as default, IP range blocks can block all of them as if they were the same thing:

  1. unregistered users
  2. freshly-registered users
  3. logged-in users with specific trusted flags ("veterans")

But these three scenarios are not the same things.

Note: this Task is only about discussing the point n. 3 - leaving the rest of the implementation as-is.

What are the trusted users that should not be blocked by default?

Here a list of trusted user groups that, at the moment, and as default, can be affected by IP blocks even if they are logged-in (and we want to change this).

Roles defined in Wikimedia without any IP-block exemption:

Roles defined in MediaWiki without any IP-block exemption:

All these user roles are trusted, and the origin of their Internet connection should have no impact in their operations.

Status

  • figure out what discussion led to blocking even checkusers, autopatrollers etc. from IP block ranges
  • Improve MediaWiki default permissions to trust these roles as default (and assure that also in Wikimedia are trusted)
    • autopatrolled
    • bot
    • bureaucrat
  • Improve Wikimedia family to trust these roles as default:
    • checkuser
    • interface-admin
    • steward

Emotional context

Some months ago, for the second time, the activity of one of my bots (authorized as bot by more than 3 communities) was blocked just because I was inside a global IP range-block (designed to block other anonymous spammers). I honestly was shocked and frustrated, since it seems going through a validation chain and obtaining a flag is usefulness and I was considered like a "random IP spammer". This honestly made me stop editing for quite some time, to then understand that there is a bureaucratic procedure to apply for a global-ipblock-exempt flag on my bot account. To be honest this made me even more sad and frustrated. BTW the community was awesome and approved my flag and I'm now exempted. Anyway I don't like to fix a bug just for me.

Users with the autopatrol flag (trusted contributors whose edits are automatically marked as patrolled), like all users with the bot flag (trusted technical contributors) at the moment are not considered trusted from the IP range perspective. So, autopatrolleds and bots have to manually triage their block and fill a request form (some are public, some are private, both are shared with someone) in order to be manually re-trusted, asking a global-ipblock-exempt flag (in addition of their role), and wait for approval, to then turn back operative normally again, just because a new IP range block affects their Internet origin.

This is bad for a number of reasons:

  • blocking logged-in trusted technical contributors with the bot flag is just never useful
    • reliability comes from their username, not the Internet behind them. Bot users should be able to always operate, using whatever private servers, VPN, proxy, etc. not just because we should assume they know what they are doing, but because we assume these advanced users are not spammers.
    • interrupting a trusted bot's work without a strong reason causes disruption of community services, instead of helping the community fighting spam
    • unblock requests from bot accounts waste Stewards' time as well, since all bot flags are false positives
    • if a bot starts doing vandalism you could just drop its flag
    • the physical location of some IT services is sometime best to be left undisclosed ("checkusers" aside obviously)
    • avoiding asking for forms with one's IP helps maintain a project with less unuseful sensitive information inside
    • a bot-flag community approval process is usually not fast and not funny. Having to redo more bureaucracy to work can be frustrating
  • blocking all trusted users with the autopatrolled flag is not sufficiently justified too
    • there is no evidence to show that autopatrolled users become spammers when they come from strange IPs. Therefore it seems a nonsense penalization.
    • If the user is spamming, just remove the autopatrolled flag.
    • moreover, autopatrollers may have not the technical skills or enough time to understand what a "range-block" is and why they are blocked, why they need to be re-trusted, how to do it. Again, this wastes volunteers' time and it doesn't help the project to fight spam.
    • Wikipedia was designed to protect the IP of all registered contributors, so there really must be a good reason to force the registered contributors to share their IP in whatever form.
    • decreasing unuseful unlock requests mitigates social engineering

And I could go on. But feel free to share a feedback.

Event Timeline

valerio.bozzolan added a subscriber: Niharika.

Hi @Niharika (Sr. Product Manager, Anti-Harassment Tools team)

What do you think about this?

The simplest way to implement this idea for Wikimedia wikis would be to add the 'ipblock-exempt' right to the Bots, Autopatrollers, and Administrators groups (or their local equivalents in the given wiki). This actually could be done as a local wiki decision as well without a movement wide decision/recommendation from the Foundation.

The simplest way to implement this idea for Wikimedia wikis would be to add the 'ipblock-exempt' right to the Bots, Autopatrollers, and Administrators groups (or their local equivalents in the given wiki). This actually could be done as a local wiki decision as well without a movement wide decision/recommendation from the Foundation.

Probably. Anyway the part that registers ipblock-exempt should consider these better defaults, considering that blocking logged-in & trusted users is clearly a good faith mistake, not a design choice.

This is not a technical matter but rather a *very wide* policies-related change which requires proper discussion on the relevant projects.

@Vituzzu: Yeah but also blocking autopatrol-flagged and bot-flagged users from an IP-block-range would also merit a proper discussion, which I have not found.

valerio.bozzolan renamed this task from Range IP blocks should not block trusted logged-in users (autopatrol, bot, sysop) to Range IP blocks should not block trusted logged-in users (checkuser, steward, bureaucrat, autopatrol, bot).Nov 9 2022, 9:47 AM
valerio.bozzolan updated the task description. (Show Details)

I think stewards are affected too BTW.

@Vituzzu: Yeah but also blocking autopatrol-flagged and bot-flagged users from an IP-block-range would also merit a proper discussion, which I have not found.

FYI: https://meta.wikimedia.org/wiki/NOP

@Vituzzu before rollbacking my changes in the Task I created, can you be so kind to explain why you don't agree with that assertion? The assertion was: Open proxies are blocked to fight spam, from anonymous users, as well from users with just the e-mail self-verified.

@Vituzzu before rollbacking my changes in the Task I created, can you be so kind to explain why you don't agree with that assertion? The assertion was: Open proxies are blocked to fight spam, from anonymous users, as well from users with just the e-mail self-verified.

You wrote " this paper [sic] supports this proposal...range-blocks were designed". Which is definitely out of the policy letter and ratio:

  1. we are not dealing with rangeblocks but a set of blocks done according to NOP
  2. the purpose is to counter the effect of "[open proxies allowing] users to completely circumvent administrators."
  3. the policy states that "While this may affect legitimate users, they are not the intended targets and may freely use proxies until those are blocked. Tor editing, on the other hand, is automatically prevented." (emphasis is mine) which is quite different from most of the subsequent claims
  4. Editors can be permitted to edit by way of an open proxy with the IP block exempt flag. This is granted on local projects by administrators and globally by stewards. is the most important point: usage of open proxies and similars is subject to community approval, which can't be circumvented through mw configs changes.
valerio.bozzolan renamed this task from Range IP blocks should not block trusted logged-in users (checkuser, steward, bureaucrat, autopatrol, bot) to IP range blocks and trusted logged-in users (autopatrolled, bot, bureaucrat, checkuser, interface-admin, steward).Nov 9 2022, 3:18 PM
valerio.bozzolan updated the task description. (Show Details)

Nobody is trying to open wikis to open proxies. Simply, if Jimmy Wales is logged in, it shouldn't matter if he's from his home or from a strange IP. He's still Jimmy Wales, so no reason to stop him from editing.

I also think that, at the moment, "WMF Support and Safety" and "WMF Office IT" can be affected by IP-based block on Meta-wiki. This seems a bit too risky to me.

I agree with Vituzzu. This is not a technical matter. It should be discussed in global RFC etc instead of here. Thanks.

I agree that a discussion is necessary.

But the question is: where is the current consensus about blocking authorized bots and autopatrollers?

Hi @RAdimer-WMF! Thank you for your help again. I've I searched again... and found no consensus on the current implementation of the IPBlock: I was not able to figure it out why bureaucrat(s), (trusted-)bot(s) and autopatrolled (people whose changes are automatically marked as verified), and maybe more trusted users, are affected as default by IPBlock. Are you also concluding on this result? Thank you

valerio.bozzolan renamed this task from IP range blocks and trusted logged-in users (autopatrolled, bot, bureaucrat, checkuser, interface-admin, steward) to IP range-blocks should not block trusted logged-in users (autopatrolled, bot, bureaucrat, checkuser, interface-admin, steward).Mar 7 2023, 2:02 PM
valerio.bozzolan updated the task description. (Show Details)

@valerio.bozzolan Hi! Sorry for my late reply. I agree with @Vituzzu and @SCP-2000 that this needs to go through a community approval process before it can be implemented. I'm sorry, I know that isn't a very satisfying answer. I have studied the problem of IP blocks and understand the extent of the impact. However this is a community decision ultimately.

Oh sorry me @Niharika, I actually did not want to presume to ask a systemic change from you.

However I think that your help is absolutely precious in gathering some details about the current consensus, that led to the current implementation.

During the Wikimedia Hackaton 2023 in Athens I had some interesting discussion about this topic.

In a moment, I played a small game to some closest friend. I "blocked" (jokingly) some of these friends nearby a specific exit door (among many other available doors). Saying in a very kind way:

Uh :) Hello logged-in Mario Rossi with <sysop / ...> privilege! Even though I know you are an trusted user registered since 2001, even if I know that you had 1 billion positive contributions in this wiki, since you are trying to exit from this specific door (that unfortunately is used by many other untrusted spammers), please perform the unblocking procedure using the following indications, for SECURITY REASONS. Or, exit from another door if you want to continue your work. I hope you will understand that, if you exit from this door, we cannot rely you anymore for SECURITY REASONS.

Everyone looked at me like

:( Come on, Valerio, this has no sense. You know it's me. Let me exit from this door. I'm already here. I don't want to go the long way around, at night, which is less safe to me.

That was really a joke, but is just to say: the current situation seems to make sense, but when it happens to you as logged-in, it is clear that it doesn't make much sense.

Frostly changed the task status from Open to Stalled.Aug 1 2023, 1:18 AM
Frostly claimed this task.
Frostly triaged this task as High priority.

I think that all interface admins, CUs and bureaucrats usually (if not always) are admins, no? Perhaps it’d be redundant to include IPBE in those groups, then.

What do you suggest @Frostly?


Premising that, as far as I understand, the community of CheckUsers very much like the current "bug" that "blocks everyone in the damn planet including registered users, including autopatrolleds, including ...". So, while the situation could be improved (that is not acceptable honestly to me as-is) as compromise we should think about how to still give to our dear CheckUsers the ability to monitor the situation of registered users (so, CU should be able to "spy" whatever sysop that is exiting from non-predictive Internet nodes like "open proxies", for whatever is their weird legitimate investigative reason to explain such invasive eye on trusted "coworkers"...)

I think that all interface admins, CUs and bureaucrats usually (if not always) are admins, no? Perhaps it’d be redundant to include IPBE in those groups, then.

At some site, no, like nlwiki (cu)

Premising that, as far as I understand, the community of CheckUsers very much like the current "bug" that "blocks everyone in the damn planet including registered users, including autopatrolleds, including ...". So, while the situation could be improved (that is not acceptable honestly to me as-is) as compromise we should think about how to still give to our dear CheckUsers the ability to monitor the situation of registered users (so, CU should be able to "spy" whatever sysop that is exiting from non-predictive Internet nodes like "open proxies", for whatever is their weird legitimate investigative reason to explain such invasive eye on trusted "coworkers"...)

Hi Valerio. This is not a bug. Autopatrolled users are intentionally affected by IP blocks.

I'm also quite confused on what you mean by "such invasive eye on trusted 'coworkers'".

Autopatrolled users are intentionally affected by IP blocks.

I imagine but can you please link a community discussion (pre-implementation) that states so? That would be useful.

I'm also quite confused on what you mean by "such invasive eye on trusted 'coworkers'".

I tried to say that surely I can understand that CU users could have a "whatever ... weird legitimate investigative reason" to monitor "trusted wiki coworkers", like bureaucrat or interface admins etc.

But, the current implementation has overkill parameters.

The root Problems

  1. ✅ mitigate spam in Wikimedia Project
    • 100% consensus on that. This explains why new users and IP should be impacted.
  2. 🔶 identifying logged-in trusted accounts that may be just "ninja sock-puppets of long-term problematic blocked users"
    • this deserves a clear explanation. Again, a link pointing to an old discussion would be useful. Since this has surely the most controversial side-effects if described in the wrong way.

Even if we agree on both problems, we SHOULD agree that the current implementation is a problematic solution:

🔴 Blocking everyone, including trusted users, seems that can be used to find "ninja sock-puppets of long-term problematic blocked users" but it just blocks them from that Internet node. So, they leave no edit track, we simply lose activity information that could be potentially useful for check users. In the meanwhile the "malicious user with trusted flags" continue to operate for a very long-time, unnoticed, using other pathways. Since, of course, if the malicious user detects the block, we cannot supposed that it's stupid enough to fill a range block exception request, to the attention of the most privileged and skilled users in the website.

→ This anti-sockpuppet workflow is too much invasive for crazy benefits.

Actionable Things

Imagine a world where check users receive alarms based on "edit coming from logged-in user, with trusted flags, from open proxy" and so can further investigate, eventually allowing to drop any trusted flag, and/or block that user.

This could be implemented with an edit Tag called "Edit from Open Proxy" or something similar.

This would of course allow to immediately re-tune the range-blocks, to only affects IPs, and non-autopatrolleds.

So probably this is actionable:

  • untrusted accounts (not logged-in / freshly registered) are blocked (AS-IS)
  • trusted accounts (autopatrolleds) are blocked just tagged. If the user has the IPBE flag, the user is also untagged.

The best next step would be to open a global RFC gaining consensus for what user groups should include the ipblock-exempt flag (and/or sfsblock-bypass and torunblocked).

I gave this ticket a more thorough read, and there are some points I would like to clarify.

It is not accurate to say that certain user groups are not considered trusted, simply because they are affected by IP blocks. It is more accurate to say that IPBE is bundled with the admin toolkit, because they can grant that userright. In other words: IPBE is not given out to every user group considered "trusted"; it is a fundamentally separate user right from the others.

If a user is affected by an IP block, they can request an exemption. Each project has different processes and criteria for these exemptions, as well as globally, and many projects do not give it out without legitimate reason. The "reason for still blocking" you, as you put it, is that you don't have IPBE. Ask an admin for it. If they say no, you have your answer both for your own contributing and for your proposal here.

Your argument is functionally the same as: why should an interface-admin not be able to review pending changes? (if they don't have the pending changes reviewer right) The answer: they are two separate rights. There is no conspiracy to prevent interface admins from reviewing pending changes. They just have to make a separate request.

Wikimedia projects overwhelmingly distribute rights on a basis of need: if someone needs a user group for their work, they can request it from elected community members, who can grant it. Wikimedia projects do not operate on a binary yes/no trust basis, i.e., there is no "trusted users" cohort like you mention in your initial proposal. Rather, people are trusted for specific things; if someone is trusted for editing through a VPN, an admin can grant them the requisite user right.

I initially wrote a rather long paragraph here about your comments regarding the CheckUser tool, process, and relation to IP blocks. To focus on the IPBE question, I've removed it. The short version is that your comments significantly mischaracterize the intent, function, and result of CheckUser actions and range blocks. I believe this misunderstanding explains why you believe CUs use the tool to spy on people, and would urge you to read more into CU policy and process before writing off some of the most trusted and dedicated users on Wikimedia as bad faith. If these concerns stem from a specific incident regarding CU tool usage, it may be pertinent to report it to the Ombuds Commission, who enforces the relevant policies.

As for steps forward: If you want to make this into an RfC, it should be local, not global. Proposing a global rights change of this size is not going to work, because of the sheer amount of participation that would be needed to make a change like this. If there is local consensus to add IP block exemption to some user groups, then that might work.

Thank you for your help in understanding the current requirements from a "wiki admin" perspective.

I have nothing against CU users. I was never involved in that AFAIK.

I'm just against: bulk-blocking registered users without any strong reason and context not included in:

  1. user created spam
  2. user created copyright issue
  3. user is a sock-puppet of a blocked user
  4. user insults
  5. .....

And, "the registered InterfaceAdmin / BotAuthorized / ... / used a VPN" it's just a borderline super-nonsense reason to block somebody from editing.

People are trusted for specific things

Exactly. Autopatrolleds are trusted for editing while logged-in. And we block them now.

There is surely an historical good faith reason, but where? We have not found any RFC and any discussion about that. And reading that discussion would be somehow a must before opening another one.

taavi subscribed.

Please take this discussion to a more appropriate/on-wiki venue.

Please take this discussion to a more appropriate/on-wiki venue.

Have you any specific page to be used to open such global discussion, without being invalid/ot? Thanks for your help.

I'm somehow confused since I thought that Phabricator was a "touch point" of the "technical decision making" process

https://www.mediawiki.org/wiki/Technical_decision_making

valerio.bozzolan claimed this task.

Can we keep this opened but stalled? Otherwise I forget to follow this correct procedure to unlock Community-consensus-needed:

https://meta.wikimedia.org/wiki/Requests_for_comment

Assigning to myself just because I can invest some time for the first stub. Also to avoid to write code before consensus.

Many technical problems are also social problems, this seems like a definite antifeature + I hope it is ok to keep the ticket open while addressing the social component.
@valerio.bozzolan I also do not recall any global discussion about how range blocks should affect various trusted users, and it is indeed a regular source of difficulty.*

Please do follow the process at meta:RFC, you might also ping some admin or steward noticeboards to invite their input as they have to deal with the request stream now (and are most likely to have opinions about any potential for abuse)

(* in addition to points above, people who find they need an IP block exemption may not be able to ask for one at the moment they need it, and cannot get one in time to use it; some wikis don't have a clear of timely way to process these; error messages shown to people who are blocked can be excessively harsh or confusing and don't make it easy to file a request, paticularly on mobile, &c. There are tickets addressing various related issues. T212192, T336721, T239489, T277049, T151484, T54165, ...)

before writing off some of the most trusted and dedicated users on Wikimedia as bad faith.

Depends on the project and individual CU.

Trust, but verify. And CU-actions often can't be verified.

If these concerns stem from a specific incident regarding CU tool usage, it may be pertinent to report it to the Ombuds Commission, who enforces the relevant policies.

No, they don't.

You might as well file your case to /dev/null. Don't waste your time.

As for steps forward: If you want to make this into an RfC, it should be local, not global. Proposing a global rights change of this size is not going to work, because of the sheer amount of participation that would be needed to make a change like this. If there is local consensus to add IP block exemption to some user groups, then that might work.

@valerio.bozzolan: this is what you should do. Create proposals on wikis locally to add ipblock-exempt to more user groups. If there is some precedent it'll be much easier to discuss a global change.

Nemo_bis subscribed.

I'm closing this task as unclear and not pertaining to MediaWiki core, mostly because it mixes different user groups and permissions some of which are Wikimedia-specific.

In a MediaWiki task we may have a discussion about the bundling or unbundling of certain permissions in the MediaWiki defaults, which may be confusing; but that doesn't seem to be the focus here. Please open a discussion on the Wikimedia Forum to see whether there's consensus on requesting a configuration change. We may find that a different configuration is needed to best apply the existing global policies.

For example, it would be possible to add a permission like torunblocked to the default permissions of a group like bot (indeed it's already been done on some wikis for ipblock-exempt: cswiki in T44720, dewiki in T332759). It would also be possible to allow users in a group like checkuser to add and remove self from the existing ipblock-exempt group; that would still allow individual projects to establish when it's appropriate for them to do so. It's a bit trickier to do either for groups like autopatrolled which are only defined locally, but it may still be possible.

You can see how those groups are defined in core-Permissions.php, for example

'groupOverrides2' => [
	'default' => [
		// Deployed to all wikis by Andrew, 2009-04-28
		'ipblock-exempt' => [
			'ipblock-exempt' => true,
			'torunblocked' => true,
			'sfsblock-bypass' => true,
		],
# etc.
'wgAddGroups' => [
	'default' => [
		'sysop' => [ 'ipblock-exempt' ],
# etc.

See also what Translate does for translation admins with $wgGroupsAddToSelf / $wgGroupsRemoveFromSelf.