Latest releases seem to have lost attestation/trusted publisher status?
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 15/100
Direzione di ricerca
The report concerns npm trusted-publisher provenance for the @github/copilot-sdk-darwin-arm64 package: version 1.0.13 was published from github-actions, while 1.0.26 came from copilot-cli-release-app. Start by comparing the publish workflows and the npm trusted-publisher settings for both identities, which the payload does not include. Done means the maintainers confirm whether the 1.0.26 release is expected and either restore provenance or document the change.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I'm using mise to install @github/copilot-language-server and it uses aube to install npm based toolchains. aube has a trust policy concept, and in mise it's default is trustPolicy=no-downgrade https://aube.sh/security#trust-policy which basically requires that if a release was previously published with attestation and a newer release is missing it. This is to prevent supply chain attacks where for example, an attacker gains API access to publishing new packages, but doesn't have the signing keys or only got a developer credential rather than the CI's publishing credentials. In that case, the newer release published by an attacker would be missing the attestation it normally has, and aube would catch that as a potential attack.
From my mise error (detailed below), I think the gist is that @github/copilot-sdk-darwin-arm6 (and probably the other platforms) were previously published to npm with a trusted publisher, but are not published via the trusted publisher anymore, so it fails aube's checks.
I'm not sure what the cause is, but I noticed at some point the releases were publishing under github-actions in eg: https://github.com/github/copilot-sdk/releases/tag/v1.0.13 but now they're published under copilot-cli-release-app: https://github.com/github/copilot-sdk/releases/tag/v1.0.26. Perhaps that's the cause? https://docs.npmjs.com/trusted-publishers makes me think that perhaps this new identity doing publishing in GitHub is also the identity publishing to npm, but it might not be configured correctly in npm, or maybe there was another switch that caused isses.
Error logs
My mise config contains the following:
[tools]
"npm:@github/copilot-language-server" = "latest"
And I've previously installed the package, so my lockfile has details about a previous release indicating it had attestation.
Here's the full error what I'm seeing in mise:
npm:@github/copilot-language-server@latest: aube install failed: failed to resolve dependencies
caused by: trust downgrade for @github/[email protected] (trustPolicy=no-downgrade): earlier published version 1.0.13 had trusted publisher but this version has no trust evidence
This is a supply-chain trust failure, not an ordinary version-resolution error. An earlier release had stronger trust evidence than the selected release. This can indicate a compromised or tampered release; it can also happen when a maintainer manually publishes, backports outside the trusted workflow, skips provenance for convenience, or uses a registry that strips metadata.
Before bypassing, inspect the package's npm release, source tag/commit, publisher identity, and tarball; compare the metadata with npmjs.org. Confirm the release is expected and nothing appears tampered with, then report inconsistent evidence to the relevant upstream owner. Package-release drift belongs with the maintainer; metadata present on npmjs.org but missing from a proxy or mirror belongs with that registry operator.
Only after review, add the narrowest affected `<package>@<version>` to `trust_policy_excludes` for this tool, e.g.:
"npm:@github/copilot-language-server" = { version = "latest", trust_policy_excludes = ["<package>@<version>"] }
A bare package name exempts every version. `mise settings npm.shell_out=true` uses the npm CLI and bypasses this check entirely, so it should be a last resort.
Investigation guide and known exceptions: https://aube.jdx.dev/security#trust-policy
npm:@github/copilot-language-server@latest: aube install failed: failed to resolve dependencies
caused by: trust downgrade for @github/[email protected] (trustPolicy=no-downgrade): earlier published version 1.0.13 had trusted publisher but this version has no trust evidence
This is a supply-chain trust failure, not an ordinary version-resolution error. An earlier release had stronger trust evidence than the selected release. This can indicate a compromised or tampered release; it can also happen when a maintainer manually publishes, backports outside the trusted workflow, skips provenance for convenience, or uses a registry that strips metadata.
Before bypassing, inspect the package's npm release, source tag/commit, publisher identity, and tarball; compare the metadata with npmjs.org. Confirm the release is expected and nothing appears tampered with, then report inconsistent evidence to the relevant upstream owner. Package-release drift belongs with the maintainer; metadata present on npmjs.org but missing from a proxy or mirror belongs with that registry operator.
Only after review, add the narrowest affected `<package>@<version>` to `trust_policy_excludes` for this tool, e.g.:
"npm:@github/copilot-language-server" = { version = "latest", trust_policy_excludes = ["<package>@<version>"] }
A bare package name exempts every version. `mise settings npm.shell_out=true` uses the npm CLI and bypasses this check entirely, so it should be a last resort.
Investigation guide and known exceptions: https://aube.jdx.dev/security#trust-policy
lockfile generation would downgrade recorded provenance; previous files were preserved
aube install failed: failed to resolve dependencies
caused by: trust downgrade for @github/[email protected] (trustPolicy=no-downgrade): earlier published version 1.0.13 had trusted publisher but this version has no trust evidence
This is a supply-chain trust failure, not an ordinary version-resolution error. An earlier release had stronger trust evidence than the selected release. This can indicate a compromised or tampered release; it can also happen when a maintainer manually publishes, backports outside the trusted workflow, skips provenance for convenience, or uses a registry that strips metadata.
Before bypassing, inspect the package's npm release, source tag/commit, publisher identity, and tarball; compare the metadata with npmjs.org. Confirm the release is expected and nothing appears tampered with, then report inconsistent evidence to the relevant upstream owner. Package-release drift belongs with the maintainer; metadata present on npmjs.org but missing from a proxy or mirror belongs with that registry operator.
Only after review, add the narrowest affected `<package>@<version>` to `trust_policy_excludes` for this tool, e.g.:
"npm:@github/copilot-language-server" = { version = "latest", trust_policy_excludes = ["<package>@<version>"] }
A bare package name exempts every version. `mise settings npm.shell_out=true` uses the npm CLI and bypasses this check entirely, so it should be a last resort.
Investigation guide and known exceptions: https://aube.jdx.dev/security#trust-policy
- Lingua principale
- Java
- Stelle
- 10.7k
- Fork
- 1.5k
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun 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 github/copilot-sdk
-
Rust: ElicitationRequest drops the tool call id from elicitation.requestedForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
github/copilot-sdk#2900 ·
-
Bump zod version to 4.6.6.Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 84/100
github/copilot-sdk#2876 · 1 commento · 1 reazione ·
-
Python ModelLimits drops max_output_tokens from model metadataForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
github/copilot-sdk#2798 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
github/copilot-sdk#2759 ·
-
docs/AGENTS.md is repo authoring guidance, but everything in docs/ gets publishedForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Apertadocumentation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
github/copilot-sdk#2758 ·
Tutte le issue di github/copilot-sdk
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
ls1intum/thesis-management#1473 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
LunaDeerMC/Dominion#301 · 1 commento ·
-
[FEATURE] Expose external refresh, node-level translog and warmer statsForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertauntriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
opensearch-project/opensearch-prometheus-exporter#680 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 2 giorni