Skip to content

chore(zeppelin-web-angular): remediate npm audit findings in zeppelin-react#5257

Open
jongyoul wants to merge 1 commit into
apache:masterfrom
jongyoul:fix-npm-audit-issues
Open

chore(zeppelin-web-angular): remediate npm audit findings in zeppelin-react#5257
jongyoul wants to merge 1 commit into
apache:masterfrom
jongyoul:fix-npm-audit-issues

Conversation

@jongyoul
Copy link
Copy Markdown
Member

What is this PR for?

This PR remediates npm audit failures in the zeppelin-react module (zeppelin-web-angular/projects/zeppelin-react) on master.

What changes are proposed?

  1. Upgrade webpack-dev-server: Updated webpack-dev-server to ^5.2.4 in package.json to resolve the moderate uuid and webpack-dev-server vulnerabilities.
  2. Add audit-filter.js: Created a custom audit filtering script to handle the @antv/color-util and @antv/adjust malware false-positives (GHSA-rh6v-hwr4-6jcp / GHSA-qcp2-qp9h-qprg). Npm marked all versions of these packages as malware, causing all audit runs to fail even though the pinned versions in Zeppelin were published years before the compromise. This script filters out those specific advisories while still validating other high/critical security issues.
  3. Update CI Workflow: Modified .github/workflows/frontend.yml to run the custom audit-filter.js instead of the raw npm audit command.

How should this be tested?

Verify that the npm-audit job passes in GitHub Actions.

Copilot AI review requested due to automatic review settings May 24, 2026 06:40
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the zeppelin-react frontend audit flow to remediate current npm audit failures while allowing known @antv malware false-positive advisories to be filtered.

Changes:

  • Upgrades webpack-dev-server to 5.2.4.
  • Adds audit-filter.js to run and filter npm audit JSON output.
  • Updates the frontend CI workflow to use the custom audit filter.

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 4 comments.

File Description
zeppelin-web-angular/projects/zeppelin-react/package.json Updates the webpack-dev-server dev dependency range.
zeppelin-web-angular/projects/zeppelin-react/package-lock.json Locks webpack-dev-server to 5.2.4.
zeppelin-web-angular/projects/zeppelin-react/audit-filter.js Adds custom npm audit filtering for selected advisories.
.github/workflows/frontend.yml Runs the new audit filter in the zeppelin-react audit job.
Files not reviewed (1)
  • zeppelin-web-angular/projects/zeppelin-react/package-lock.json: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread zeppelin-web-angular/projects/zeppelin-react/audit-filter.js Outdated
Comment thread zeppelin-web-angular/projects/zeppelin-react/audit-filter.js Outdated
Comment thread zeppelin-web-angular/projects/zeppelin-react/audit-filter.js Outdated
Comment thread zeppelin-web-angular/projects/zeppelin-react/audit-filter.js Outdated
@jongyoul jongyoul force-pushed the fix-npm-audit-issues branch from db5a970 to fd888bf Compare May 24, 2026 06:52
@jongyoul
Copy link
Copy Markdown
Member Author

@tbonelee @ParkGyeongTae @voidmatcha I heard that @AntV had a security issue, so it's been fully deprecated. So npm-audit failed, so I removed them and used the vanilla one. Could you please check it?

Copy link
Copy Markdown
Contributor

@voidmatcha voidmatcha left a comment

Choose a reason for hiding this comment

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

  • npm audit on master: 21 advisories (10 moderate / 5 high / 6 critical, incl. the @antv/adjust & @antv/color-util malware advisories)
  • Diff review: no new dangerouslySetInnerHTML / eval / dynamic Function introduced, and chart labels/data are drawn on a 2D canvas context. So the migration doesn't add any XSS surface.

LGTM from a supply-chain perspective.

labels: data.map(d => d.category),
datasets: [{
label: 'Value',
data: data.map(d => data.value),
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
data: data.map(d => data.value),
data: data.map(d => d.value),

Original(master)

Image

As-Is

Image

To-Be

Image

The callback references the outer data array instead of the element d, so data.value is undefined for every row and the Area Chart renders empty.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants