Proposal: Reduce moderator permissions and document what moderators can and cannot do
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 30/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- github
- Bereich
- authorization, documentation, security
Rechercherichtung
Beginne mit diesem Vorschlag und der verlinkten Diskussion openjs-foundation/summit#511, und lies anschließend Moderation-Policy.md und ONBOARDING.md. Prüfe die bestehenden Anforderungen für die Dokumentation von Entscheidungen in nodejs/moderation. Erledigt ist die Aufgabe, wenn Konsens erreicht wurde, Verantwortliche für Eskalationen benannt sind, die Grenzen von Richtlinie und Onboarding dokumentiert sind und die angegebenen Berechtigungsänderungen vorgenommen wurden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Part of the moderation policy review framed by openjs-foundation/summit#511, for discussion at the Moderation Roundtable on October 1 (if not resolves to consensus prior).
Moderation staff hold org-wide control of Node.js
Because the Moderation Policy assumes org-owner access, eight moderation team members currently hold immense permissions incongruent with their typical role requirements. This makes them targets for threat actors.
Org-owner means the ability to:
- Delete any repository in the organization
- Read and rotate organization secrets and tokens
- Override branch protection and push to protected branches
- Alter CI/CD workflows
- Add or remove organization members
- Transfer repositories out of the organization
- Manage billing
That is a lot of power to hold for a role whose daily work is de-escalating conflict, closing or hiding spam, and blocking drive-by accounts. I suggest it is not power any of us needs in order to moderate.
Any one of those eight accounts, compromised, gives an attacker a lot of space to vandalize the project or cause harm. We have recently seen attacks targeting Node.js maintainers. This proposal may be the most security-minded improvement we can make to Node.js.
Reduce to what moderation actually requires
- Retain the Organization Moderator role
- Remove org-owner from anyone who does not hold it for other reasons
- Keep their existing write access to the private
nodejs/moderationrepo - Add explicit write access to nodejs/node - the repo with the most activity
[!NOTE]
This will not cover everything. That is the tradeoff, but it feels necessary to reduce risk.
This proposal is to write the resulting boundaries into the policy so that moderators, reporters, and Collaborators all know where the limits sit.
The boundaries this creates
Any moderator can do these, across every public repo in the organizations, without asking anyone:
- Block and unblock non-members: spammers, bots, drive-by CoC violations
- Set interaction limits, org-wide or per repository
- Hide and unhide comments
A moderator can do these only where they already have write on the repository, which most of us do on the repos we work in as Collaborators:
- Edit, delete, or lock posts
- Hide comments in private repos, which the Moderator role does not reach
[!WARNING]
There is no way to extend this org-wide without granting write on every repository, and write includes push. Hiding is the action that works everywhere, and it is reversible and leaves an audit trail, so it should be the default.
These existing (potential) moderation team actions now require escalation
These seem to be the actions we have historically needed org-ownership for, yet, in practice, occur rarely. We don't need powerful permissions for such rare occurrences. But we should document what we'd do in these cases:
- Removing someone from the organization
- Blocking a Collaborator, which GitHub only permits after org removal
The process: document the decision in nodejs/moderation as the policy already requires, then request execution. Org owners engaged.
Moderators can no longer do these at all, and should not be asked to:
- Anything on the org-owner list above
The open question
Who holds owner for escalations, and how are they designated? Does the TSC have this power? Chairs only? Easy to determine and document.
Action items
- Consensus the change is warranted considering AS-IS permission model and risks
- Designate the org-owners who handle rare removals
- Add the boundaries above to the Moderation Policy as a permissions section
- Make the permission changes
- Edit moderation onboarding
Assisted by: Claude Opus
- Vorherrschende Sprache
- JavaScript
- Sterne
- 202
- Forks
- 183
- Ø Merge
- 13 T. 12 Std.
- Gemergte PRs (30 T.)
- 2
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus nodejs/admin
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
-
tsc-agenda
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 30/100
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 35/100
Ähnliche Issues
-
area/install-update comp/cli comp/desktop P3 sweeper:risk-compatibility type/bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
NousResearch/hermes-agent#122386 · 1 Kommentar ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
-
security
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
IBM/node-sdk-core#373 ·
-
docs web/
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100