fix: multiple build-critical npm dependencies are sp... in package.json#14769
fix: multiple build-critical npm dependencies are sp... in package.json#14769orbisai0security wants to merge 1 commit intovuejs:mainfrom
Conversation
Automated security fix generated by Orbis Security AI
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThis pull request pins exact versions for five development dependencies by replacing caret (^) version constraints with fixed version specifiers in Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Review rate limit: 7/8 reviews remaining, refill in 7 minutes and 30 seconds.Comment |
❌ Deploy Preview for vue-next-template-explorer failed. Why did it fail? →
|
❌ Deploy Preview for vue-sfc-playground failed. Why did it fail? →
|
|
Thanks, but I don't think this should be merged as a security fix. These dependencies are already locked by |
|
Thanks for the clarification, that makes sense. I agree this should not have been framed as a concrete security vulnerability, given that pnpm-lock.yaml already pins resolved versions and integrity hashes for normal CI/release installs. The intent here was supply-chain hardening rather than fixing an exploitable issue. I also agree that the scope was too narrow since it only pinned a subset of devDependencies without establishing a broader dependency policy. I’ll treat this as closed and won’t pursue it as a security fix. If useful in the future, I can open a separate discussion/proposal around dependency versioning policy, but only after checking how the release/CI install paths use the lockfile. |
Summary
Fix critical severity security issue in
package.json.Vulnerability
V-001package.json:1Description: Multiple build-critical npm dependencies are specified with caret (^) version ranges rather than exact pinned versions. Packages such as @swc/core (the JavaScript compiler), @rollup/plugin-commonjs, @rollup/plugin-node-resolve, @rollup/plugin-alias, and @rollup/plugin-json will automatically accept any compatible minor or patch update on the next
npm install. These packages have deep access to the compilation pipeline and can directly influence the content of the final Vue.js core bundle. If any maintainer account for these packages is compromised — a realistic threat given historical npm account takeovers — a malicious update within the accepted semver range would be silently pulled into the build and could inject backdoor code into the Vue.js bundle distributed to millions of users.Changes
package.jsonVerification
Automated security fix by OrbisAI Security
Summary by CodeRabbit