Quickstart

Go from zero to your first scan, findings, and AI review in about 5 minutes.

You'll need a Cybros account and a connected repository. If you don't have one, sign in at cybros.hacktigerlabs.com and connect a repo from the dashboard first.


1. Create an API key

Create a key from the dashboard (Settings → API Keys, or the /enterprise page). Keys look like cybros_sk_... and are shown once — copy it now.

Already have a key on your machine? You can also mint one from the CLI later with cybros keys create.

2. Install the CLI

pip install cybros          # Python 3.10+

Prefer Node? The TypeScript SDK ships the same surface:

npm install @cybros/sdk

Verify the install:

cybros version
cybros 0.1.0

3. Log in

cybros login
Cybros API key: ****************************
╭─ Authenticated ──────────────────────────────╮
│ Logged in as you@acme.com                     │
│ Org:  Acme (enterprise)                        │
│ Role: admin                                    │
│                                                │
│ Config saved to /Users/you/.cybros/config.toml │
╰────────────────────────────────────────────────╯

login verifies the key against GET /me and writes it to ~/.cybros/config.toml (mode 0600). You can also skip the file entirely and export the key for a session:

export CYBROS_API_KEY=cybros_sk_...

See Authentication for the full precedence order.

4. Run a scan

Run this inside a git repository that is connected to Cybros. The CLI reads your git remote, matches it to a Cybros repository, triggers a scan, and streams progress until it finishes.

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   │
│ medium   │   6   │
│ low      │   2   │
└──────────┴───────┘

Scan id: scan_8a1b…

Not in a git repo, or want to target a specific one? Pass --repo:

cybros scan --repo repo_2f9c... --ref main

5. View findings

cybros findings --severity high
                       Findings (3)
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┓
┃ Severity ┃ Title                 ┃ Status ┃ Location           ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━┩
│ high     │ SQL injection         │ open   │ app/db.py:88       │
│ high     │ Hardcoded AWS secret  │ open   │ infra/deploy.sh:14 │
│ high     │ Missing authz check   │ open   │ app/api/users.py:42│
└──────────┴───────────────────────┴────────┴────────────────────┘

Drill into one:

cybros findings show fnd_1a2b...

This prints the evidence snippet, CWE/CVSS/OWASP tags, the AI explanation, and a suggested patch (when available).

6. Run the AI review

Trigger the 9-agent AI analysis for the scan and watch each agent report in:

cybros ai review --scan scan_8a1b...
⠋ AI analysis (9/9 agents) — completed 0:01:12
╭─ AI analysis ────────────────────────────────╮
│ Status: completed                             │
│ Risk score: 58                                │
│ Confidence: 92%   Credits: 120                │
╰───────────────────────────────────────────────╯

7. (Optional) Ship a fix

Kick the auto-remediation pipeline on a finding and get a PR:

cybros fix fnd_1a2b...
╭─ Fix ready ──────────────────────────────────╮
│ Pull request: https://github.com/acme/api/pull/321 │
│ Branch: cybros/fix-sql-injection-88           │
╰───────────────────────────────────────────────╯

What next?

  • Add --json to any command to pipe results into jq or a script.
  • Wire the same commands into CI — see GitHub Actions.
  • Script it end-to-end with the Python or TypeScript SDK.
  • Scan without leaving your editor — VS Code · JetBrains.