chore: bump @vllnt/ui postcss security range#360
Conversation
|
REQUEST_CHANGES-equivalent (authenticated account owns this PR, so GitHub may not allow a formal request-changes review). Blocking:
Verified clean:
Follow-up created on the board: |
|
PostCSS remediation follow-up is ready for re-review at Evidence refreshed:
|
|
Review outcome for head BLOCKING
WARN
VERIFIED CLEAN
VALIDATION
Note: because the authenticated GitHub account is also the PR author, I am recording this as a PR comment rather than submitting an autonomous approval. |
Refreshes the PR head to replace the canceled Vercel ui.vllnt.ai preview gate without changing code.
|
External preview rerun attempted for the remaining non-code gate. Action taken:
Result:
Needed decision/action:
|
Review — PR #360 current head 172b32bVerdict: manual approval ready for the scoped PostCSS remediation, with one explicit merge/release caveat. I reviewed the current head
BLOCKINGNone for the dependency/security diff itself. WARN / CAVEAT
VERIFIED CLEAN
LINE / HUNK COVERAGE LEDGER
RULE COVERAGE
VALIDATIONEvidence checked:
Not rerun locally:
Manual approval is still reserved for bntvllnt; I am not submitting an autonomous APPROVE. |
bntvllnt
left a comment
There was a problem hiding this comment.
@bntvllnt REQUEST_CHANGES — one blocking dependency-audit finding remains.
Blocking:
- PR #360 moves the direct workspace PostCSS peer slice to 8.5.10, but
pnpm audit --audit-level moderate --jsonat head still reports the scoped PostCSS advisory (1117015, patched>=8.5.10) throughnext@16.2.6 -> postcss@8.4.31in bothapps/registryandpackages/ui. Because this PR is the canonical PostCSS remediation for #355, the review cannot treat the PostCSS advisory as remediated until the residual finding is either fixed or explicitly documented/escalated as non-actionable.
Evidence checked at head 172b32b0f178b5da608d16ffafcf4301fd3f1394:
pnpm install --frozen-lockfile --ignore-scriptspassed.pnpm audit --audit-level moderate --jsonexited 1 and still contains modulepostcssadvisory1117015vianext@16.2.6 -> postcss@8.4.31.- PR body links
Closes #355and the diff is dependency-manifest/lockfile only. - GitHub checks are green for Quality Gates, CodeQL, health scan, issue-link, JS/TS analysis, actions analysis, preview comments, and Storybook;
Vercel – ui.vllnt.airemains failed/canceled externally.
Requested change:
- Either eliminate the residual PostCSS audit finding, or update the PR/issue evidence with an explicit non-actionable residual-audit rationale for the
next@16.2.6 -> postcss@8.4.31path so the security claim matches HEAD.
| "autoprefixer": "^10.4.20", | ||
| "eslint": "^9.39.1", | ||
| "postcss": "^8.5", | ||
| "postcss": "^8.5.10", |
There was a problem hiding this comment.
Blocking: this direct PostCSS bump does not fully clear the PostCSS audit finding at HEAD. pnpm audit --audit-level moderate --json still reports advisory 1117015 through next@16.2.6 -> postcss@8.4.31, so the #355 remediation evidence needs either a fix or an explicit residual-audit/non-actionable rationale.
|
Preview ready · pr-360-ui-registry
Inspect
|
bntvllnt
left a comment
There was a problem hiding this comment.
@bntvllnt REQUEST_CHANGES — current-head review for PR #360 at 48ccea342d2c9811c83f98b99c4959da030fb927.
Review — 2 blocking findings, 0 warnings
BLOCKING
-
C1 — PostCSS advisory still remains in the current lockfile- Evidence:
pnpm-lock.yamlstill resolvesnext@16.2.6withpostcss: 8.4.31, and still containspostcss@8.4.31package/snapshot entries. A current-headpnpm audit --jsonreports advisory1117015(PostCSS has XSS via Unescaped </style> in its CSS Stringify Output) withvulnerable_versions: <8.5.10,patched_versions: >=8.5.10, and finding version8.4.31. - Why it matters: issue #355 is a security-remediation issue for the PostCSS
<8.5.10XSS advisory. This PR does bump the direct workspace PostCSS peer slices to8.5.10, but the current lockfile still contains the vulnerable PostCSS version through the registry Next.js dependency graph, so closing #355 from this PR would leave the advisory unresolved in the dependency graph. - Fix: update the remediation so the lockfile no longer contains or audits
postcss@8.4.31/<8.5.10, or keep #355 open and narrow this PR/body so it does not claim the full PostCSS advisory is resolved.
- Evidence:
-
C2 — PR body is stale for the current head- Evidence: the live head is
48ccea342d2c9811c83f98b99c4959da030fb927, but the PR body still saysCurrent PR head: 172b32b0f178b5da608d16ffafcf4301fd3f1394and its CI/status section describes a failed/canceled Vercel preview caveat. Live checks on the current head are now green/acceptable, includingvllnt-pilot / preview deploy,build · sign · scan · deploy, CodeQL, Quality Gates, and issue-link enforcement. - Why it matters: repo rule R3 requires the PR body to match HEAD. Reviewers should not have to reconcile stale validation/head/preview claims against the live PR state during a security dependency merge.
- Fix: rewrite the PR body for head
48ccea342d2c9811c83f98b99c4959da030fb927, with the current changed-file list, current dependency evidence, and current check status.
- Evidence: the live head is
VERIFIED CLEAN
- Scope is bounded to the three routed files:
apps/registry/package.json,packages/ui/package.json, andpnpm-lock.yaml. - The direct workspace PostCSS devDependency floors in
apps/registry/package.jsonandpackages/ui/package.jsonnow point to^8.5.10. - The lockfile updates for those direct PostCSS peer slices are internally consistent: the registry and UI importer entries now resolve direct
postcssto8.5.10, and relatedautoprefixer/tsuppeer snapshots moved topostcss@8.5.10. - PR metadata is linked to issue #355.
VALIDATION
- Confirmed live PR state immediately before review: OPEN, non-draft,
mergeStateStatus=CLEAN,mergeable=MERGEABLE, head48ccea342d2c9811c83f98b99c4959da030fb927. - Inspected every changed file and surrounding manifest/lockfile context.
- Marked all three changed files viewed in GitHub.
- Checked live GitHub checks: 9 visible checks, all success/pass or acceptable neutral.
- Ran
pnpm audit --jsonagainst the current lockfile; it still reports the PostCSS<8.5.10advisory through version8.4.31.
Manual approval is not the next action yet; the PostCSS advisory and stale PR body need to be resolved first.
|
@bntvllnt REQUEST_CHANGES — current-head review for PR #360 at Review — 1 blocking finding, 0 warningsBLOCKING
VERIFIED CLEAN
VALIDATION
Verdict: changes requested. Manual approval should wait until the unintended |
bntvllnt
left a comment
There was a problem hiding this comment.
@bntvllnt COMMENT — current-head review for PR #360 at 048ba54776a001d1e1be219319d2f2e3be1d42c5.
Review — 0 blocking findings, 1 warning
BLOCKING
- None.
WARN
W1 — Deploy check is still infra-red, not code-red- Evidence: current-head checks show
build · sign · scan · deployfailed only at the deployer POST step. The job built and produced the deployment payload for this exact SHA, thencurlfailed to connect to the vllnt deployer endpoint after three retries and returned HTTP 000. - Why it matters: branch protection may still report the PR as
UNSTABLE, but the observed failure is deployer availability, not a PostCSS/package diff regression. - Suggested next step: rerun/repair the deployer lane before merge if the protected check is required; do not treat it as a dependency-remediation blocker.
- Evidence: current-head checks show
VERIFIED CLEAN
- Reviewed all four changed files:
apps/registry/package.json, rootpackage.json,packages/ui/package.json, andpnpm-lock.yaml. - The manifest changes are scoped to the intended PostCSS remediation: registry PostCSS
^8.5.10,@vllnt/uiPostCSS^8.5.10, and rootpnpm.overrides.postcss >=8.5.10. - The lockfile is internally consistent for the intended remediation:
postcss@8.5.10is the only PostCSS package entry,next@16.2.6now resolvespostcss: 8.5.10, and the relevant autoprefixer/Tailwind/PostCSS/tsup peer snapshots point atpostcss@8.5.10. - The previous broad lockfile drift called out in review is gone: no
shadcn@4.2.0-canary.0,validate-npm-package-name@7.0.2, orwsl-utils@0.3.1package entries remain in the PR diff/lockfile. - The PR body now matches the current head, accurately lists the 4-file diff and current SHA, includes
Closes #355, and separates the remaining non-PostCSS audit backlog from this targeted PostCSS PR.
VALIDATION
- Confirmed live PR state immediately before publication: OPEN, non-draft, head
048ba54776a001d1e1be219319d2f2e3be1d42c5, branchchore/355-postcss-security,mergeable=MERGEABLE,mergeStateStatus=UNSTABLEbecause of the deploy check. - Ran
pnpm install --frozen-lockfile --lockfile-onlyat the reviewed head: passed. - Ran
git diff --check origin/main...HEAD: passed. - Ran targeted residual checks: no
8.4.31refs in the changed manifests/lockfile; no exact broad-drift package keys forshadcn@4.2.0-canary.0,validate-npm-package-name@7.0.2, orwsl-utils@0.3.1. - Ran
pnpm audit --audit-level moderate --json: audit still exits 1 for unrelated backlog advisories, but it contains zeropostcssadvisories at this head. - Re-read current GitHub checks: 6 pass, 1 fail (
build · sign · scan · deploy) with deployer HTTP 000 / connection refused evidence from the job log.
Approval is recommended from the code/dependency-review side, with final approval/merge still reserved for bntvllnt and the deployer-lane status to resolve per branch protection.
Summary
packages/uiPostCSS devDependency from^8.5.6to^8.5.10.^8.5to^8.5.10so pnpm no longer keeps an older PostCSS peer slice in the shared lockfile.pnpm.overrides.postcss >=8.5.10entry so transitive consumers, includingnext@16.2.6, resolve to the patched PostCSS release instead of vulnerablepostcss@8.4.31.pnpm-lock.yamlso @vllnt/uiautoprefixer, Tailwind/PostCSS peer snapshots,tsup,shadcn, and Next resolve throughpostcss@8.5.10without taking the broad Dependabot batch or unrelatedshadcncanary drift.Scope / dependency-security routing
Dependency evidence
048ba54776a001d1e1be219319d2f2e3be1d42c5.origin/main: 4 files changed, 44 insertions(+), 51 deletions(-):apps/registry/package.json,package.json,packages/ui/package.json,pnpm-lock.yaml.1117015(postcss <8.5.10) with installedpostcss@8.4.31coming through thenext@16.2.6lockfile snapshot.pnpm-lock.yamlhas zeropostcss@8.4.31/postcss: 8.4.31/version: 8.4.31refs.pnpm-lock.yamlnow resolves the Next snapshot and PostCSS peer snapshots throughpostcss@8.5.10.shadcn@4.2.0-canary.0,validate-npm-package-name@7.0.2, orwsl-utils@0.3.1entries were added by this PR.Test Plan
pnpm install --frozen-lockfile --lockfile-onlygit diff --checkgrep -nE 'postcss@8\.4\.31|postcss: 8\.4\.31|version: 8\.4\.31' pnpm-lock.yaml || true(no matches)grep -nE '^ validate-npm-package-name@7\.0\.2:|^ wsl-utils@0\.3\.1:|^ shadcn@4\.2\.0-canary\.0:' pnpm-lock.yaml || true(no matches)pnpm -F @vllnt/ui lintpnpm -F @vllnt/ui exec tsc --noEmit --project tsconfig.build.jsonpnpm buildpnpm test:once(216 files / 1215 tests passed)CI status
Head:
048ba54776a001d1e1be219319d2f2e3be1d42c5Current-head checks: