fix: pin axios to 1.13.5 and resolve npm audit vulnerabilities#128
fix: pin axios to 1.13.5 and resolve npm audit vulnerabilities#128
Conversation
Pin axios to exact version 1.13.5 (removing the ^1.12.2 caret range) to prevent resolving to the compromised axios@1.14.1 which pulls in the malicious plain-crypto-js@4.2.1 package. Reference: https://x.com/feross/status/2038807290422370479 Co-Authored-By: Sudeep Pillai <sudeep.pillai@gmail.com>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
|
@claude fix the CI issue |
There was a problem hiding this comment.
Code Review
This pull request updates the project version to 1.1.0 and pins the axios dependency to version 1.13.5. Feedback suggests updating the yarn.lock file to maintain consistency with the project's specified package manager and recommends a further version bump to ensure the security fix is correctly distributed to users.
| }, | ||
| "dependencies": { | ||
| "axios": "^1.12.2", | ||
| "axios": "1.13.5", |
There was a problem hiding this comment.
The project's package.json specifies yarn as the package manager (line 13), but this pull request only updates the npm package-lock.json. To ensure consistency across different package managers and protect developers or CI environments using Yarn, please also update and include the yarn.lock file in this PR. Additionally, consider if package-lock.json should be removed if Yarn is the primary tool for the project.
| { | ||
| "name": "vlmrun", | ||
| "version": "1.0.12", | ||
| "version": "1.1.0", |
There was a problem hiding this comment.
Since this pull request mitigates a security vulnerability by pinning a dependency, it is recommended to bump the SDK's version (e.g., to 1.1.1) rather than just syncing it to 1.1.0. If 1.1.0 has already been published or is the current version on main, a new version is required to ensure that the fix is distributed to all users and that the published package on npm contains the updated package.json constraints.
…picomatch, tar) Run npm audit fix to update: - brace-expansion: fix moderate severity DoS - handlebars: fix critical severity JS injection vulnerabilities - picomatch: fix high severity method injection and ReDoS - tar: fix high severity path traversal Co-Authored-By: Sudeep Pillai <sudeep.pillai@gmail.com>
Summary
Pins
axiosfrom^1.12.2to exact1.13.5inpackage.jsonto prevent npm from resolving to the compromisedaxios@1.14.1, which pulls in the maliciousplain-crypto-js@4.2.1package.Additionally runs
npm audit fixto resolve 4 pre-existing vulnerabilities in the lock file:Reference: https://x.com/feross/status/2038807290422370479
Review & Testing Checklist for Human
axios@1.13.5is a legitimate, safe release (it is listed on npm and was the version already resolved in the lock file)vlmrunon npm), the exact pin means consumers will also install exactlyaxios@1.13.5— confirm this is acceptable as a temporary mitigationtar7.5.9 → 7.5.13 (a non-dev dependency) does not introduce breaking changes — check that build and tests pass^1.13.5or newer) once the axios maintainers publish a verified clean release and1.14.1is confirmed removedRecommended test plan: run
npm ci && npm run build && npm testlocally to verify nothing breaks with the updated lock file.Notes
package-lock.jsonversion field change from1.0.12to1.1.0is a lock file sync artifact —package.jsonwas already at1.1.0onmain; this just brings the lock file in line.package.jsonchange is the axios pin. All audit-fix updates are lock file only (excepttar, which is a transitive runtime dependency).Link to Devin session: https://app.devin.ai/sessions/5311f4a7a9384c69846d964d11a53f6c
Requested by: @spillai