Document RepositoryRole actor_id values for ruleset bypass_actors — critical security feature, currently undocumented
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 74/100
- Tipo de issue
- Documentación
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- openapi
- Área
- api, documentation
Línea de trabajo
Localiza la descripción del esquema RepositoryRole actor_id en la definición OpenAPI de este repositorio y revisa cómo están documentados los valores enum o de rol relacionados. Documenta las asignaciones de actor_id confirmadas, incluyendo maintain, write y admin, y valida después que el esquema siga siendo válido.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
We have a merge queue with audit rules. Those audit rules are generally working. However, we're pre-packaging rules in an upstream repo that's leveraged by downstream repos. Therefore, those downstream repos need the agency to be able to push through their own changes in case the upstream workflow is broken. So we need to put in place security bypasses, for admin and maintainer, via bypass_actors.
Considering Admin is #5, per the Repository roles page's pre-defined role ordering (Read, Triage, Write, Maintain, Admin), I would assume Read is 1, Triage is 2, Write is 3, Maintain is 4, and Admin is 5.
Much to my surprise, if I had chosen #4, literally anyone with write access to the repo would be able to automatically supersede the audits and push their merge through — the real mapping is maintain: 2, write: 4, admin: 5, not sequential at all.
The only indication of truth for this is a single community PR, added because "there seems to be confusion regarding this" — no GitHub confirmation cited. As Douglas Adams put it: "But the plans were on display…" "On display? I eventually had to go down to the cellar to find them." "That's the display department." "With a flashlight." "Ah, well, the lights had probably gone." "So had the stairs." "But look, you found the notice, didn't you?" "Yes," said Arthur, "yes I did. It was on display in the bottom of a locked filing cabinet stuck in a disused lavatory with a sign on the door saying 'Beware of the Leopard.'" That's exactly what this is.
This is a critical security feature and it should not be undocumented, and it should not be eligible to be pulled out from under us the way OrganizationAdmin's ID already was — silently invalidated, only caught in #3487. Look at what happened with left-pad in 2016: a single unaffiliated dependency, pulled with no warning, broke everything downstream that had quietly come to rely on it.
Ask: publish the real RepositoryRole actor_id values directly in this repo's schema description for actor_id, so this stops being sourced from third-party, unconfirmed docs for a control this security-sensitive.
- Lenguaje dominante
- Sin datos de lenguaje
- Estrellas
- 1.6k
- Forks
- 342
- Merge medio
- 3 h 33 min
- PR fusionados (30 d)
- 51
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de github/rest-api-description
-
feature
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
github/rest-api-description#7201 ·
-
feature
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
github/rest-api-description#7163 ·
-
Runner deprecations: registration_deprecates_at is declared on the response but never returned Abiertofeature
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
github/rest-api-description#7162 ·
-
feature
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
github/rest-api-description#7135 ·
-
feature
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
github/rest-api-description#7096 ·
Todos los issues de github/rest-api-description
Issues similares
-
has_tail_capacity wraps and get_writable_raw_unchecked commits raw_len before the bounds check Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
stratum-mining/stratum#2404 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
documentation
Dificultad 2/5 Medio día Aptitud para principiantes 62/100
inmanta/inmanta-core#10835 ·
-
opensubtitlescom: moviehash never sent when opensubtitles (.org) is not in the provider list Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
Diaoul/subliminal#1382 ·
-
fix(errors): EHOSTUNREACH from a happy-eyeballs connect is reported as a resolver error (STAMP-80) Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
snapshot-labs/stamp#666 ·