cybros ai review

Run the 9-agent AI analysis on a scan and render each agent's verdict, the overall risk score, and the summary. Fix patches produced by the agents are surfaced on individual findings (see cybros findings show).

Synopsis

cybros ai review --scan SCAN_ID [OPTIONS]

Options

FlagDefaultDescription
--scanrequiredScan id to run the AI analysis on.
--timeout600Max seconds to wait.
--no-waitoffTrigger the analysis without waiting.

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

Examples

Run and wait

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                │
╰───────────────────────────────────────────────╯
                Agent verdicts
┏━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ # ┃ Agent            ┃ Status    ┃ Confidence ┃
┡━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ 1 │ triage           │ completed │        97% │
│ 2 │ false-positive   │ completed │        94% │
│ 9 │ remediation-plan │ completed │        88% │
└───┴──────────────────┴───────────┴────────────┘

Trigger without waiting

cybros ai review --scan scan_8a1b... --no-wait
AI analysis ai_5c2d… queued.

JSON

cybros --json ai review --scan scan_8a1b... | jq '{
  risk: .risk_score,
  confidence: .overall_confidence,
  agents: (.agent_runs | length)
}'

Notes

  • Triggering is idempotent-ish: if an analysis already exists for the scan, the server returns the current run rather than starting a duplicate.
  • The command polls GET /scans/{id}/ai-analysis until the analysis reaches a terminal state (completed, failed, cancelled) or --timeout elapses.

Exit codes

CodeWhen
0Analysis completed / queued.
1Unknown scan, timeout, or API error.
2Not authenticated.

See also