Latest releases seem to have lost attestation/trusted publisher status?
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 15/100
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
説明
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
- 主要言語
- Java
- スター
- 10.7k
- フォーク
- 1.5k
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
github/copilot-sdk のほかの issue
-
Rust: ElicitationRequest drops the tool call id from elicitation.requested再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
github/copilot-sdk#2900 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 84/100
github/copilot-sdk#2876 · コメント 1 件 · リアクション 1 件 ·
-
Python ModelLimits drops max_output_tokens from model metadata再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
github/copilot-sdk#2798 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
github/copilot-sdk#2759 ·
-
docs/AGENTS.md is repo authoring guidance, but everything in docs/ gets published再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープンdocumentation
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
github/copilot-sdk#2758 ·
github/copilot-sdk の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
ls1intum/thesis-management#1473 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
LunaDeerMC/Dominion#301 · コメント 1 件 ·
-
[FEATURE] Expose external refresh, node-level translog and warmer stats対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンuntriaged
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
opensearch-project/opensearch-prometheus-exporter#680 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
メンテナーはふだん 2 日以内に返信