Registry release installs an unpinned nf CLI in the job that holds the registry key
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 65/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- github-actions, typescript
Direzione di ricerca
Leggi .github/workflows/nf-registry-release.yml intorno alle righe 80–87 e confronta il modo in cui viene installata la CLI con il modo in cui il workflow fissa le versioni delle action di terze parti. Scegli e implementa uno degli approcci indicati: usa una versione esatta della CLI con un percorso di aggiornamento gestibile, oppure invoca la versione bloccata nel repository consumer. Il lavoro è completato quando le release del registry non installano più una CLI latest non bloccata e i comandi di login e publish del workflow continuano a usare la versione prevista.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Issue description
The registry release job installs the CLI with no version (.github/workflows/nf-registry-release.yml#L80-L87):
- name: Install the nf CLI
run: pnpm install -g @nanoforge-dev/cli
- name: Log in to the NanoForge registry
run: nf login -k "$NF_REGISTRY_KEY"
Every registry release in every consumer repo therefore runs whatever latest is at that moment. It runs in a job with contents: write, and it receives NF_REGISTRY_KEY. The consequences (traced, not run):
- a broken or compromised CLI release reaches every registry release at once;
- a breaking major (cli 3.0.0 shipped this month) that changes
nf publish -dornf login -kbreaks them all; - nothing records which CLI version a release used.
Third-party actions in this repo are pinned by commit SHA; this npm install is not pinned at all.
Expected: the CLI version is pinned (e.g. an input with an exact default, kept current by Dependabot), or taken from the consumer's lockfile (pnpm exec nf) when the repo already depends on it.
Found by a read-only audit of main at 435a16b (first done at 046494f; this file didn't change in between), report audits/actions-2026-11-11.md in the workspace repo.
Code sample
No response
Versions
- @nanoforge-dev/actions 3.3.0 (
mainat 435a16b)
Issue priority
High (immediate attention needed)
I have tested this issue on a development release
435a16b
- Lingua principale
- TypeScript
- Stelle
- 0
- Fork
- 0
- Merge medio
- 15h 51m
- PR unite (30g)
- 21
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di NanoForge-dev/actions
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
NanoForge-dev/actions#136 ·
I maintainer di solito rispondono entro 1 giorno
-
Registry release silently skips manifests with no name and does not name invalid JSON manifestsApertabug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
NanoForge-dev/actions#135 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
NanoForge-dev/actions#134 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
NanoForge-dev/actions#131 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
NanoForge-dev/actions#119 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di NanoForge-dev/actions
Issue simili
-
Mend: dependency security vulnerability
Difficoltà 1/5 1-3 ore Idoneità per principianti 65/100
fdm-monster/fdm-monster#5563 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
be-BOP-io-SA/be-BOP#2849 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 79/100
I maintainer di solito rispondono entro 1 giorno
-
1️⃣ phase/under-investigation flaky/confirmed flaky/needs-decision type/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
growilabs/growi#12246 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
🐛 The Rulekeeper - An index run that gives up on the lock ends SucceededForse già presa @github-actions l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
SSWConsulting/SSW.Rules#2809 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno