cybros scan

Trigger a scan for a repository and stream its progress until it finishes.

Synopsis

cybros scan [PATH] [OPTIONS]

By default the CLI detects the repository from the git remote of PATH (default .), matches it to a connected Cybros repository, triggers a scan, and waits.

Arguments

ArgumentDefaultDescription
PATH.Path to the local git repo (used to detect the remote).

Options

FlagDefaultDescription
--repoRepository id (skips git-remote detection).
--refGit ref to scan (defaults to the current branch, then HEAD).
--modulesComma-separated scanner modules to run (e.g. sast,secrets).
--frameworksComma-separated compliance frameworks to assess.
--wait / --no-wait--waitWait for the scan to finish and print a summary.
--timeout600Max seconds to wait (with --wait).

Plus the global flags: --json, --api-url, --no-color.

Examples

Scan the current repo

cybros scan
Matched acme/api → repo_2f9c…
⠹ Scanning (4/5 modules) ━━━━━━━━━━━━━━━━━━ running 0:00:31
╭─ Scan scan_8a1b… ────────────────────────────╮
│ Status: completed                             │
│ Ref: main                                     │
│ Findings: 12   Credits: 40                    │
╰───────────────────────────────────────────────╯
       Severity breakdown
┏━━━━━━━━━━┳━━━━━━━┓
┃ Severity ┃ Count ┃
┡━━━━━━━━━━╇━━━━━━━┩
│ critical │   1   │
│ high     │   3   │
└──────────┴───────┘

Scan id: scan_8a1b…

Target a repo + ref, pick modules

cybros scan --repo repo_2f9c... --ref main --modules sast,secrets

Fire-and-forget (for CI / scripting)

cybros --json scan --no-wait | jq -r '.id'
{
  "id": "scan_8a1b...",
  "repository_id": "repo_2f9c...",
  "ref": "main",
  "status": "queued",
  "credits_spent": 0
}

How repository resolution works

  1. --repo <id> if provided, else
  2. the git remote of PATHowner/repo, matched against your org's repositories by full_name.

If neither yields a match, the command exits with an error asking you to connect the repo or pass --repo.

Exit codes

CodeWhen
0Scan created (and, with --wait, reached a terminal state).
1No git remote / no matching repo, or an API error.
2Not authenticated.

Related: cybros repos

List the repositories connected to your active org:

cybros repos
                      Repositories
┏━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━┓
┃ Full name  ┃ Branch ┃ Language ┃ ID          ┃
┡━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━┩
│ acme/api   │ main   │ Python   │ repo_2f9c…  │
│ acme/web   │ main   │ TypeScript│ repo_7d1e… │
└────────────┴────────┴──────────┴─────────────┘

Use a printed ID with cybros scan --repo <id>.

See also