For the complete documentation index, see llms.txt. This page is also available as Markdown.

Internal scanner integrations

How Seal synchronizes its remediation findings into the SCA scanners your organization already runs internally.

Seal integrates with eight internal SCA scanners: Snyk, Checkmarx, Black Duck, GitHub Advanced Security, Ox Security, SentinelOne, Grype, and Cycode
The eight internal SCA scanners Seal integrates with today.

Most customers already run an SCA scanner. When Seal substitutes a sealed version for a vulnerable package, the scanner still sees what it scanned before, and it still alerts on those vulnerabilities. Internal scanner integrations close that gap by updating the scanner's own state so that its dashboard, its alerts, and the policy files it reads reflect what Seal has actually sealed.

This chapter covers eight scanners that Seal integrates with today: Snyk, Checkmarx, Black Duck, GitHub Advanced Security (GHAS), Ox Security, SentinelOne, Grype, and Cycode.

Two integration mechanisms

Seal updates a scanner's state through one of two mechanisms, depending on what the scanner supports:

  • API sync. The Seal CLI calls the scanner's API after a seal fix run and marks the vulnerabilities Seal has remediated as resolved, ignored, or otherwise no-longer-actionable in the scanner's terms. This is the mechanism for Snyk, Checkmarx, Black Duck, GHAS, Ox Security, and SentinelOne.

  • Policy-file edits. The Seal CLI writes ignore or policy entries to a file in your repository that the scanner reads on its next run. This is the mechanism for Snyk (.snyk), Grype (.grype.yaml), and Cycode (.cycode/config.yaml).

Snyk supports both mechanisms, but not at the same time per Seal Project. Match the mechanism to the CLI fix mode: use policy-file edits under Local, and use API sync under Remote or Automatic Remediation.

Both mechanisms require that the Seal CLI runs in your CI/CD pipeline. The integrations do not work for the Artifact Server or Manual deployment methods, because there is no Seal CLI step in either of those to drive the sync.

When to use which

Scanner
API sync
Policy-file edits

Snyk

yes

yes (.snyk)

Checkmarx

yes

no

Black Duck

yes

no

GitHub Advanced Security (GHAS)

yes (via Dependabot)

no

Ox Security

yes

no

SentinelOne

yes

no

Grype

no

yes (.grype.yaml)

Cycode

no

yes (.cycode/config.yaml)

For scanners not on this list, or for scans run by an external party (a customer, a regulator), see External scanner support and Package renaming.

Configuration model

All integrations share the same configuration model: per-scanner credentials passed as environment variables to the Seal CLI, or in a .seal-config.yml file at the root of your project. The environment variable names follow SEAL_<SCANNER>_<FIELD> (for example, SEAL_SNYK_TOKEN). The full per-scanner setup is documented in the linked sub-pages.

Scanners covered

Reference

Last updated