Publish from CI with npm provenance (--provenance / OIDC trusted publisher)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- github-actions, node.js, typescript
Línea de trabajo
Empieza leyendo publish-mcp-registry.yml y siguiendo los scripts existentes release:prepare y release:mark-dev. Confirma que el flujo de release tiene permisos OIDC id-token y usa npm publish --provenance; la finalización se confirma cuando existe un valor no nulo de npm view agent-device dist.attestations que resuelve al commit de release, después de que un maintainer haya configurado los ajustes de npm trusted-publisher.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
From the MCP registry security assessment (its item 4). release:publish runs npm publish from a maintainer laptop, so the published tarball has only npm's registry signature — dist.attestations is null, and there is no verifiable link from the tarball back to the commit that produced it.
Goal
Publish from CI with npm publish --provenance under an OIDC trusted publisher, so consumers get a signed provenance statement pinning the tarball to its source commit and workflow run.
Work
- Configure the npm package's trusted-publisher / OIDC settings on npmjs.com (maintainer action — cannot be scripted from the repo; blocks the rest).
- Add a release workflow (or extend the existing tag-triggered one) that runs
release:preparethennpm publish --provenancewithid-token: writepermission, instead of a localnpm publish. - Keep
release:mark-devrunning post-publish (added in #2023) somainstill moves off the released version. - The MCP-registry publish workflow already uses OIDC (
publish-mcp-registry.yml) — mirror its trusted-publisher pattern.
Notes
- Independent of #2023; the release-script changes there don't conflict.
- Verify afterward:
npm view agent-device dist.attestationsis non-null and the provenance resolves to the release commit.
- Lenguaje dominante
- TypeScript
- Estrellas
- 4.9k
- Forks
- 328
- Merge medio
- 12 h 18 min
- PR fusionados (30 d)
- 561
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la 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 callstack/agent-device
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
callstack/agent-device#3407 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
callstack/agent-device#3353 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
callstack/agent-device#1869 ·
Los mantenedores suelen responder en 1 día
-
needs-triage
Dificultad 3/5 1-2 días Aptitud para principiantes 76/100
callstack/agent-device#3453 ·
Los mantenedores suelen responder en 1 día
-
CRAP: newly scored platform-apple simulator boot retry and macOS helper file listingPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
callstack/agent-device#3451 ·
Los mantenedores suelen responder en 1 día
Todos los issues de callstack/agent-device
Issues similares
-
nextjs-tracking
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
cloudflare/vinext#3887 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
apache/rocketmq-dashboard#6331 ·
Los mantenedores suelen responder en 5 días
-
bug cache clinical-safety P1-critical
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
juspay/blend-design-system#1788 ·
Los mantenedores suelen responder en 1 día
-
[Analytics] Add Focus Time-Block Efficiency Ratio Calculator in src/lib/focus/efficiency-ratio.tsAbiertoanalytics beginner friendly community contributions-welcome enhancement good first issue hacktoberfest help wanted up-for-grabs
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día