NEW

Start with the pressure: sales, launch, abuse, agents, data, or guardrails

Quickstart

CLI quickstart

Invoke SecEng as a headless process, control the scan lifecycle yourself, and consume structured outputs from an output directory. This is the simplest integration mode.

4 min readMode: Process-per-scanReference status: Partially generated

Command surface

17 seceng subcommands are live under `savvy seceng ...` today, generated from the running server's command registry.

Reading

4m

  • scan-runs, findings, attack-paths, targets
  • export sarif / csv / cyclonedx
  • trust-scan, dom-analysis, compliance

Draft — generated reference pending

The command names on this page are real and current, generated from a live server's GET /v1/registry/commands registry (see the generated CLI reference). Full flag and exit-code documentation per command is not yet captured by that generator. Treat flags shown here as illustrative until confirmed against --help output for the version you are integrating against.

  1. Resolve the installed savvy binary and confirm the SecEng subcommands are available.
  2. Check capabilities before relying on a specific one — capability visibility (public/partner/licensed) and lifecycle (experimental/preview/stable) vary. See capabilities reference.
  3. Create a unique output directory per invocation.
  4. Invoke the scan with arguments passed as an array, never through shell interpolation.
  5. Enforce a partner-controlled timeout around the process.
  6. Inspect the process exit state.
  7. Parse the output manifest and ingest the requested formats (JSON, SARIF, CSV, CycloneDX).
  8. Retain sanitized diagnostics for support, not raw source or secrets.

Real seceng commands today

These are current, live command names — not placeholders — pulled from the generated command index in savvy-cli:

Representative commands (see full list in generated reference)
savvy seceng scan <path> [--quick] [--json]          # code security scan
savvy seceng scan-runs                                # list scan runs
savvy seceng findings                                 # list findings
savvy seceng attack-paths                              # list attack paths
savvy seceng export sarif                              # export SARIF
savvy seceng export csv                                # export CSV
savvy seceng export cyclonedx                           # export CycloneDX SBOM
savvy seceng targets                                    # list targets
savvy seceng trust-scan                                 # run trust scan
savvy seceng vcs enqueue-scan                            # enqueue a VCS scan
savvy seceng doctor --json                               # diagnostics (see /diagnostics)
savvy seceng capabilities --json                         # capability introspection
savvy seceng context export --profile mini                # bounded context pack for LLMs/agents

The full, current list — including categories and which surfaces (CLI, HTTP, chat integrations) each command supports — is in the generated CLI reference.

Process safety

  • Pass arguments as an array; do not build a shell string
  • Validate target paths before invocation
  • Constrain and own the output directory
  • Keep secrets out of command arguments and environment dumps
  • Capture stdout and stderr separately
  • Enforce a timeout — see seceng-external-tool-result.schema.json's timeout status for how SecEng itself represents a timed-out external tool run
  • Preserve correlation and job identifiers across retries
  • Redact diagnostics before uploading them to support
Exact syntax

Confirm flags against the generated CLI reference

Command names below are real and current. Full flag/argument signatures are not yet captured by the generator — verify with --help before wiring production automation.