Skip to content

RemoveFullyOpenFeatureFlags(AST-188568) - #1605

Open
cx-atish-jadhav wants to merge 11 commits into
mainfrom
feature/remove-ffs
Open

cx-atish-jadhav wants to merge 11 commits into
mainfrom
feature/remove-ffs

Conversation

@cx-atish-jadhav

Copy link
Copy Markdown
Contributor

By submitting this pull request, you agree to the terms within the Checkmarx Code of Conduct. Please review the contributing guidelines for guidance on creating high-quality pull requests.

Description

Removes the feature-flag checks for the seven flags that are now 100% open, keeping only the "enabled" behaviour and deleting the legacy paths, as requested in AST-188568 (epic AST-189176).

Flag Change
AI_SUPPLY_CHAIN_ENGINE_GA_ENABLED addAiscScan no longer checks the flag; AISC config is added whenever aisc is a selected scan type
INCREASE_FILE_UPLOAD_LIMIT uploadZip uses multipart upload whenever the archive exceeds MaxSizeBytes (5 GB)
OSS_REALTIME_ENABLED Gate removed from the oss, iac, containers and secrets realtime services; IsFeatureFlagEnabled and RealtimeEngineNotAvailable removed
RISK_MANAGEMENT_IDES_PROJECT_RESULTS_SCORES_API_ENABLED cx results risk-management no longer returns "unavailable for your tenant"
SSCS_COMMIT_HISTORY_ENABLED --git-commit-history is always honoured; the "not available" warning is removed
SSCS_NEW_LICENSING_ENABLED New (Repository Health / Secret Detection) licensing only: legacy scs / enterprise-secrets engine handling removed from jwt-helper, scan.go, cx hooks pre-commit/pre-receive license checks
KICS_PRESETS_MANAGER_ENABLED Removed from the integration-test skip guard (no production usage); NEW_PRESET_MANAGEMENT_ENABLED is intentionally left as-is

Also removes the FeatureFlagsWrapper parameters (and plumbing through NewHooksCommand, HookDispatchCommands, the agent-hook scanners, the realtime commands, etc.) that became unused, and updates the JWT mock to return the new-licensing engines.

No CLI flag names, output formats or exit codes change.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update

Cleanup / feature-flag removal. Behaviour is unchanged for tenants where all seven flags are already on (see Additional Notes for the exception).

Related Issues

  • AST-188568 (task), AST-189176 (epic)

Checklist

  • I have performed a self-review of my code
  • I have added tests that prove my fix is effective or that my feature works
  • I have added necessary documentation (if appropriate)
  • Any dependent changes have been merged and published in downstream modules
  • I have updated the CLI help for new/changed functionality in this PR (if applicable)
  • All active GitHub checks for tests, formatting, and security are passing
  • The correct base branch is being used

Additional Notes

Do not merge until the flags are re-confirmed at 100% in every environment (draft PR for that reason).

Behaviour that changes only where a flag was previously off:

  • Legacy SCS / Enterprise Secrets licenses are no longer recognised; cx hooks pre-commit/pre-receive now require Secret Detection.
  • Archives over 5 GB were previously sent single-part when INCREASE_FILE_UPLOAD_LIMIT was off.
  • The old upload check ignored a flag-lookup error and dereferenced the result; that nil-dereference risk is gone with the check.
  • If the feature-flag service is unreachable, these paths no longer fall back to the old flag-off defaults.

Test changes: tests that exercised the flag-off / legacy paths were removed; the flag-on equivalents are kept. TestGetDefaultEngines / TestGetEnabledEngines now assert the real engine lists.

Local verification (not a substitute for the PR checks): unit tests for internal/commands fail the same 8 environment-dependent tests on main and on this branch (Windows permissions, Docker/KICS, SCA resolver), and there are no new failures; lint findings are equivalent to main. Integration tests were not run locally.

🤖 Generated with Claude Code

cx-rahul-pidde and others added 5 commits October 28, 2026 20:07
Use current license names for SCS engines and remove feature-flag checks from realtime scans, risk-management results, AISC, and multipart uploads.
Add tests for missing licenses and empty source paths in IaC and secrets realtime scans. Update golang.org/x/net and add missing Go documentation comments.
Allow more time for the unit test suite to complete in the CI script.
@cx-atish-jadhav
cx-atish-jadhav marked this pull request as ready for review November 2, 2026 05:48
@cx-atish-jadhav
cx-atish-jadhav requested a review from a team November 2, 2026 05:48
@cx-atish-jadhav cx-atish-jadhav self-assigned this Nov 2, 2026
cx-rahul-pidde and others added 6 commits November 2, 2026 16:08
* Update github.com/andybalholm/brotli from v1.2.0 to v1.2.7 (AST-189161)

Indirect dependency pulled in via anchore/syft -> anchore/archiver.
No API removals; archiver only uses NewWriterLevel/NewReader, which are unchanged.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* Update Docker base image checkmarx/bash:5.3 to latest digest (AST-189161)

Bumps the SHA256-pinned base image to the 5.3-r14 build pushed on 2026-11-04.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* Replace .trivyignore entries with current binary findings (AST-189161)

Ignore GO-2026-5932 (x/crypto/openpgp via helm provenance), CVE-2026-78661 and
CVE-2026-97045 (x/net/html via syft Maven cataloger). Remove the previous Wolfi
base-image and syft/docker entries, which no longer apply.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* Restore syft and docker entries in .trivyignore (AST-189161)

CVE-2026-33481 (syft temp cleanup) and CVE-2026-33997 (moby plugin privilege
bypass) are still reported against the binary. Neither has an adoptable fix:
syft >= 1.42.3 reintroduces the binary-size regression reverted in AST-188320
and docker/docker has no 29.x release on its module path. Justifications and
reachability analysis are recorded in the file.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* Bump golang.org/x/net to v0.62.0 and trim .trivyignore (AST-189161)

Bump the indirect golang.org/x/net dependency to v0.62.0, which fixes
CVE-2026-78661 and CVE-2026-97045, so their ignore entries are dropped.
Keep only the ignores that cannot be fixed directly: GO-2026-5932
(x/crypto openpgp, via helm), CVE-2026-33481 (syft) and CVE-2026-33997
(docker).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Co-authored-by: atishj99 <atish.jadhav@checkmarx.com>
Co-authored-by: Aniket Shinde <aniket.shinde@checkmarx.com>
…(AST-189161)

Replace `uses: ./.github/workflows/ci-tests.yml` with the `$/` form to
satisfy the zizmor `self-repository` audit (added in zizmor v1.30.0).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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