Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

SHA-pin the GitHub Actions that hold secrets or publish (claude-code-action, release job)

クローズ 初心者向け
#2,484 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
65/100
issue の種類
リファクタリング
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
docker, github-actions, typescript
領域
ci-cd, security

調査の方向性

issue に記載されているワークフローファイル (sdk-watch.yml と main.yml) を確認してください。シークレット (ANTHROPIC_API_KEY、npm OIDC、packages: write) を使用するジョブを特定します。それらのジョブ内の各アクションについて、可変タグ (@v7 など) を提供されたコミット SHA に置き換え、コメントを追加します。テスト環境でワークフローを実行するか、構文をチェックして変更を検証します。月次の dependency-refresh スイープは、これらの SHA が古くなった場合に報告します。

索引モデルが issue の本文から書いたものです。

説明

chore security v2

Severity: Low to Medium. CWE: CWE-829. Related: #1882 (earlier SHA-pinning of claude.yml, closed) and #2235 (decision to leave actions on moving major tags and report staleness via the monthly sweep).

What

I understand from #2235 that the actions are deliberately on moving major tags (@v4/@v7) and that staleness is reported by the
monthly sweep. This issue does not ask to revisit that everywhere. It asks for a narrower rule: pin by commit SHA the actions that run in a
job with a secret or a publish credential, where a moved tag replaces the code holding the credential.

Job Credential in scope Actions on a mutable tag
sdk-watch.yml analyze (line 179) ANTHROPIC_API_KEY anthropics/claude-code-action@v1
main.yml release/publish npm OIDC (id-token: write) actions/checkout@v7, actions/setup-node@v7
main.yml Docker/GHCR job packages: write, provenance attestation docker/login-action@v4, docker/build-push-action@v7, docker/metadata-action@v6, docker/setup-*-action@v4, actions/attest-build-provenance@v4

For scale: Semgrep github-actions-mutable-action-tag reports 24 uses: lines; OpenSSF Scorecard (CLI, 2026-09-24) gives
Pinned-Dependencies 1/10 (overall 7.7; Token-Permissions 10, Dangerous-Workflow 10, Vulnerabilities 10, Dependency-Update-Tool 10, SAST 0, Branch-Protection 5).

Commit SHAs resolved on 2026-09-24 (re-verify before use; tags move)
Action Tag Commit
actions/checkout v7 3d3c42e5aac5ba805825da76410c181273ba90b1
actions/setup-node v7 820762786026740c76f36085b0efc47a31fe5020
actions/cache v6 55cc8345863c7cc4c66a329aec7e433d2d1c52a9
actions/upload-artifact v7 043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
actions/download-artifact v8 3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c
actions/attest-build-provenance v4 4d101475d8b20a2381f78447822ac1eab6504dd8
anthropics/claude-code-action v1 8cf3482550831fb35a4fc3fbf7ca139cf8028b4c
docker/login-action v4 dbcb813823bdd20940b903addbd779551569679f
docker/metadata-action v6 dc802804100637a589fabce1cb79ff13a1411302
docker/setup-qemu-action v4 99012661954931238ded8c8b007157a8430204e1
docker/setup-buildx-action v4 f87e5991a6d7451dcb8d9637bfbc97413f497069
docker/build-push-action v7 c3c9e263c25d99ce0380d002d59b67737d91b0dc
Suggested change
  • Pin those refs to SHAs with a trailing # vN comment, and let the monthly dependency-refresh sweep report stale SHAs the way #2235 option A describes.
  • Optionally add an OpenSSF Scorecard workflow, and a small CI check that any uses: in a job holding a secret is a 40-hex ref.
Reviewed and not a finding

permissions: are least-privilege in every workflow, there is no pull_request_target, and ${{ }} expressions reach run: only through
env:. sdk-watch.yml correctly splits the model job (read-only, Read/Grep/Glob only) from the write job.


Reviewed at 1e31c78 (v2.8.0). No fix code is offered, per CONTRIBUTING.md.

Prompt used (per CONTRIBUTING.md)

"Audit this repository's CI workflows and one crypto module against the OpenSSF/CRA-friendly checklist. Run Semgrep,
osv-scanner, gitleaks and trufflehog; read every cited line before accepting a finding; reproduce any crypto claim on the
lowest supported Node version; drop findings that are test fixtures or already mitigated."

主要言語
TypeScript
スター
11.1k
フォーク
1.5k
平均マージ
4時間 32分
マージ済み PR(30日)
136

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

modelcontextprotocol/inspector のほかの issue

modelcontextprotocol/inspector の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。