Skip to content

fix(bootstrap): reject on non-2xx tarball response and handle zlib errors - #356

Merged
cs-raj merged 12 commits into
developmentfrom
fix/DX-10257
Aug 27, 2026
Merged

fix(bootstrap): reject on non-2xx tarball response and handle zlib errors#356
cs-raj merged 12 commits into
developmentfrom
fix/DX-10257

Conversation

@cs-raj

@cs-raj cs-raj commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Problem

csdx cm:bootstrap crashed with an unhandled Z_DATA_ERROR (incorrect header check) when cloning the Kickstart Next.js starter app. Two bugs combined to cause this:

  1. streamRelease() did not check the HTTP response status. When the cli-use branch was absent from contentstack/kickstart-next, codeload.github.com returned a 404: Not Found body. That body stream was silently passed downstream as if it were a valid tarball.

  2. extract() had no error handler on the zlib.createUnzip() stream. Node's pipe() does not forward stream errors between stages. When zlib tried to decompress the "404: Not Found" bytes (which have no gzip magic header), it emitted an error event on the Unzip instance with no listener — causing an unhandled exception that crashed the process instead of rejecting the Promise cleanly.

Relates to: DX-10257

Fix

  • streamRelease() — throws GithubError with the actual HTTP status code for any 4xx/5xx response. The existing Bootstrap.run() catch block already handles GithubError with status === 404 and prints a user-friendly "Unable to find a repo" message; no caller changes needed.

  • extract() — extracts the zlib.createUnzip() instance and attaches .on('error', reject) directly to it, so zlib errors reject the Promise rather than escaping as unhandled events.

Test plan

  • 6 new unit tests added to packages/contentstack-bootstrap/test/github.test.js
    • streamRelease throws GithubError(404) on a 404 response
    • streamRelease throws GithubError(500) on a 500 response
    • streamRelease returns the data stream on a 200 response
    • streamRelease sends Authorization header for private repos
    • streamRelease throws immediately for private repos with no token
    • extract rejects with Z_DATA_ERROR (not a process crash) on invalid gzip data
  • All 71 existing tests continue to pass
  • csdx cm:bootstrap → Kickstart Next.js ran end-to-end successfully after the missing cli-use branch was created on the repo

🤖 Generated with Claude Code

…rors

streamRelease now throws GithubError for HTTP 4xx/5xx responses instead
of silently piping the error body (e.g. "404: Not Found") into the zlib
decompressor. This was the root cause of the Z_DATA_ERROR crash when the
cli-use branch was absent from a repo.

extract now attaches an error handler directly on the zlib.createUnzip()
stream. Node's pipe() does not forward stream errors, so without this
listener a zlib failure emitted an unhandled error event and crashed the
process rather than rejecting the Promise cleanly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@cs-raj
cs-raj requested a review from a team as a code owner August 20, 2026 11:31
@snyk-io

snyk-io Bot commented Aug 20, 2026

Copy link
Copy Markdown

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues
Code Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 0 0 25 ✅ Passed
🟡 Medium Severity 0 0 500 ✅ Passed
🔵 Low Severity 0 0 1000 ✅ Passed

⏱️ SLA Breach Summary

✅ No SLA breaches detected. All vulnerabilities are within acceptable time thresholds.

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 0 30 / 120 days ✅ Passed
🟡 Medium 0 0 90 / 365 days ✅ Passed
🔵 Low 0 0 180 / 365 days ✅ Passed

✅ BUILD PASSED - All security checks passed

Moving cliux.loader() (spinner stop) out of finally and into catch before
cliux.error() prevents the spinner's carriage-return from wiping the error
line. Success path stops the spinner inline after getLatest resolves.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 0 0 25 ✅ Passed
🟡 Medium Severity 0 0 500 ✅ Passed
🔵 Low Severity 0 0 1000 ✅ Passed

⏱️ SLA Breach Summary

✅ No SLA breaches detected. All vulnerabilities are within acceptable time thresholds.

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 0 30 / 120 days ✅ Passed
🟡 Medium 0 0 90 / 365 days ✅ Passed
🔵 Low 0 0 180 / 365 days ✅ Passed

✅ BUILD PASSED - All security checks passed

Replace the generic cliux.error+rethrow pattern with a single clean
Error throw so oclif prints one message. Message names both the repo
and the missing cli-use branch so the developer knows exactly what to
check on GitHub.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 0 0 25 ✅ Passed
🟡 Medium Severity 0 0 500 ✅ Passed
🔵 Low Severity 0 0 1000 ✅ Passed

⏱️ SLA Breach Summary

✅ No SLA breaches detected. All vulnerabilities are within acceptable time thresholds.

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 0 30 / 120 days ✅ Passed
🟡 Medium 0 0 90 / 365 days ✅ Passed
🔵 Low 0 0 180 / 365 days ✅ Passed

✅ BUILD PASSED - All security checks passed

Copilot AI 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.

Pull request overview

This PR hardens the contentstack-bootstrap plugin’s GitHub tarball download + extraction path so csdx cm:bootstrap fails gracefully (rejects promises) instead of crashing on invalid gzip data returned from failed GitHub responses.

Changes:

  • Add HTTP status validation to streamRelease() so error responses aren’t treated as tarball streams.
  • Attach an error handler to the unzip stream in extract() and add unit tests covering these failure modes.
  • Update bootstrap error messaging for missing/unavailable app downloads.

Reviewed changes

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

Show a summary per file
File Description
packages/contentstack-bootstrap/test/github.test.js Adds unit tests for streamRelease() status handling and extract() invalid gzip rejection.
packages/contentstack-bootstrap/src/bootstrap/index.ts Adjusts loader lifecycle and maps GitHub 404s to a user-facing “app unavailable” error.
packages/contentstack-bootstrap/src/bootstrap/github/client.ts Adds response status checking before returning the tarball stream; adds unzip error handling.
packages/contentstack-bootstrap/messages/index.json Introduces a new user-facing message for app download unavailability.
.talismanrc Updates checksums / ignore entries (incl. newly added test file).
Suppressed comments (1)

packages/contentstack-bootstrap/src/bootstrap/github/client.ts:93

  • extract() now listens for unzip errors, but the source stream can still emit an error event with no listener (Node treats that as an unhandled exception). Attach an error handler to the input stream so network/IO failures reject the Promise instead of crashing.
    return new Promise((resolve, reject) => {
      const unzip = zlib.createUnzip();
      unzip.on('error', reject);
      stream
        .pipe(unzip)

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread packages/contentstack-bootstrap/src/bootstrap/github/client.ts Outdated
Comment thread packages/contentstack-bootstrap/src/bootstrap/index.ts
Comment thread packages/contentstack-bootstrap/messages/index.json
- Add stream.on('error', reject) to handle network/IO failures on the
  source stream, not just zlib decompression errors
- Use distinct error message for non-404 HTTP failures (5xx, 403, etc.)
  so users aren't told "repo not found" when it's a server/auth error

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 0 0 25 ✅ Passed
🟡 Medium Severity 0 0 500 ✅ Passed
🔵 Low Severity 0 0 1000 ✅ Passed

⏱️ SLA Breach Summary

✅ No SLA breaches detected. All vulnerabilities are within acceptable time thresholds.

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 0 30 / 120 days ✅ Passed
🟡 Medium 0 0 90 / 365 days ✅ Passed
🔵 Low 0 0 180 / 365 days ✅ Passed

✅ BUILD PASSED - All security checks passed

Copilot AI 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.

Pull request overview

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

Suppressed comments (2)

Previously missed (2) — in code that hasn't changed since the last review.

packages/contentstack-bootstrap/test/github.test.js:2

  • github.test.js now requires sinon, but packages/contentstack-bootstrap/package.json does not declare it in devDependencies. This makes the test suite depend on workspace hoisting (e.g. shamefully-hoist) and can break if hoisting settings change.
const sinon = require('sinon');

packages/contentstack-bootstrap/test/github.test.js:93

  • Avoid using a token-like literal in tests if it triggers secret-scanner false positives. Using a clearly dummy value also makes it easier to remove the .talismanrc allowlist entry for this file.
      const client = new GitHubClient(GitHubClient.parsePath('contentstack/private-repo'), true, 'my-token');
      await client.streamRelease(client.gitTarBallUrl);

      const callOptions = httpStub.options.firstCall.args[0];
      expect(callOptions.headers).to.deep.equal({ Authorization: 'token my-token' });

Comment thread .talismanrc Outdated
Comment thread packages/contentstack-bootstrap/messages/index.json Outdated
Comment thread packages/contentstack-bootstrap/src/bootstrap/github/client.ts Outdated
- Widen CLI_BOOTSTRAP_APP_UNAVAILABLE to cover both repo and branch
  missing, not just branch, since GitHub returns 404 for both cases
- Change status check from >= 400 to < 200 || >= 400 so unexpected
  non-2xx responses (e.g. stray 3xx) are also rejected as invalid

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@cs-raj
cs-raj requested a lite review from Copilot August 24, 2026 17:41
@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 0 0 25 ✅ Passed
🟡 Medium Severity 0 0 500 ✅ Passed
🔵 Low Severity 0 0 1000 ✅ Passed

⏱️ SLA Breach Summary

✅ No SLA breaches detected. All vulnerabilities are within acceptable time thresholds.

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 0 30 / 120 days ✅ Passed
🟡 Medium 0 0 90 / 365 days ✅ Passed
🔵 Low 0 0 180 / 365 days ✅ Passed

✅ BUILD PASSED - All security checks passed

Copilot AI 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.

Pull request overview

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

Comment thread packages/contentstack-bootstrap/src/bootstrap/github/client.ts Outdated
Comment thread packages/contentstack-bootstrap/src/bootstrap/index.ts
Comment thread packages/contentstack-bootstrap/test/github.test.js
@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 0 244 25 ✅ Passed
🟡 Medium Severity 0 0 500 ✅ Passed
🔵 Low Severity 0 0 1000 ✅ Passed

⏱️ SLA Breach Summary

✅ No SLA breaches detected. All vulnerabilities are within acceptable time thresholds.

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 0 30 / 120 days ✅ Passed
🟡 Medium 0 0 90 / 365 days ✅ Passed
🔵 Low 0 0 180 / 365 days ✅ Passed

ℹ️ Vulnerabilities Without Available Fixes (Informational Only)

The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:

  • Critical without fixes: 0
  • High without fixes: 244
  • Medium without fixes: 0
  • Low without fixes: 0

✅ BUILD PASSED - All security checks passed

cs-raj and others added 2 commits August 27, 2026 11:50
- Widen status check from >= 400 to >= 300 so unexpected 3xx responses
  are rejected before being streamed into extract()
- Add regression test asserting a 302 response throws GithubError
- Update .talismanrc checksum for github.test.js to reflect new 302 test

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 220 145 25 ❌ Failed
🟡 Medium Severity 2 61 500 ✅ Passed
🔵 Low Severity 0 0 1000 ✅ Passed

⏱️ SLA Breach Summary

⚠️ Warning: The following vulnerabilities have exceeded their SLA thresholds (days since publication).

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 1 30 / 120 days ⚠️ Warning
🟡 Medium 2 60 90 / 365 days ❌ Failed / ⚠️ Warning
🔵 Low 0 0 180 / 365 days ✅ Passed

🟡 Medium Severity - SLA Breached Issues (with fixes)

Showing 2 issue(s) that have exceeded the 90-day SLA threshold:

  1. Improper Validation of Specified Index, Position, or Offset in Input

    • ID: SNYK-JS-UUID-16133035
    • Package: uuid@8.3.2
    • Published: 125 days ago (SLA: 90 days)
    • CVSS Score: 6.3
    • CVE: CVE-2026-41907
  2. Improper Validation of Specified Index, Position, or Offset in Input

    • ID: SNYK-JS-UUID-16133035
    • Package: uuid@8.3.2
    • Published: 125 days ago (SLA: 90 days)
    • CVSS Score: 6.3
    • CVE: CVE-2026-41907

ℹ️ Vulnerabilities Without Available Fixes (Informational Only)

The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:

  • Critical without fixes: 0
  • High without fixes: 145
  • Medium without fixes: 61
  • Low without fixes: 0

❌ BUILD FAILED - Security checks failed

Please review and fix the security vulnerabilities before merging.

Copilot AI 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.

Pull request overview

Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.

Comment thread packages/contentstack-bootstrap/test/github.test.js
@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 0 244 25 ✅ Passed
🟡 Medium Severity 0 0 500 ✅ Passed
🔵 Low Severity 0 0 1000 ✅ Passed

⏱️ SLA Breach Summary

✅ No SLA breaches detected. All vulnerabilities are within acceptable time thresholds.

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 0 30 / 120 days ✅ Passed
🟡 Medium 0 0 90 / 365 days ✅ Passed
🔵 Low 0 0 180 / 365 days ✅ Passed

ℹ️ Vulnerabilities Without Available Fixes (Informational Only)

The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:

  • Critical without fixes: 0
  • High without fixes: 244
  • Medium without fixes: 0
  • Low without fixes: 0

✅ BUILD PASSED - All security checks passed

Copilot AI 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.

Pull request overview

Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.

Comment thread packages/contentstack-bootstrap/src/bootstrap/github/client.ts

Copilot AI 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.

Pull request overview

Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.

Comment thread packages/contentstack-bootstrap/messages/index.json

Copilot AI 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.

Pull request overview

Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.

Comment thread packages/contentstack-bootstrap/test/github.test.js
sinon was used in tests but only available via pnpm workspace hoisting.
Adding it explicitly to the package's own devDependencies ensures
consistent resolution under strict pnpm module resolution.
Version ^21.1.2 matches the standard used across most packages in the monorepo.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 220 145 25 ❌ Failed
🟡 Medium Severity 2 61 500 ✅ Passed
🔵 Low Severity 0 0 1000 ✅ Passed

⏱️ SLA Breach Summary

⚠️ Warning: The following vulnerabilities have exceeded their SLA thresholds (days since publication).

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 1 30 / 120 days ⚠️ Warning
🟡 Medium 2 60 90 / 365 days ❌ Failed / ⚠️ Warning
🔵 Low 0 0 180 / 365 days ✅ Passed

🟡 Medium Severity - SLA Breached Issues (with fixes)

Showing 2 issue(s) that have exceeded the 90-day SLA threshold:

  1. Improper Validation of Specified Index, Position, or Offset in Input

    • ID: SNYK-JS-UUID-16133035
    • Package: uuid@8.3.2
    • Published: 125 days ago (SLA: 90 days)
    • CVSS Score: 6.3
    • CVE: CVE-2026-41907
  2. Improper Validation of Specified Index, Position, or Offset in Input

    • ID: SNYK-JS-UUID-16133035
    • Package: uuid@8.3.2
    • Published: 125 days ago (SLA: 90 days)
    • CVSS Score: 6.3
    • CVE: CVE-2026-41907

ℹ️ Vulnerabilities Without Available Fixes (Informational Only)

The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:

  • Critical without fixes: 0
  • High without fixes: 145
  • Medium without fixes: 61
  • Low without fixes: 0

❌ BUILD FAILED - Security checks failed

Please review and fix the security vulnerabilities before merging.

@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 0 244 25 ✅ Passed
🟡 Medium Severity 0 0 500 ✅ Passed
🔵 Low Severity 0 0 1000 ✅ Passed

⏱️ SLA Breach Summary

✅ No SLA breaches detected. All vulnerabilities are within acceptable time thresholds.

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 0 30 / 120 days ✅ Passed
🟡 Medium 0 0 90 / 365 days ✅ Passed
🔵 Low 0 0 180 / 365 days ✅ Passed

ℹ️ Vulnerabilities Without Available Fixes (Informational Only)

The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:

  • Critical without fixes: 0
  • High without fixes: 244
  • Medium without fixes: 0
  • Low without fixes: 0

✅ BUILD PASSED - All security checks passed

Copilot AI 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.

Pull request overview

Copilot reviewed 6 out of 7 changed files in this pull request and generated no new comments.

netrajpatel
netrajpatel previously approved these changes Aug 27, 2026
@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 0 2 25 ✅ Passed
🟡 Medium Severity 0 0 500 ✅ Passed
🔵 Low Severity 0 0 1000 ✅ Passed

⏱️ SLA Breach Summary

✅ No SLA breaches detected. All vulnerabilities are within acceptable time thresholds.

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 0 30 / 120 days ✅ Passed
🟡 Medium 0 0 90 / 365 days ✅ Passed
🔵 Low 0 0 180 / 365 days ✅ Passed

ℹ️ Vulnerabilities Without Available Fixes (Informational Only)

The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:

  • Critical without fixes: 0
  • High without fixes: 2
  • Medium without fixes: 0
  • Low without fixes: 0

✅ BUILD PASSED - All security checks passed

@cs-raj
cs-raj merged commit 1125b7e into development Aug 27, 2026
12 checks passed
@cs-raj
cs-raj deleted the fix/DX-10257 branch August 27, 2026 12:50
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.

4 participants