Skip to content

🚨 [security] Update ava 6.3.0 β†’ 7.0.0 (major)#321

Open
depfu[bot] wants to merge 1 commit intomasterfrom
depfu/update/npm/ava-7.0.0
Open

🚨 [security] Update ava 6.3.0 β†’ 7.0.0 (major)#321
depfu[bot] wants to merge 1 commit intomasterfrom
depfu/update/npm/ava-7.0.0

Conversation

@depfu
Copy link
Contributor

@depfu depfu bot commented Mar 6, 2026


🚨 Your current dependencies have known security vulnerabilities 🚨

This dependency update fixes known security vulnerabilities. Please see the details below and assess their impact carefully. We recommend to merge and deploy this as soon as possible!


Here is everything you need to know about this upgrade. Please take a good look at what changed and the test results before merging this pull request.

What changed?

✳️ ava (6.3.0 β†’ 7.0.0) Β· Repo

Release Notes

7.0.0

More info than we can show here.

6.4.1

More info than we can show here.

6.4.0

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ @​mapbox/node-pre-gyp (indirect, 2.0.0 β†’ 2.0.3) Β· Repo Β· Changelog

Release Notes

2.0.3

More info than we can show here.

2.0.2

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ @​rollup/pluginutils (indirect, 5.1.4 β†’ 5.3.0) Β· Repo Β· Changelog

Release Notes

5.3.0 (from changelog)

More info than we can show here.

5.2.0 (from changelog)

More info than we can show here.

Does any of this look wrong? Please let us know.

↗️ @​types/estree (indirect, 1.0.7 β†’ 1.0.8) Β· Repo

Sorry, we couldn't find anything useful about this release.

↗️ @​vercel/nft (indirect, 0.29.3 β†’ 1.3.2) Β· Repo

Release Notes

Too many releases to show here. View the full release notes.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ acorn (indirect, 8.14.1 β†’ 8.16.0) Β· Repo

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ acorn-walk (indirect, 8.3.4 β†’ 8.3.5) Β· Repo

Sorry, we couldn't find anything useful about this release.

↗️ agent-base (indirect, 7.1.3 β†’ 7.1.4) Β· Repo Β· Changelog

↗️ ansi-regex (indirect, 6.1.0 β†’ 6.2.2) Β· Repo

Release Notes

6.2.2

More info than we can show here.

6.2.0

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ ansi-styles (indirect, 6.2.1 β†’ 6.2.3) Β· Repo

Release Notes

6.2.3

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ cbor (indirect, 10.0.3 β†’ 10.0.12) Β· Repo

Release Notes

10.0.12

More info than we can show here.

10.0.11

More info than we can show here.

10.0.10

More info than we can show here.

10.0.9

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ chalk (indirect, 5.4.1 β†’ 5.6.2) Β· Repo

Release Notes

5.6.2

More info than we can show here.

5.6.0

More info than we can show here.

5.5.0

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ ci-info (indirect, 4.2.0 β†’ 4.4.0) Β· Repo Β· Changelog

Release Notes

4.4.0

More info than we can show here.

4.3.1

More info than we can show here.

4.3.0

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ cli-truncate (indirect, 4.0.0 β†’ 5.2.0) Β· Repo

Release Notes

5.2.0

More info than we can show here.

5.1.1

More info than we can show here.

5.1.0

More info than we can show here.

5.0.0

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ debug (indirect, 4.4.1 β†’ 4.4.3) Β· Repo Β· Changelog

Security Advisories 🚨

🚨 debug@4.4.2 contains malware after npm account takeover

More info than we can show here.
Release Notes

4.4.3

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ detect-libc (indirect, 2.0.4 β†’ 2.1.2) Β· Repo Β· Changelog

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ emittery (indirect, 1.1.0 β†’ 1.2.1) Β· Repo

Release Notes

1.2.1

More info than we can show here.

1.2.0

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ emoji-regex (indirect, 10.4.0 β†’ 10.6.0) Β· Repo

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ fastq (indirect, 1.19.1 β†’ 1.20.1) Β· Repo

Release Notes

1.20.1

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ globby (indirect, 14.1.0 β†’ 16.1.1) Β· Repo

Release Notes

16.1.1

More info than we can show here.

16.1.0

More info than we can show here.

16.0.0

More info than we can show here.

15.0.0

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ ignore (indirect, 7.0.4 β†’ 7.0.5) Β· Repo Β· Changelog

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ irregular-plurals (indirect, 3.5.0 β†’ 4.2.0) Β· Repo

Release Notes

4.2.0

More info than we can show here.

4.1.0

More info than we can show here.

4.0.0

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ is-fullwidth-code-point (indirect, 4.0.0 β†’ 5.1.0) Β· Repo

Release Notes

5.1.0

More info than we can show here.

5.0.0

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ matcher (indirect, 5.0.0 β†’ 6.0.0) Β· Repo

Release Notes

6.0.0

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ memoize (indirect, 10.1.0 β†’ 10.2.0) Β· Repo

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ minipass (indirect, 7.1.2 β†’ 7.1.3) Β· Repo Β· Changelog

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ minizlib (indirect, 3.0.2 β†’ 3.1.0) Β· Repo

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ p-map (indirect, 7.0.3 β†’ 7.0.4) Β· Repo

Release Notes

7.0.4

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ picomatch (indirect, 4.0.2 β†’ 4.0.3) Β· Repo Β· Changelog

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ plur (indirect, 5.1.0 β†’ 6.0.0) Β· Repo

Release Notes

6.0.0

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ pretty-ms (indirect, 9.2.0 β†’ 9.3.0) Β· Repo

Release Notes

9.3.0

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ slice-ansi (indirect, 5.0.0 β†’ 8.0.0) Β· Repo

Release Notes

8.0.0

More info than we can show here.

7.1.2

More info than we can show here.

7.1.0

More info than we can show here.

7.0.0

More info than we can show here.

6.0.0

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ strip-ansi (indirect, 7.1.0 β†’ 7.2.0) Β· Repo

Release Notes

7.2.0

More info than we can show here.

7.1.2

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ tar (indirect, 7.4.3 β†’ 7.5.10) Β· Repo Β· Changelog

Security Advisories 🚨

🚨 tar has Hardlink Path Traversal via Drive-Relative Linkpath

More info than we can show here.

🚨 Arbitrary File Read/Write via Hardlink Target Escape Through Symlink Chain in node-tar Extraction

More info than we can show here.

🚨 node-tar Vulnerable to Arbitrary File Creation/Overwrite via Hardlink Path Traversal

More info than we can show here.

🚨 Race Condition in node-tar Path Reservations via Unicode Ligature Collisions on macOS APFS

More info than we can show here.

🚨 node-tar is Vulnerable to Arbitrary File Overwrite and Symlink Poisoning via Insufficient Path Sanitization

More info than we can show here.

🚨 node-tar has a race condition leading to uninitialized memory exposure

More info than we can show here.
Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ write-file-atomic (indirect, 6.0.0 β†’ 7.0.1) Β· Repo Β· Changelog

Release Notes

7.0.1

More info than we can show here.

7.0.0

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

πŸ†• is-path-inside (added, 4.0.0)

πŸ†• string-width (added, 8.2.0)

πŸ†• balanced-match (added, 4.0.4)

πŸ†• brace-expansion (added, 5.0.4)

πŸ†• cliui (added, 9.0.1)

πŸ†• wrap-ansi (added, 9.0.2)

πŸ†• glob (added, 13.0.6)

πŸ†• lru-cache (added, 11.2.6)

πŸ†• minimatch (added, 10.2.4)

πŸ†• path-scurry (added, 2.0.2)

πŸ†• yargs (added, 18.0.0)

πŸ†• yargs-parser (added, 22.0.0)

πŸ—‘οΈ imurmurhash (removed)

πŸ—‘οΈ mkdirp (removed)

πŸ—‘οΈ path-type (removed)


Depfu Status

Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with @depfu rebase.

All Depfu comment commands
@​depfu rebase
Rebases against your default branch and redoes this update
@​depfu recreate
Recreates this PR, overwriting any edits that you've made to it
@​depfu merge
Merges this PR once your tests are passing and conflicts are resolved
@​depfu cancel merge
Cancels automatic merging of this PR
@​depfu close
Closes this PR and deletes the branch
@​depfu reopen
Restores the branch and reopens this PR (if it's closed)
@​depfu pause
Ignores all future updates for this dependency and closes this PR
@​depfu pause [minor|major]
Ignores all future minor/major updates for this dependency and closes this PR
@​depfu resume
Future versions of this dependency will create PRs again (leaves this PR as is)

@depfu depfu bot added the depfu label Mar 6, 2026
@codeant-ai
Copy link

codeant-ai bot commented Mar 6, 2026

Skipping PR review because a bot author is detected.

If you want to trigger CodeAnt AI, comment @codeant-ai review to trigger a manual review.

@guardrails
Copy link

guardrails bot commented Mar 6, 2026

⚠️ We detected 1 security issue in this pull request:

Vulnerable Libraries (1)
Severity Details
Medium pkg:npm/ava@7.0.0 upgrade to: > 7.0.0

More info on how to fix Vulnerable Libraries in JavaScript.


πŸ‘‰ Go to the dashboard for detailed results.

πŸ“₯ Happy? Share your feedback with us.

@codecov
Copy link

codecov bot commented Mar 6, 2026

Codecov Report

βœ… All modified and coverable lines are covered by tests.
βœ… Project coverage is 100.00%. Comparing base (eca59bd) to head (b736293).

Additional details and impacted files
@@            Coverage Diff            @@
##            master      #321   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            2         2           
  Lines          470       470           
=========================================
  Hits           470       470           

β˜” View full report in Codecov by Sentry.
πŸ“’ Have feedback on the report? Share it here.

πŸš€ New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • πŸ“¦ JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link

@llamapreview llamapreview bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI Code Review by LlamaPReview

🎯 TL;DR & Recommendation

Recommendation: Request Changes

This PR updates AVA to v7.0.0 to fix critical security vulnerabilities but introduces breaking changes that could silently break custom test patches and increase the transitive dependency footprint.

🌟 Strengths

  • Critical security remediation: Patches known vulnerabilities in debug and tar dependencies, eliminating exploitable vectors.
  • Dependency cleanup: Removes unused packages (imurmurhash, mkdirp, path-type), reducing surface area.

πŸ“Š Findings Summary

Priority File Category Impact Summary (≀12 words) Anchors
P0 package-lock.json Security Fixes critical security vulnerabilities in debug and tar.
P1 package.json Architecture Breaking changes in AVA v7 could break custom test patches. path:test/helpers/ava-patched.js
P2 package-lock.json Maintainability Removal of unused dependencies reduces dependency surface. path:test/helpers/ava-patched.js, search:imurmurhash, search:mkdirp, search:path-type
P2 package-lock.json Architecture New dependencies increase transitive footprint and potential conflicts.
P2 package.json Testing CI compatibility may need review for test output changes. path:.circleci/config.yml

πŸ” Notable Themes

  • Security-first update: The primary driver is vulnerability remediation, which is commendable but must be balanced against compatibility risks.
  • Test framework volatility: Major version updates of test runners require thorough validation of custom extensions and CI integrations to prevent silent failures.
  • Dependency churn: The lockfile changes reflect significant architectural shifts in AVA v7, introducing new dependencies that could affect long-term maintainability.

πŸ“ˆ Risk Diagram

This diagram illustrates the risk of AVA v7 breaking changes affecting custom test patches and CI integration.

sequenceDiagram
    participant AVA as AVA Test Runner v7
    participant Patch as Custom Patch
    participant Tests as Test Suite
    participant CI as CI System

    AVA->>Patch: Updated internal APIs
    note over AVA,Patch: R1(P1): Breaking changes in AVA v7 could disable custom test assertions
    Patch-->>Tests: Potential malfunction
    Tests->>CI: Altered test output/behavior
    note over Tests,CI: May affect CI reporting or dashboards
Loading
⚠️ **Unanchored Suggestions (Manual Review Recommended)**

The following suggestions could not be precisely anchored to a specific line in the diff. This can happen if the code is outside the changed lines, has been significantly refactored, or if the suggestion is a general observation. Please review them carefully in the context of the full file.


πŸ“ File: package-lock.json

The PR description explicitly states the update fixes "known security vulnerabilities". Specifically, the transitive dependency debug@4.4.2 had a security advisory (GHSA-4x49-vf9v-38px) for containing malware after an npm account takeover. The lockfile update moves debug to version 4.4.3, which remediates this. Since a direct dependency update triggered this fix, it is a direct security remediation. Additionally, the transitive dependency tar is updated from 7.4.3 to 7.5.10, patching multiple severe vulnerabilities (e.g., GHSA-qffp-2rhf-9h96, GHSA-83g3-92jg-28cx) related to path traversal and arbitrary file writes. This change actively removes exploitable security vectors from the development and CI environment.

Related Code:


πŸ“ File: package-lock.json

Speculative: The update removes three direct dependencies (imurmurhash, mkdirp, path-type). This is likely because they are no longer required by the updated version of ava or its dependencies, which is a positive reduction in dependency surface area. However, we must check that no project code directly depends on these removed packages. The related context search for these package names returned no results, suggesting they were likely only transitive dependencies. The risk is low, but if any project code or build script inadvertently relied on these packages being present (e.g., a script using mkdirp directly), it would break after merging. A full project search for these package names in require/import statements is recommended.

Related Code:


πŸ“ File: package-lock.json

The dependency tree has significantly changed. The addition of packages like yargs, glob, lru-cache, minimatch, and others indicates that AVA v7.0.0 has updated its own internal architecture and likely its CLI/runner. While this is expected for a major version, it increases the project's transitive dependency footprint and could introduce new version conflicts or vulnerabilities in the future. The developer should be aware of this expansion. The CI's guardrails/scan check failed, detecting "1 new security issue", which is likely a new vulnerability flagged in one of these newly introduced transitive dependencies. This requires investigation before merging.

Related Code:



πŸ’‘ Have feedback? We'd love to hear it in our GitHub Discussions.
✨ This review was generated by LlamaPReview Advanced, which is free for all open-source projects. Learn more.

Comment on lines 84 to 87
"devDependencies": {
"ava": "^6.3.0",
"ava": "^7.0.0",
"c8": "^10.1.3"
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 | Confidence: High

This is a major version update (6.x β†’ 7.x) of the primary test framework. Major updates often contain breaking changes to APIs, configuration formats, and behavior. The related context shows the project uses a custom patched helper at test/helpers/ava-patched.js. This file directly modifies the ava test object (test.cis). If AVA's internal APIs used by this patch have changed in v7, the custom assertion could break, causing test failures or incorrect test behavior. This is a high-probability breaking change that could affect the entire test suite's execution or output. The CI status shows the tests check passed, but this does not guarantee the custom patch is still functional as intended; it only means tests didn't crash.

Additionally, the project uses CI (evidenced by .circleci/config.yml). A major test runner update can affect test execution time, output formatting, and failure reporting, which might impact CI configuration or dashboards. For example, AVA v7 may change its TAP reporter output or exit codes in edge cases. The CI configuration should be reviewed to ensure it's compatible with AVA v7's behavior, especially if it parses test output. The current CI tests job succeeded, which is a good sign, but subtle differences in reporting could affect downstream tooling.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants