GitHub bloqueará pull_request_target por defecto en repositorios públicos

Un cambio de política en GitHub Actions afecta a los flujos privilegiados de solicitudes de extracción. Así pueden prepararse los responsables.

José Palanco José Palanco
Last Updated:
3 min read
Compartir
GitHub bloqueará pull_request_target por defecto en repositorios públicos

Más allá de ASPM

AppSec basada en pruebas para equipos que desarrollan con IA

Plexicus usa AI Swarm Pentest para explorar rutas de aplicaciones autorizadas, validar qué es explotable y dar a los equipos evidencia para priorizar la remediación.

Explorar AI Swarm Pentest

El 2 de diciembre de 2026, GitHub bloqueará por defecto los eventos pull_request_target en repositorios públicos, salvo que una política de eventos de Actions aplicable los permita expresamente. Antes habrá dos ventanas de aplicación temporal. El cambio protege un límite sensible y puede interrumpir flujos que los equipos esperan ejecutar.

Fechas y alcance

GitHub publicó el calendario actualizado el 2 de noviembre. Antes de la aplicación permanente, la regla está en modo de evaluación: fuera de las ventanas, los flujos afectados pueden ejecutarse con advertencias.

FechaCambio
9 de noviembre de 2026, 16
–18
UTC
Primera ventana de aplicación temporal
16 de noviembre de 2026, 16
–18
UTC
Segunda ventana de aplicación temporal
2 de diciembre de 2026Comienza el bloqueo por defecto

Durante las ventanas, una ejecución bloqueada falla con una anotación de error y el flujo no se ejecuta. La regla afecta a repositorios públicos de GitHub Free, Team y Enterprise Cloud. GitHub indica que no afecta a repositorios privados o internos ni a GitHub Enterprise Server.

Por qué importa este evento

pull_request_target se ejecuta en el contexto del repositorio base. Según la guía de uso seguro de GitHub, los flujos privilegiados pueden acceder a permisos de escritura, secretos referenciados y la caché de la rama principal. Descargar y ejecutar contenido no confiable de una solicitud de extracción en ese contexto puede comprometer el pipeline o exponer secretos.

El nombre del evento por sí solo no demuestra una vulnerabilidad. Examina el código, los scripts y los artefactos procesados, los permisos y secretos disponibles y si una contribución desde un fork puede controlar esas entradas. GitHub advierte también que un flujo workflow_run debe tratar con cautela los artefactos de ejecuciones no confiables.

Diagrama conceptual de entradas de pull request, acciones del flujo y contexto del repositorio base.

Antes de la primera ventana

  1. Usa Insights para identificar las ejecuciones que bloquearía la regla y asigna un responsable a cada flujo.
  2. Decide si el trabajo necesita el evento privilegiado. Para ejecutar código no confiable, considera un flujo pull_request con los permisos mínimos. Prueba los forks y la configuración del repositorio; cambiar el evento no sustituye una revisión de seguridad.
  3. Si el flujo privilegiado es necesario, evita ejecutar código no confiable, limita permisos y revisa los límites de los artefactos. GitHub explica cómo controlar la ejecución de flujos.
  4. Mantén el bloqueo por defecto cuando sea posible. Si necesitas el evento, GitHub permite políticas explícitas y selección de flujos concretos. Aprueba cada excepción: permitir la ejecución no convierte la entrada en confiable.
  5. Realiza una prueba controlada antes del 9 de noviembre y define un responsable y un plan de reversión.

Relaciona la decisión con la evidencia

La política determina si un flujo puede comenzar. La revisión debe conservar evidencia de qué ejecutará y a qué credenciales puede acceder: versión del flujo, origen del evento y resultado observado.

AI Swarm Pentest de Plexicus describe la validación con evidencia de aplicaciones y APIs autorizadas; remediation ayuda a convertir hallazgos validados en correcciones revisables. Usa esos flujos junto con una revisión separada de GitHub Actions: un análisis de aplicaciones no demuestra por sí solo que la política del flujo sea segura.

Revisa los repositorios afectados antes de la primera ventana. Descubre Plexicus remediation.

Imagen: captura de un párrafo original de GitHub Docs, Secure use reference, bajo CC BY 4.0. No implica respaldo.

Escrito por
José Palanco
José Palanco
José Ramón Palanco es el CEO/CTO de Plexicus, una empresa pionera en ASPM (Gestión de Postura de Seguridad de Aplicaciones) lanzada en 2024, que ofrece capacidades de remediación impulsadas por IA. Anteriormente, fundó Dinoflux en 2014, una startup de Inteligencia de Amenazas que fue adquirida por Telefónica, y ha estado trabajando con 11paths desde 2018. Su experiencia incluye roles en el departamento de I+D de Ericsson y Optenet (Allot). Tiene un título en Ingeniería de Telecomunicaciones de la Universidad de Alcalá de Henares y un Máster en Gobernanza de TI de la Universidad de Deusto. Como experto reconocido en ciberseguridad, ha sido ponente en varias conferencias prestigiosas, incluyendo OWASP, ROOTEDCON, ROOTCON, MALCON y FAQin. Sus contribuciones al campo de la ciberseguridad incluyen múltiples publicaciones de CVE y el desarrollo de varias herramientas de código abierto como nmap-scada, ProtocolDetector, escan, pma, EKanalyzer, SCADA IDS, y más.
Leer más de José
More to read

Related posts

¿Listo para validar lo que importa?

Listo para validar lo que importa.

Plexicus es Proof-Driven AppSec: hallazgos validados, comprensión contextual y remediación revisada — anclada en evidencia, acotada contigo.

Calificación

Comprueba si el AI Swarm Pentest encaja en tu entorno.

Déjanos el contexto mínimo. Revisaremos el alcance y te indicaremos el siguiente paso comercial.

Antes de enviar — verifica que encajas

0 / 280

Sin compromiso. Si no encajas, te lo decimos.

SAMPLE HANDOVER · ILLUSTRATIVE

Sample evidence handover

A trimmed view of what your team receives at the end of an AI Swarm Pentest engagement. Real engagements include full technical evidence, executive narrative, and a remediation plan.

VALIDATED FINDING Evidence attached

Server-Side Request Forgery in webhooks/receiver

demo-project/sample-app · src/webhooks/receiver.py:42

SeverityHigh CVSS 3.18.6 Priority79 Confirmedvia replay

Untrusted caller-supplied URLs reach an internal egress without an allowlist. Replayed in a sandbox against a fresh authorized target — the same control was validated to fail twice.

REVIEWER-READY REMEDIATION Merge-ready PR

Validate the target URL against an allowlist of permitted hostnames. Reject private/internal IP ranges. Enforce HTTPS only.

plexicus/remediation/webhooks-ssrf 3 changed · 0 new files
42resp = requests.get(target_url)
42+if not is_allowed_host(target_url):
43+  raise WebhookRejected(target_url)
44+resp = requests.get(target_url, timeout=5)
Every engagement hands over:
  • Executive briefing
  • Validated findings list
  • Merge-ready PRs
  • Compliance mapping (NIS2 · DORA · CRA)
Ronda privada Para inversores