Enforce opt-in signed Git Commits and Tags

Abierto
#18 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
git, github-actions
Área
ci-cd, security

Línea de trabajo

El issue no especifica archivos, pruebas ni puntos de entrada. Empieza revisando los tres objetivos establecidos: crear un workflow compartido de GitHub Actions, usarlo en los repositorios de LoopBack y publicar las claves públicas PGP de los maintainers; se considera terminado cuando se hayan abordado los tres elementos de la checklist.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Currently, we do not enforce PGP-signed Git Commits or Tags. This means that those who expect their contributions to be PGP-signed cannot enforce this policy across the loopbackio Git Repositories. Instead, each Pull Request would need to be manually reviewed for the respective Git Commits and Git Signatures.

This poses a potential security risk as:

  1. It is error-prone (e.g. Maintainers forget to check for verified Git Commits and Git Tags)
  2. The lifecycle of the PGP Keys is not clearly tracked
    To add or remove verified PGP Keys from a GitHub account does not require any publicly-visible evaluation or acknowledgement from other LoopBack Maintianers.

GitHub does provide a mechanism to enforce signed Git Commits and Tags. However:

  1. This does not work for the rebase and merge workflow, which we leverage (i.e. the GitHub check mechanism does not pass).
    Exact reasons are unclear since the resulting Git Commits and Git Tags still have a valid PGP Signature.
  2. It can only be enforced for everyone or no one
    The LoopBack Project is a general open-source project, hence enforcing signed commits for every contributor would significantly raise the contribution barrier. Furthermore, this does not solve the problem of managing the PGP Keys' lifecycle in an open and transparent manner.

To combat this issue, LoopBack Maintainers who want to enforce valid, PGP-signed Git Commits and Git Tags should publish their PGP Public Key in this Git Repository, which will then be leveraged by a shared GitHub Action Workflow across the loopbackio Git Repositories to enforce this policy.

This issue is to track:

  • The creation of the shared GitHub Action Workflow
  • Usage of the shared GitHub Action Workflow across loopbackio Git Repositories
  • The publishing of LoopBack Maintainers' PGP Public Keys
Lenguaje dominante
TypeScript
Estrellas
4
Forks
1
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de loopbackio/security

Todos los issues de loopbackio/security

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.