Clear the four CodeQL alerts in the release scripts (replaceAll for %2F, comment-line check)
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 83/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- github, typescript
調査の方向性
まず scripts/npm-publish-guard.mjs、scripts/release-notes.mjs、scripts/release-notes.test.mjs を確認し、次に npm run test:scripts を実行してください。issue の説明に従って、3 つのスラッシュ置換と生成コメントのチェックを更新してください。既存のスクリプトテストが通り、PR の CodeQL 実行で 4 件すべてのアラートが修正済みと表示されたら完了です。
索引モデルが issue の本文から書いたものです。
説明
Problem
Four CodeQL alerts are open on main, all in release tooling. None is exploitable, but they keep the code-scanning page non-empty, and a dismissed pattern is flagged again wherever it is copied.
| Alert | Rule | Location (v2/main) |
Flagged | Why it is not a vulnerability |
|---|---|---|---|---|
| #37 | js/incomplete-sanitization |
scripts/npm-publish-guard.mjs:45 (packageUrl) |
name.replace("/", "%2F") replaces only the first / |
npm names hold at most one / (@scope/name); inputs are this repo's own manifests; the URL is a read-only registry lookup |
| #38 | js/incomplete-sanitization |
scripts/release-notes.mjs:229 (registryUrl) |
same | same |
| #39 | js/incomplete-sanitization |
scripts/release-notes.test.mjs:465 (fake fetch) |
same | test code mirroring the above |
| #36 | js/bad-tag-filter |
scripts/release-notes.mjs:299 |
/^<!--.*-->$/ does not match a multi-line comment |
not a sanitizer: it skips GitHub's one-line <!-- Release notes generated… --> marker while parsing GitHub's own generated notes line by line; an unexpected line aborts with "unrecognized line" rather than passing through |
Expected
One PR, no behavior change:
.replace("/", "%2F")→.replaceAll("/", "%2F")in all three places.- The comment check at
release-notes.mjs:299→line.startsWith("<!--") && line.endsWith("-->"). - The existing tests in
scripts/*.test.mjspass unchanged (npm run test:scripts); add a case only if a branch loses coverage. - After the PR's CodeQL run, the four alerts show as fixed on the PR, and close on
mainat the next milestone merge.
Notes
- Found while closing out v2.1.0 (#5243). The two CORS alerts from that release (#42, #43) were dismissed as false positives; #40 and #41 closed as fixed when v2.1.0 replaced
origin: "*". - No changeset: the scripts are not part of any published package.
- 主要言語
- TypeScript
- スター
- 91.4k
- フォーク
- 11.8k
- 平均マージ
- 6時間 37分
- マージ済み PR(30日)
- 147
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
modelcontextprotocol/servers のほかの issue
-
docs(git): clarify unconfined default scope and repository confinement options in README and CLIオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
modelcontextprotocol/servers#5231 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
docs(git): clarify unconfined default scope and repository confinement options in README and CLIオープン
難易度 1/5 1時間未満 初心者へのやさしさ 74/100
modelcontextprotocol/servers#5230 ·
メンテナーはふだん 1 日以内に返信
-
git: README should state plainly that without --repository every reachable repository is in scopeオープンdocumentation server-git v2
難易度 1/5 1〜3時間 初心者へのやさしさ 84/100
modelcontextprotocol/servers#5225 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
chore v2
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
modelcontextprotocol/servers#5223 ·
メンテナーはふだん 1 日以内に返信
-
bug v2
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
modelcontextprotocol/servers#5217 ·
メンテナーはふだん 1 日以内に返信
modelcontextprotocol/servers の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
Merit-Systems/x402scan#1312 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
Native Web
難易度 1/5 1時間未満 初心者へのやさしさ 80/100
digitalfabrik/integreat-app#4517 ·
メンテナーはふだん 2 日以内に返信
-
TLS guide repeats certs/ in the certificate directory対応中かも @maheshrijal が今日担当しました。 オープン
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
prometheus/docs#3156 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
medusajs/dtc-starter#90 ·
メンテナーはふだん 1 日以内に返信