Skip to content

chore: add Snyk ignore policy for accepted/unfixable advisories - #3746

Merged
dkrizan merged 1 commit into
mainfrom
jancizmar/snyk-ignore-policy
Jun 11, 2026
Merged

chore: add Snyk ignore policy for accepted/unfixable advisories#3746
dkrizan merged 1 commit into
mainfrom
jancizmar/snyk-ignore-policy

Conversation

@JanCizmar

@JanCizmar JanCizmar commented Jun 11, 2026

Copy link
Copy Markdown
Member

Documents risk-acceptance for the advisories that remain after the dependency-fix PRs (#3742, #3743, #3744, #3745). None of these have a clean upstream fix, and none carry meaningful real-world risk — so rather than leave them flagged as open alerts (drowning out future real findings), they're explicitly accepted with a justification and a re-review expiry.

webapp/.snyk — browser-side, input crosses no trust boundary

Advisory Package Why accepted
SNYK-JS-ZXCVBN-3257741 zxcvbn (ReDoS) input is the user's own password as they type; worst case is self-slowdown of their own tab. Unmaintained, no patched release.
SNYK-JS-INFLIGHT-6095116 inflight (leak) reached only via a Node-only broadcast-channel → rimraf → glob path not exercised in the browser bundle. Deprecated, no fix.
SNYK-JS-D3COLOR-1076592 d3-color (ReDoS) parses app-controlled chart colors, not untrusted input. Fix needs a major d3 bump that risks breaking recharts.

e2e/.snyk — test-only Cypress harness

Advisory Package Why accepted
SNYK-JS-XLSX-6252523 xlsx (ReDoS) never shipped, runs in CI against known fixtures. No npm fix (SheetJS distributes via CDN only).
SNYK-JS-XLSX-5457926 xlsx (prototype pollution) same as above.

Each entry has a one-year expires so they resurface for re-review. Verified locally — snyk test in webapp/ and e2e/ reports these as ignored (e2e is now clean).

Follow-up tech-debt (not security): migrate zxcvbn → the maintained @zxcvbn-ts/core fork.

Summary by CodeRabbit

  • Chores
    • Updated security vulnerability management policies to the latest format and configuration standards across testing and application environments.

Document risk-acceptance for the advisories left after the dependency
patches, none of which carry meaningful real-world risk:

- webapp/.snyk: zxcvbn, inflight, d3-color - browser-side issues whose
  input crosses no trust boundary, with no clean upstream fix
- e2e/.snyk: xlsx (ReDoS + prototype pollution) - test-only Cypress
  harness, never shipped, no npm fix (SheetJS ships fixes via CDN only)

Each entry carries a justification and a one-year expiry for re-review.
Verified locally: `snyk test` reports the listed advisories as ignored.
@coderabbitai

coderabbitai Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

This PR updates Snyk security policy files in two locations to version v1.25.0, documenting accepted vulnerabilities with explanatory rationale and consistent expiration dates. The e2e directory accepts XLSX-related risks in the Cypress harness, while the webapp directory accepts vulnerabilities in three JavaScript dependencies. All acceptances expire on 2027-06-11.

Changes

Snyk Advisory Acceptance

Layer / File(s) Summary
Advisory acceptance policies for e2e tests and webapp
e2e/.snyk, webapp/.snyk
e2e/.snyk defines acceptance for two XLSX vulnerabilities (SNYK-JS-XLSX-6252523, SNYK-JS-XLSX-5457926) in the Cypress test harness. webapp/.snyk defines acceptance for three JavaScript library vulnerabilities (SNYK-JS-ZXCVBN-3257741, SNYK-JS-INFLIGHT-6095116, SNYK-JS-D3COLOR-1076592) across all paths. Both files use policy version v1.25.0 with rationale text and fixed re-review date of 2027-06-11T00:00:00.000Z.

🎯 1 (Trivial) | ⏱️ ~2 minutes

🐰 Configuration files updated with care,
Snyk policies declared fair,
Vulnerabilities acknowledged with grace,
Security policies in place!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main purpose of the changeset: adding Snyk ignore policies for accepted/unfixable vulnerabilities. It clearly summarizes the primary change across both webapp/.snyk and e2e/.snyk files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch jancizmar/snyk-ignore-policy

Comment @coderabbitai help to get the list of available commands and usage tips.

@JanCizmar
JanCizmar requested a review from dkrizan June 11, 2026 12:11

@coderabbitai coderabbitai Bot left a comment

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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@e2e/.snyk`:
- Line 6: Update the Snyk policy schema version string in the .snyk file by
changing the declared value from "version: v1.25.0" to "version: v1.25.1" so the
policy aligns with the current Snyk schema; locate the line containing the
version key and replace the old version literal with the new one.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 31baeedb-2868-4545-a120-e28b45916c7c

📥 Commits

Reviewing files that changed from the base of the PR and between a7e3ce9 and 97d15fe.

📒 Files selected for processing (2)
  • e2e/.snyk
  • webapp/.snyk

Comment thread e2e/.snyk
# ships to users and never runs in production — it executes in CI against known
# fixture files, not attacker-controlled input. xlsx (SheetJS) has no published
# npm fix. Re-review on expiry.
version: v1.25.0

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.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🌐 Web query:

What is the current valid Snyk policy file version format and latest version number?

💡 Result:

The current valid Snyk policy file format uses the YAML language [1]. The latest version number for the Snyk policy file schema is v1.25.1 [1][2][3]. While some official documentation pages may still reference v1.25.0 [4][5][6], active repositories maintained by Snyk, such as the official Snyk CLI repository, currently utilize v1.25.1 as the standard schema version [2][3]. The.snyk policy file is used to define analysis behaviors, including: - Ignore rules for vulnerabilities [4][7][1]. - Patch applications [1][2][3]. - Exclude rules for Snyk Code [1][2][3]. The file should start with the version definition, for example: version: v1.25.1 It is important to note that the policy schema version is distinct from the version of the snyk-policy package used to manage these files [4][5][6].

Citations:


Align .snyk policy schema version with current schema (v1.25.1)

e2e/.snyk declares version: v1.25.0; Snyk’s current .snyk policy file schema version is v1.25.1, so update to version: v1.25.1 to match the latest supported/standard format.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@e2e/.snyk` at line 6, Update the Snyk policy schema version string in the
.snyk file by changing the declared value from "version: v1.25.0" to "version:
v1.25.1" so the policy aligns with the current Snyk schema; locate the line
containing the version key and replace the old version literal with the new one.

@dkrizan
dkrizan merged commit 0489839 into main Jun 11, 2026
46 checks passed
@dkrizan
dkrizan deleted the jancizmar/snyk-ignore-policy branch June 11, 2026 14:44
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.

2 participants