Skip to content

Add --skip-default-filter flag to scan create command(AST-154378) - #1532

Open
cx-atish-jadhav wants to merge 10 commits into
other/release_2_3_59from
bug/AST-154378-skipDefaultFilter
Open

Add --skip-default-filter flag to scan create command(AST-154378)#1532
cx-atish-jadhav wants to merge 10 commits into
other/release_2_3_59from
bug/AST-154378-skipDefaultFilter

Conversation

@cx-atish-jadhav

Copy link
Copy Markdown
Contributor

Introduce a new --skip-default-filter flag to bypass the CLI's base include/exclude file filters. Changes:

  • Add flag constant and usage (internal/params/flags.go).
  • Wire the flag into scan create command and log when set (internal/commands/scan.go).
  • Extend compressFolder and related helpers to accept skipDefaultFilter and honor it when building include/exclude filters; callers updated accordingly. Also adjust unzip condition to preserve container-local-resolution behavior when skipping defaults.
  • Add unit tests covering filter behavior and zip compression permutations (internal/commands/scan_test.go).
  • Add integration tests to verify the flag path and log output (test/integration/scan_test.go).

This preserves existing behavior by default and enables users to include files normally excluded by base filters (e.g., node_modules, binaries) when explicitly requested.

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

Introduce --skip-default-filter flag for cx scan create command to skip applying default base-included and base-excluded file filters. When this flag is NOT passed, the command behaves exactly as today (backward compatible). When passed, only user-provided filters apply — no base filters are appended.

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

Related Issues

Link any related issues or tickets.

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

Screenshots (if applicable)

Add screenshots to help explain your changes.

Additional Notes

Add any other relevant information.

Introduce a new --skip-default-filter flag to bypass the CLI's base include/exclude file filters. Changes:

- Add flag constant and usage (internal/params/flags.go).
- Wire the flag into scan create command and log when set (internal/commands/scan.go).
- Extend compressFolder and related helpers to accept skipDefaultFilter and honor it when building include/exclude filters; callers updated accordingly. Also adjust unzip condition to preserve container-local-resolution behavior when skipping defaults.
- Add unit tests covering filter behavior and zip compression permutations (internal/commands/scan_test.go).
- Add integration tests to verify the flag path and log output (test/integration/scan_test.go).

This preserves existing behavior by default and enables users to include files normally excluded by base filters (e.g., node_modules, binaries) when explicitly requested.
Introduce executeCommandWithTimeout in test/integration/util_command.go and update TestRunScaRealtimeScan in test/integration/scan_test.go to use it with a 15-minute timeout. This avoids flaky failures/timeouts during SCA resolver downloads by allowing longer execution time while preserving the existing error+output buffer behavior.
@cx-atish-jadhav cx-atish-jadhav changed the title Add --skip-default-filter flag to scan create command Add --skip-default-filter flag to scan create command(AST-154378) Jul 31, 2026
Move the SCA Realtime integration test out of the parallel test groups into a dedicated integration-sca-realtime job. The new job builds the binary, launches a Squid proxy, downloads ScaResolver, runs TestRunScaRealtimeScan with up to two retries, merges coverage with gocovmerge, and uploads coverage/log artifacts. Removed TestScaRealtime from the group run patterns and added the new job as a dependency of merge-coverage so its coverage is included in the final merge. This reduces resource contention and timeouts for the realtime SCA test.
@stepsecurity-app

Copy link
Copy Markdown
Contributor

Security Policy Alert: Secret Policy Violation

This workflow run has been blocked by StepSecurity's secrets policy because it accesses secrets and the workflow file differs from the default branch.

Secret references detected:

  • secrets.CX_BASE_URI at line 203
  • secrets.CX_CLIENT_ID at line 204
  • secrets.CX_CLIENT_SECRET at line 205
  • secrets.CX_BASE_AUTH_URI at line 206
  • secrets.CX_AST_USERNAME at line 207
  • secrets.CX_AST_PASSWORD at line 208
  • secrets.CX_APIKEY at line 209
  • secrets.CX_TENANT at line 210
  • secrets.CX_SCAN_SSH_KEY at line 211
  • secrets.PERSONAL_ACCESS_TOKEN at line 213
  • secrets.PROXY_USER at line 216
  • secrets.PROXY_PASSWORD at line 217
  • secrets.PR_GITLAB_TOKEN at line 222
  • secrets.PR_GITLAB_NAMESPACE at line 223
  • secrets.PR_GITLAB_REPO_NAME at line 224
  • secrets.PR_GITLAB_PROJECT_ID at line 225
  • secrets.PR_GITLAB_IID at line 226
  • secrets.AZURE_ORG at line 227
  • secrets.AZURE_PROJECT at line 228
  • secrets.AZURE_REPOS at line 229
  • secrets.AZURE_TOKEN at line 230
  • secrets.BITBUCKET_WORKSPACE at line 232
  • secrets.BITBUCKET_REPOS at line 233
  • secrets.BITBUCKET_USERNAME at line 234
  • secrets.BITBUCKET_PASSWORD at line 235
  • secrets.GITLAB_TOKEN at line 236
  • secrets.PR_BITBUCKET_TOKEN at line 238
  • secrets.ECHO_LIBRARIES_ACCESS_KEY at line 263
  • secrets.MS_TEAMS_WEBHOOK_URL_INTEGRATION_TESTS at line 411

To approve this workflow, please add the workflows-approved label to this PR.

Note: The label must be added by someone other than the PR author (cx-atish-jadhav) or automation bots to ensure proper security review.

After the label is added, you can re-run the blocked workflow to proceed.

This workflow will be automatically approved once merged into the default branch.

For more information, see StepSecurity's Secret Exfiltration Policy documentation.

Address flaky SCA realtime failures by skipping the integration test and cleaning up CI. Add t.Skip to TestRunScaRealtimeScan to avoid "context deadline exceeded" failures. Remove the dedicated integration-sca-realtime job from .github/workflows/ci-tests.yml, reintroduce TestScaRealtime into the scan group run patterns, and update merge-coverage dependencies accordingly. Files changed: .github/workflows/ci-tests.yml, test/integration/scan_test.go.
Comment thread internal/commands/scan.go Outdated
Mark TestRunScaRealtimeScan as skipped in integration tests due to repeated "context deadline exceeded" failures. Adds a t.Skip call in test/integration/scan_test.go to avoid unstable test runs while root cause is investigated.
Correct a malformed t.Skip invocation in test/integration/scan_test.go. Replaced the invalid `t.Skip( args ...; "..." )` syntax with a proper `t.Skip("Skip this test cases due to context deadline exceeded")` and kept the args assignment after the skip. Prevents a syntax error during build/tests.
@cx-atish-jadhav
cx-atish-jadhav changed the base branch from main to other/release_2_3_59 August 4, 2026 15:14
Add Trivy ignore entry for CVE-2026-58055 (libnghttp2) with context notes: affects libnghttp2-14 v1.69.0-r0 in base image checkmarx/bash:5.3-r12, fixed in libnghttp2-14 >= 1.70.0-r0. Notes include risk (MEDIUM), impact (awaiting base image patch), tracking ticket AST-166372, and expiry date exp:2027-02-28.

@cx-anurag-dalke cx-anurag-dalke 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.

ok

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants