Publish from CI with npm provenance (--provenance / OIDC trusted publisher)
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 48/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- github-actions, node.js, typescript
調査の方向性
まず publish-mcp-registry.yml を読み、既存の release:prepare および release:mark-dev スクリプトを追跡します。リリースワークフローに OIDC id-token の権限があり、npm publish --provenance を使用していることを確認します。npm trusted-publisher の設定を maintainer が構成した後、npm view agent-device dist.attestations の null ではない値がリリースコミットを指して解決されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- TypeScript
- スター
- 4.9k
- フォーク
- 328
- 平均マージ
- 12時間 18分
- マージ済み PR(30日)
- 561
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
callstack/agent-device のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
callstack/agent-device#3407 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
callstack/agent-device#3353 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
callstack/agent-device#1869 ·
メンテナーはふだん 1 日以内に返信
-
needs-triage
難易度 3/5 1〜2日 初心者へのやさしさ 76/100
callstack/agent-device#3453 ·
メンテナーはふだん 1 日以内に返信
-
CRAP: newly scored platform-apple simulator boot retry and macOS helper file listing対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
callstack/agent-device#3451 ·
メンテナーはふだん 1 日以内に返信
callstack/agent-device の issue をすべて見る