dwyl / dwyl/github-backup

Webhook Secret

Abierto
#76 0 comentarios 0 reacciones 0 asignados Ver en GitHub
enhancement question technical
Lenguaje dominante
Elixir
Estrellas
33
Forks
3
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

When creating a New GitHub Application via https://github.com/settings/apps/new
we are given the _option_ to add a `Webhook Secret`:
![image](https://user-images.githubusercontent.com/194400/37258025-6ac38556-2569-11e8-866f-32f9bc26ff72.png)
While the `Webhook Secret` is "_optional_", I feel it would add good "security layer" to our app.
Otherwise _anyone_ can "spoof" a webhook `POST` request to our app and make an "edit" to someone else's issue.

> Yes, this would be "non-destructive" because the "single-source-of-truth" is still _GitHub_.
But if the person made _multiple_ "malicious" edits they could create quite a lot of spam/noise.

I don't think we need to do this "urgently" while we are using the app _internally_,
but as soon as it's `public` we should consider adding this layer of protection.

How would this work in our Elixir/Phoenix App?
The `ruby` code in the docs: https://developer.github.com/webhooks/securing
should be _fairly_ easy to "translate" to Elixir.

Guía de contribución

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

Línea de trabajo

Comienza leyendo la documentación de seguridad de webhooks de GitHub enlazada en la issue y, después, localiza el handler de POST del webhook de la aplicación Elixir/Phoenix. Determina cómo puede el handler validar el Webhook Secret de GitHub antes de aceptar modificaciones de issues; se considera completado cuando se rechazan las solicitudes falsificadas y los webhooks genuinos de GitHub siguen funcionando.

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

Evaluación

Stack tecnológico
elixir, github
Área
api, backend, security
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.