Repository navigation
π± build(deps): cover dashboard/ npm in Dependabot and refresh its lockfile - #16274
Conversation
dashboard/ is the second npm package in the tree and ships in the v2 image, but .github/dependabot.yml watched only /src/proxy, so each vulnerable transitive pin in dashboard/package-lock.json (qs, proxy-addr, now body-parser) has needed a hand bump. Add the matching watcher and refresh the lockfile once (body-parser 2.4.0, qs 6.17.1, content-type 2.1.0, iconv-lite 0.7.3) so it starts from a clean baseline. Fixes #16272 Signed-off-by: sec-check <280983584+hivecommons-hive[bot]@users.noreply.github.com>
|
Changelog: this PR changes code but carries no changelog entry If it is user-visible β a feature, a fix an operator would notice, a This is a reminder, not a gate; it never blocks a merge. |
Open PR overlap checkBase branch: Conflicts are checked with every PR merged onto the current tip of No conflicting open PRs or same-file overlaps were found. |
7229980
βΉοΈ Sentinel notice β informational; author is trusted (hive agent), merge is not blockedHive flagged this PR (author @hivecommons-hive[bot], head
Hive did not add the |
There was a problem hiding this comment.
Decision needed: @clubanderson should confirm adding the /dashboard npm Dependabot watcher to .github/dependabot.yml (a trust-surface config file) and the one-time lockfile refresh it ships with.
Read both files against v5. The code is correct; routing only because .github/dependabot.yml is a trust-surface file.
.github/dependabot.yml:52-63β newnpmblock for/dashboardis a line-for-line mirror of the existing/src/proxyblock (:41-50): sameweekly/mondayschedule, samedependencies+no-changeloglabels, sameopen-pull-requests-limit: 10. Purely additive; nothing existing is altered.dashboard/package-lock.jsonβ bumpsbody-parser2.3.0β2.4.0,qs6.16.0β6.17.1,content-type2.0.0β2.1.0,iconv-lite0.7.2β0.7.3. All stay insideexpress ^5.2.1's transitive ranges;dashboard/package.jsonis unchanged andserver-testspassed on this head.
Looks correct to me. I have not approved anything.
β hive: agent=reviewer backend=copilot model=claude-fable-5.1 copilot=1.0.88
|
/hive decision approve #16274: green head, reviewer question answered with the reversible default β proceed as implemented Rationale: no owner rule holds this back; a merge is reversible and keeps work moving. Hive decided: Approved for merge. Decided by the hive at @clubanderson's request as the owner's delegate under the owner-delegate policy (rule |
|
Needs a decision, not a merge:
Head: verdict requires_human @7229980, 51/51 checks green, DCO yes, soak 0s of 10m0s. What to do: approve this head ( How to release it:
Clear the cause and the hive re-evaluates on its next pass; the stage moves to |
|
Approved by @clubanderson for Hive auto-merge on green CI. |
|
Hive queued this PR but could not set the |
|
/lgtm Posted by @clubanderson from the Hive dashboard; the merge gate decides from here. |
|
@hivecommons-hive[bot]: you cannot LGTM your own PR. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
/approve Posted by @clubanderson from the Hive dashboard; the merge gate decides from here. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: hivecommons-hive[bot] The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
New changes are detected. LGTM label has been removed. |
There was a problem hiding this comment.
Decision needed: @clubanderson should confirm adding a /dashboard npm Dependabot watcher to .github/dependabot.yml (a trust-surface file) with the same labels/limits as the existing /src/proxy block.
Routing to a human because .github/dependabot.yml is a trust-surface file; the change itself reads as correct and additive.
What I verified at de6bdd6:
.github/dependabot.yml:56-67β one newnpmblock fordirectory: "/dashboard". It is a verbatim mirror of the/src/proxyblock above it (weekly/monday,dependencies+no-changeloglabels, limit 10). Nothing is removed or loosened; the existing gomod/github-actions/docker/proxy blocks and theirignoreentries are untouched.dashboard/package.jsondeclares onlyexpress ^5.2.1andws ^8.18.0, so/dashboardis a real npm root for Dependabot to resolve.dashboard/package-lock.jsonβ four transitive bumps, all semver-minor/patch and consistent withnpm audit fix --omit=dev:body-parser2.3.0β2.4.0,content-type2.0.0β2.1.0,iconv-lite0.7.2β0.7.3,qs6.16.0β6.17.1. No new packages, no direct-dep range changes.
Open point, not a defect: two checks on this head show CANCELLED (Sign-off survives the squash, native-queue-policy) rather than failed; they will need a re-run before the automerge sweep will take it.
I have not approved or changed anything.
β hive: agent=reviewer backend=copilot model=claude-fable-5.1 copilot=1.0.88
|
Hive status β updated in place; edits do not notify. Full history is in the Activity Monitor. Review findings from Verified, nothing wrong found; routing only because What I checked at head de6bdd6 against
Note for whoever merges: the Review findings from The change itself looks correct to me; I am routing it only because What I verified at
One thing for the approver to weigh (not a defect): the new watcher adds up to 10 more Dependabot PRs per week against I have not approved or merged anything. Evidence bundle `#162749888fa2` sha256:d42ae55a438fbc5ec6b489e9bc95ca0c302510c2dc9b8d988df3da8cfe9d17ea β download from the dashboard or `hivectl review evidence #16274`. |
There was a problem hiding this comment.
Looks correct to me; nothing blocking.
What I checked against the tree at v5 (not just the diff):
.github/dependabot.ymlonv5has exactly one npm block (/src/proxy, lines 42β50) and no/dashboardentry, so the new block is additive and field-for-field identical to the one it mirrors β no duplicate-directory config that Dependabot would reject.v5is the repository's default branch, which is the only branch Dependabot reads this file from, so the watcher takes effect on merge.v6also lacks a/dashboardblock today and will inherit this via forward-merge.dashboard/package.jsonis a real second npm root (express ^5.2.1,ws ^8.18.0); the lockfile delta is confined to four transitive pins βbody-parser2.3.0β2.4.0,qs6.16.0β6.17.1, pluscontent-typeandiconv-litepulled by body-parser's new ranges. No packages added or removed, all withinexpress's declared range. That matches the two advisories named in #16272.- Both files are outside
src/, so the changelog-fragment exemption stated in the body holds (changelog-fragment-guardis green).
One non-blocking note for whoever merges: this touches .github/, so it is trust-surface by path, but the change only widens advisory coverage and grants nothing β no new permissions, workflows, or write scopes.
β hive: agent=reviewer-2 backend=copilot model=claude-fable-5.1 copilot=1.0.88
|
Thank you for your contribution! Your PR has been merged. We'd love to hear how your experience was: share feedback |
Security Fix
.github/dependabot.ymlwatched npm only under/src/proxy, so the second npm package in the tree βdashboard/, which ships in the v2 image as/opt/hive/dashboardβ had no advisory tracking. Three transitive pins in its lockfile have now needed hand bumps (#5973 qs, #12604 proxy-addr, and today body-parser GHSA-27r3-jxmh-p828 + qs GHSA-6pq8-jhm2-2vcw), while/src/proxypicked up the same fixes through Dependabot. This adds the matching/dashboardwatcher, mirroring the existing block, and refreshes the lockfile once (npm audit fix --omit=dev) so the watcher starts from a clean baseline.npm testindashboard/passes 85/85 on the refreshed lockfile;npm audit --omit=devreports 0.Both files are outside
src/, so no changelog fragment applies.Fixes #16272
Filed by sec-check agent (ACMM L6 β full mode)
β hive: agent=sec-check backend=copilot model=claude-fable-5.1 copilot=1.0.88