Repository navigation
Fixed Security Issues and Workflows - #2744
Merged
Merged
Conversation
Back merge
Replace the three release-production workflows and release.json with one release.yml that runs on release:published, so the npm trusted publisher can be keyed on the filename. Drop NPM_TOKEN in favour of id-token: write (OIDC), run on Node 24 with npm@latest (trusted publishing needs npm >= 11.5.1), install with a frozen lockfile and check out the release tag without persisted credentials. Each package publishes in dependency order and is skipped when its version is already on npm, so one release publishes only what was bumped. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
cli-config and cli-auth do not depend on each other, so pnpm --sort was free to publish auth before config. List the five packages explicitly in the order the old release workflows used: utilities, command, config, auth, then core. A failed publish still stops the step before the next package. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Give each of the five packages its own publish step, as the old release workflows did, so a failed publish names the package in the Actions run and stops the job before the next one. The order is unchanged: utilities, command, config, auth, core. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Lock file regenerated (fixed 2 on its own: follow-redirects 1.16.0 -> 1.16.2). Direct upgrades: none Overrides: none added (the fast-uri 4.2.3, uuid 14.0.3 and js-yaml 5.5.0 pins are already on this branch) Vuln count vs main: snyk 41 -> 11, npm audit 7 -> 3. Build verified passing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
chore(release): publish to npm with trusted publishing
… placeholders Replace Snyk-flagged dummy values in unit-test fixtures with the approved placeholders: apiKey -> API_KEY / STACK_API_KEY, access_token -> ACCESS_TOKEN, password -> PASSWORD, MFA test secrets -> SECRET / TOKEN. Coupled assertions updated. Test-only change, plus refreshed pnpm-lock.yaml. No source changes. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
mfa-handler requires >=16 char base32 secrets; the placeholder values were too short and failed CI. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…-fixtures fix: replace hardcoded secret literals in test fixtures with approved placeholders
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
🔒 Security Scan Results
⏱️ SLA Breach Summary
ℹ️ 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:
Consider reviewing these vulnerabilities when fixes become available. |
sankartn
approved these changes
Oct 30, 2026
reeshika-h
approved these changes
Oct 30, 2026
dhaval-jain-cstk
approved these changes
Oct 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release:
development→mainPromotes everything merged to
developmentsince the last release. No package version bumps are included.What's included
pnpm-lock.yamlrefreshed.7fcae91a5,b477256bcrelease-production-*.ymlworkflows and.github/config/release.jsonwith a singlerelease.ymlthat runs onrelease: published(Node 24). Follow-ups: publish each cli package in its own step, in the original fixed order.31eec6c22,aaa9cd28d1. Placeholder mapping (test files)
API_KEY/STACK_API_KEY(kept distinct intokens-remove.test.ts)ACCESS_TOKENPASSWORDSECRETSECRETSECRET/TOKENTOKENTOKENTOKENFiles:
contentstack-auth(tokens-remove.test.ts,mfa-handler.test.ts) andcontentstack-utilities(auth-handler.test.ts,logger.test.ts).With the new
release.yml, merging tomainno longer publishes to npm by itself. Publishing now happens when a GitHub release is published. Since no package versions change here, no publish is needed for this merge.Testing
@contentstack/cli-utilities: 199 passing.@contentstack/cli-auth: 41 passing, 4 pending.snyk test --code --all-project: the 10 test-file findings are gone.Known / not in this release
5 Snyk Code findings remain, all in
packages/contentstack-utilities/src/, intentionally untouched (changing them needs a design decision, not a placeholder):encrypter.ts:14and:27: default encryption key and scrypt salt. Changing either would break decryption of data existing users already have stored.helpers.ts:119and:121: error-message label map (api_key: 'Stack API key'); a false positive.auth-handler.ts:147:http.createServerfor the local OAuth callback on localhost; plain HTTP is intentional..talismanrccarries the checksum update for the newrelease.yml(from #2741).Jira
🤖 Generated with Claude Code