Skip to main content

Running Code Scans

Where: Code Command Center → New Scan.

New Scan tab: source selector (Repository, Upload ZIP, Container Image, Build Artifact), provider tabs, repository and branch pickers, scan type Full Code Security, and the scheduled repository scans panel

Choose a source

SourceGive itNeeds
RepositoryProvider (GitHub / Bitbucket / GitLab), repository, branch (default main)A Git connection
Upload ZIPA ZIP of the source tree (up to 500 MB)Nothing — ideal for vendor code or air-gapped projects
Container ImageAn image reference the platform can pullRegistry access for private images
Build ArtifactA .jar, .war, .ear, .whl, .egg, .tgz, .gem or .nupkgNothing

Choose a scan type

Scan typeRunsWhen
Full Code Security (default)SAST + SCA + Secrets + IaC + SBOM & LicencesBaseline scan of a repository; the scheduled weekly run.
SAST OnlyOpenGrep + Bandit (and SonarQube when configured)Fast feedback on code changes.
Dependency / SCAOSV.dev CVE scan of every lockfile, enriched with KEV and EPSSDaily; after a dependency bump.
Secrets ScanGitleaks over the source treeBefore publishing a repository; after an incident.
IaC ScanCheckov on Terraform, CloudFormation, Kubernetes manifests, DockerfilesInfrastructure repositories; before apply.
SBOM GenerationSyft CycloneDX + licence enrichmentInventory and licence review — see SBOM & Licences.
Compiled Image ScanTrivy + Grype on the built Docker imageAfter the pipeline builds; pairs with the container CI gate.

Select Start Scan. The scan is queued immediately with a scan ID and runs in the background — clone or unpack, then each engine in turn. Progress shows the current phase (sast, opengrep, bandit, dependencies, secrets, iac, sbom, sonarqube) and a percentage; you can leave the page and pick the result up under Reports.

A typical small service completes in one to three minutes; large monorepos take longer, dominated by dependency resolution and SAST.

Where credentials come from

Repository scans use the team's Git connection; SonarQube results are attached when a SonarQube server is configured under Integrations. Nothing is written back to the repository by a scan — only the optional Fix PR action does that, and it is a separate, permissioned step.

What a scan produces

  • Findings — one per issue, fingerprinted so re-scans update rather than duplicate: SAST findings carry file, line and code context; SCA findings carry package, installed and fixed versions, CVE, CVSS, EPSS and KEV; secrets carry the detector and location (values are masked); IaC findings carry the resource and the Checkov check. See Findings & Reports.
  • A scan report with the per-tool breakdown, exportable as PDF.
  • An SBOM (Full or SBOM scans) with licence data, listed under SBOM & Licences.
  • Coverage — the repository is now scanned on the Overview; put it on a schedule so it does not turn stale.

Scheduled repository scans

Below the form, Scheduled repository scans lists the repositories on a recurring schedule and lets you add one: repository, branch, scan type and cadence — Daily, Weekly (Mondays) or Monthly (1st) — with Run once now to test. Scheduled SBOM & licence scans are configured the same way on the SBOM tab. Details and pipeline integration in CI/CD & Automation.

  • Findings & Reports — triage what the scan found.
  • CI/CD & Automation — run the same scans from GitHub Actions, GitLab CI or Jenkins.
  • Scanning APIPOST /api/code/scan, POST /api/code/upload-scan, GET /api/code/scan-status/{scan_id}.