Remove the `pull_request_target` workflow before GitHub blocks it

Abierto Apto para principiantes
#489 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

@jat255 ya está trabajando en esto.

Desde el 7/11/2026.

  • #490 de @jat255 — abierto

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
78/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
github-actions, python
Área
ci-cd

Línea de trabajo

Lee .github/workflows/preview-fork-notice.yml y .github/workflows/py-docs.yaml para ver cómo funciona el workflow de aviso y dónde escribe el workflow de documentación el resumen de ejecución. Elimina el workflow de aviso y actualiza el resumen para informar a los autores de forks de que su PR no obtiene una vista previa. Se considera terminado cuando el workflow independiente haya desaparecido y las ejecuciones de PR de forks muestren ese mensaje en el resumen.

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

Descripción

From December 2, 2026, GitHub blocks pull_request_target workflows in public repositories unless an Actions policy allows them (GitHub docs). Our only such workflow is preview-fork-notice.yml, and each of its runs already shows a warning about this.

That workflow is safe, but asking for a policy exception to keep a one-line comment is not worth it. The exception would also cover any future pull_request_target workflow, including one that is not safe. I propose that we remove the workflow, and that py-docs.yaml tells fork authors in its run summary that their PR gets no preview.

Why GitHub restricts pull_request_target (agent-written)

A pull_request_target workflow runs in the context of the base repository. It gets a GITHUB_TOKEN that can write and it can read the repository's secrets, even when the PR comes from a fork. The workflow file comes from the base branch, so a fork cannot change it.

The risk is a workflow that checks out the PR's code and then runs it (an install, a build, a test suite, or a tool that reads config from the repository). The attacker's code then runs with write access and secrets. It can push to main, read deploy keys, or poison the Actions cache. This pattern is called a "pwn request", and it caused real supply-chain attacks. A related risk is PR text, such as a title or a branch name, put directly into a run: script with ${{ }}.

preview-fork-notice.yml does none of this. It never checks out the PR and runs no PR code. The new default looks only at the event, so it blocks safe and unsafe workflows the same way.

Lenguaje dominante
Python
Estrellas
69
Forks
5
Merge medio
5 d 3 h
PR fusionados (30 d)
33

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

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 posit-dev/commons

Todos los issues de posit-dev/commons

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.