stella CLI — Complete Command Reference

This is the consolidated reference for the stella command-line interface, the operator-facing client for the Stella Ops release control plane. It catalogs every command group with usage, options, examples, and exit codes.

Audience: operators, security engineers, and CI authors. For a guided introduction, start with the CLI overview and quickstart; for deep dives, follow the per-command guides linked under See Also.

Command Overview

The stella CLI provides 50+ commands organized into functional groups:

graph TD
    CLI[stella CLI] --> SCAN[Scanning & Analysis]
    CLI --> CRYPTO[Cryptography]
    CLI --> ADMIN[Administration]
    CLI --> AUTH[Authentication]
    CLI --> POLICY[Policy Management]
    CLI --> EXPLAIN[Explainability]
    CLI --> VEX[VEX & Decisioning]
    CLI --> SBOM[SBOM Operations]
    CLI --> ANALYTICS[Analytics & Insights]
    CLI --> REPORT[Reporting & Export]
    CLI --> OFFLINE[Offline Operations]
    CLI --> SYSTEM[System & Config]

Global Options

Available for all commands:

OptionAliasDescription
--verbose-vEnable verbose logging output
--tenant <id>-tTenant context for the operation
--help-hShow command help
--versionShow version information

Attestor Transparency Commands

stella attestor transparency targets

Manage external transparency mirror targets.

Usage:

stella attestor transparency targets <list|show|upsert|enable|disable> [options]

Examples:

stella attestor transparency targets list --json

stella attestor transparency targets upsert \
  --name public-rekor \
  --kind rekor-compatible \
  --endpoint-url https://rekor.example \
  --trust-root-ref trust-root:public-rekor \
  --auth-ref secret://attestor/public-rekor-token \
  --required-crypto-profile eidas-qes \
  --operator-label ops-window-20260524

Raw bearer tokens, client secrets, and credential material are rejected in --auth-ref; pass a Secret Authority reference instead.

stella attestor transparency sync

Run connected-window external mirror sync. Dry-run is the default; live sync requires an explicit egress-window acknowledgement.

stella attestor transparency sync run --target public-rekor --max-entries 100 --json

stella attestor transparency sync run \
  --target public-rekor \
  --live \
  --confirm-egress-window \
  --max-runtime-seconds 300 \
  --operator-label ops-window-20260524

stella attestor transparency sync report --target public-rekor --limit 20

Live sync is refused while the CLI is in sealed/offline mode. Human output labels external publication as External mirror receipt, External mirror pending, or External mirror failed.

stella attestor transparency receipts

Inspect Attestor receipt status without treating external mirrors as the primary local receipt.

stella attestor transparency receipts list --subject sha256:... --page-size 50
stella attestor transparency receipts show <local-receipt-uuid> --refresh --json

JSON preserves localTransparencyReceipt and externalMirrorReceipts[]. Human output uses Local transparency receipt for the sealed-site primary receipt and external mirror labels only for additive mirror evidence.

stella airgap exchange transparency

Create and import controlled-media transparency exchange packages. The same implementation is available as stella attestor transparency exchange ....

stella airgap exchange transparency schedule create \
  --target public-rekor \
  --index-start 1000 \
  --index-end 1200 \
  --out ./tx-schedule \
  --media-id usb-42 \
  --operator-label export-20260524 \
  --required-crypto-profile eidas-qes

stella airgap exchange transparency relay-import create \
  --schedule ./tx-schedule \
  --target public-rekor \
  --out ./tx-import \
  --relay-id relay-sofia \
  --operator-label import-20260524

stella airgap exchange transparency import validate --package ./tx-import
stella airgap exchange transparency import apply --package ./tx-import --operator-label apply-20260524
stella airgap exchange transparency status --manifest-digest sha256:...

The CLI writes package file bytes returned by Attestor and a descriptor named stellaops-transparency-package.json. Certificates, signatures, algorithms, and crypto profile metadata are selected by Attestor/Authority according to installation regional crypto settings; the CLI never exports private keys or external-log credentials.


Integration Catalog Commands

stella config integrations

Manage the live Integration Catalog through the Integrations service.

Usage:

stella config integrations <command> [options]

Subcommands:

stella config integrations bootstrap local

Bootstrap the owned local compose fixture lane without dropping into fixture-native APIs.

Usage:

stella config integrations bootstrap local [--include-gitlab] [--include-gitlab-registry] [--format table|json]

Options:

OptionDescription
--include-gitlabAdd the local GitLab Server and GitLab CI fixtures. The CLI mints the owned local PAT and stages it into Vault automatically.
--include-gitlab-registryAdd the optional local GitLab container registry fixture. Requires the heavy GitLab compose profile with GITLAB_ENABLE_REGISTRY=true.
--format <table|json>Output format. json is machine-readable and exits non-zero when any selected integration is unhealthy.

Examples:

# Bootstrap the default 13-entry local compose fixture catalog
stella config integrations bootstrap local

# Add the owned local GitLab SCM and CI fixtures
stella config integrations bootstrap local --include-gitlab

# Add the full 16-entry local fixture catalog including GitLab registry
stella config integrations bootstrap local --include-gitlab --include-gitlab-registry --format json

Contract:

Examples:

# Show live providers (default hides test-only providers)
stella config integrations providers

# Include test-only providers such as InMemory
stella config integrations providers --include-test-only --format json

# Create a GitLab server entry
stella config integrations create \
  --name local-gitlab \
  --type scm \
  --provider gitlabserver \
  --endpoint http://gitlab.stella-ops.local:8929 \
  --secret-ref authref://vault/gitlab#access-token

# Discover projects from an existing integration
stella config integrations discover <integration-id> --resource-type projects

# Discover tags within a repository
stella config integrations discover <integration-id> \
  --resource-type tags \
  --filter repository=team/api \
  --filter namePattern='v*'

# Register local MinIO through the object-storage provider
stella config integrations create \
  --name local-minio \
  --type objectstorage \
  --provider s3compatible \
  --endpoint http://minio.stella-ops.local:9000

Notes:


Scanning & Analysis Commands

stella scan

Scan container images for vulnerabilities and generate SBOMs.

Usage:

stella scan <image> [options]

Arguments:

Options:

OptionDescriptionDefault
--output <path>Output file pathstdout
--sbom-format <format>SBOM format: spdx, cyclonedxspdx
--sbom-onlyGenerate SBOM only (skip vuln scan)false
--attestationGenerate in-toto attestationfalse
--vex-mode <mode>VEX mode: strict, permissive, disabledstrict
--policy <path>Policy file to applyNone
--fail-on-policy-violationsExit with error if policy violationsfalse

Examples:

# Basic scan
stella scan docker://nginx:latest --output scan-result.json

# Generate SPDX SBOM only
stella scan docker://nginx:latest --sbom-only --sbom-format spdx --output nginx.spdx.json

# Scan with attestation and policy enforcement
stella scan docker://nginx:latest \
  --attestation \
  --policy company-policy.yaml \
  --fail-on-policy-violations \
  --output results/

# Scan local tar archive
stella scan tar://image.tar --output scan.json

Exit Codes:


stella aoc

Generate Attestation of Compliance (AoC) documents.

Usage:

stella aoc [options]

Options:

OptionDescription
--scan <path>Scan result file
--sbom <path>SBOM file
--output <path>Output attestation file
--signSign attestation with crypto provider
--provider <name>Crypto provider (for signing)

Example:

stella aoc \
  --scan scan-result.json \
  --sbom sbom.spdx.json \
  --sign \
  --provider gost \
  --output attestation.jsonl

stella symbols

Extract and index debug symbols from containers.

Usage:

stella symbols <command> [options]

Subcommands:

Example:

# Extract symbols
stella symbols extract docker://myapp:v1.2.3 --output symbols/

# Index symbols
stella symbols index symbols/ --output symbols.db

# Query symbols
stella symbols query --db symbols.db --address 0x12345678

Cryptography Commands

stella crypto providers

List available cryptographic providers.

Usage:

stella crypto providers [--json] [--verbose]

Output (International):

Available Crypto Providers:
- default (.NET Crypto, BouncyCastle)
  Algorithms: ECDSA-P256, ECDSA-P384, EdDSA, RSA-2048, RSA-4096

Output (Russia):

Available Crypto Providers:
- default (.NET Crypto, BouncyCastle)
  Algorithms: ECDSA-P256, ECDSA-P384, EdDSA, RSA-2048, RSA-4096
- gost (GOST R 34.10-2012, GOST R 34.11-2012)
  Algorithms: GOST12-256, GOST12-512, GOST2001

Distribution Availability: All


stella crypto sign

Sign files with cryptographic algorithms.

Usage:

stella crypto sign [options]

Options:

OptionDescriptionRequired
--provider <name>Crypto providerYes
--algorithm <alg>Algorithm (e.g., GOST12-256)Yes
--key-id <id>Key identifierYes
--file <path>File to signYes
--output <path>Signature output fileYes
--detachedCreate detached signatureNo (default: true)

Examples:

# Sign with default provider (ECDSA)
stella crypto sign \
  --provider default \
  --algorithm ECDSA-P256 \
  --key-id prod-key \
  --file document.pdf \
  --output document.pdf.sig

# Sign with GOST (Russia distribution)
stella crypto sign \
  --provider gost \
  --algorithm GOST12-256 \
  --key-id gost-key-2024 \
  --file document.pdf \
  --output document.pdf.sig

# Sign with eIDAS QES (EU distribution)
stella crypto sign \
  --provider eidas \
  --algorithm ECDSA-P256-QES \
  --key-id eidas-qes-key \
  --file contract.pdf \
  --output contract.pdf.sig

Distribution Availability:


stella crypto verify

Verify cryptographic signatures.

Usage:

stella crypto verify [options]

Options:

OptionDescriptionRequired
--provider <name>Crypto providerYes
--algorithm <alg>AlgorithmYes
--key-id <id>Key identifierYes
--file <path>Original fileYes
--signature <path>Signature fileYes

Example:

stella crypto verify \
  --provider gost \
  --algorithm GOST12-256 \
  --key-id gost-key-2024 \
  --file document.pdf \
  --signature document.pdf.sig

Output:

✅ Signature valid
Provider: gost
Algorithm: GOST12-256
Signer: CN=Company GOST Key 2024

Exit Codes:


stella crypto profiles

Manage crypto profiles for easy provider/key switching.

Usage:

stella crypto profiles [command]

Subcommands:

Examples:

# List profiles
stella crypto profiles list

# Create GOST profile
stella crypto profiles create gost-prod \
  --provider gost \
  --algorithm GOST12-256 \
  --key-id gost-key-2024

# Use profile
stella crypto profiles use gost-prod

# Sign using active profile
stella crypto sign --file document.pdf --output document.pdf.sig

Administration Commands

stella admin policy

Manage platform policies.

Usage:

stella admin policy <command> [options]

Subcommands:

stella admin policy export

Export active policy snapshot.

stella admin policy export [--output <path>] [--verbose]

Example:

stella admin policy export --output policy-backup-$(date +%F).yaml

stella admin policy import

Import policy from file.

stella admin policy import --file <path> [--validate-only] [--verbose]

Example:

# Validate before importing
stella admin policy import --file new-policy.yaml --validate-only

# Import after validation
stella admin policy import --file new-policy.yaml

stella admin policy validate

Validate policy file without importing.

stella admin policy validate --file <path> [--verbose]

stella admin policy list

List all policy revisions.

stella admin policy list [--format table|json] [--verbose]

Required Scope: admin.policy

See Also: Admin Reference


stella admin users

User management commands.

Usage:

stella admin users <command> [options]

Subcommands:

stella admin users list

List platform users.

stella admin users list [--role <role>] [--format table|json] [--verbose]

stella admin users add

Add new user.

stella admin users add <email> --role <role> [--tenant <id>] [--verbose]

Roles:

Example:

stella admin users add alice@example.com --role security-engineer --tenant acme-corp

stella admin users revoke

Revoke user access (destructive - requires confirmation).

stella admin users revoke <email> --confirm [--verbose]

Example:

stella admin users revoke bob@example.com --confirm

stella admin users update

Update user role.

stella admin users update <email> --role <role> [--verbose]

Required Scope: admin.users


stella admin feeds

Advisory feed management.

Usage:

stella admin feeds <command> [options]

Subcommands:

stella admin feeds list

List configured advisory feeds.

stella admin feeds list [--format table|json] [--verbose]

stella admin feeds status

Show feed synchronization status.

stella admin feeds status [--source <id>] [--verbose]

stella admin feeds refresh

Trigger feed refresh.

stella admin feeds refresh [--source <id>] [--force] [--verbose]

Example:

# Refresh all feeds
stella admin feeds refresh

# Force refresh NVD (ignore cache)
stella admin feeds refresh --source nvd --force

stella admin feeds history

Show feed synchronization history.

stella admin feeds history --source <id> [--limit <n>] [--verbose]

Required Scope: admin.feeds


stella admin system

System management commands.

Usage:

stella admin system <command> [options]

Subcommands:

stella admin system status

Show system health status.

stella admin system status [--format table|json] [--verbose]

Output:

System Health Status:
Component        Status    Uptime    Version
─────────────────────────────────────────────
Scanner          ✅ UP     5d 3h     2.1.0
Concelier        ✅ UP     5d 3h     2.1.0
Authority        ✅ UP     5d 3h     2.1.0
PostgreSQL       ✅ UP     10d 2h    16.2

stella admin system info

Show system version, build, and configuration.

stella admin system info [--verbose]

Required Scope: admin.platform


Authentication Commands

stella auth login

Authenticate with platform (interactive).

Usage:

stella auth login [--force] [--verbose]

Example:

# Interactive login on the seeded human client
stella auth login

# Re-authenticate even when a cached token exists
stella auth login --force

Output:

Authority username: admin
Authority password for admin:
Login successful. Access token expires at 2026-04-16 12:00:00Z.

When no Authority client ID is configured, the CLI defaults to the seeded human client stellaops-cli and prompts for username/password in an interactive shell. For automation, configure a confidential client such as stellaops-cli-automation.


stella auth logout

Log out from platform.

Usage:

stella auth logout [--verbose]

stella auth whoami

Show current authentication status.

Usage:

stella auth whoami [--verbose]

Output:

Authenticated as: alice@example.com
Tenant: acme-corp
Scopes: scan.read, scan.write, admin.policy
Token expires: 2025-12-24T10:30:00Z

Score Commands

stella score compute

Compute a unified trust score from signal values.

Usage:

stella score compute [OPTIONS]

Options:

OptionDescription
--finding-id <ID>CVE@PURL finding identifier
--cvss <score>CVSS base score (0-10)
--epss <score>EPSS probability (0-1)
--reachability <value>Reachability signal (0-1)
--runtime <value>Runtime observation signal (0-1)
--exploit <value>Exploit maturity signal (0-1)
--backport <value>Backport availability signal (0-1)
--source <value>Source confidence signal (0-1)
--mitigation <value>Mitigation strength signal (0-1)
--weights-version <ver>Pin specific weight manifest version
--show-unknownsInclude U metric and band in output
--show-deltasInclude delta-if-present calculations
--format <fmt>Output format: table, json, markdown
--offlineUse bundled weights (no server required)

Examples:

# Basic score computation
stella score compute --finding-id CVE-2024-1234@pkg:npm/lodash@4.17.0 \
    --cvss 7.5 --epss 0.15 --reachability 0.9

# Full output with deltas
stella score compute --finding-id CVE-2024-1234@pkg:npm/lodash@4.17.0 \
    --cvss 7.5 --reachability 0.9 --runtime 0.7 \
    --show-unknowns --show-deltas --format json

stella score explain

Display detailed breakdown of a score computation.

Usage:

stella score explain <FINDING-ID> [OPTIONS]

Examples:

stella score explain CVE-2024-1234@pkg:npm/lodash@4.17.0
stella score explain CVE-2024-1234@pkg:npm/lodash@4.17.0 --format markdown

stella score replay

Fetch the signed replay proof for a previously computed score.

Usage:

stella score replay <SCORE-ID> [OPTIONS]

Options:

OptionDescription
--format <fmt>Output format: table, json, markdown
--verify-rekorAlso verify Rekor inclusion proof

Examples:

stella score replay score_a1b2c3d4e5f67890
stella score replay score_a1b2c3d4e5f67890 --format json --verify-rekor

stella score verify

Re-execute a score computation and verify it matches the original.

Usage:

stella score verify <SCORE-ID> [OPTIONS]

Options:

OptionDescription
--format <fmt>Output format: table, json, markdown
--verify-rekorAlso verify Rekor inclusion proof

Examples:

stella score verify score_a1b2c3d4e5f67890

stella gate score evaluate

Compute unified score as part of a gate evaluation (enhanced with unknowns support).

Usage:

stella gate score evaluate [OPTIONS]

Additional Options (new):

OptionDescription
--show-unknownsInclude U metric and unknowns band
--show-deltasInclude delta-if-present for missing signals
--weights-version <ver>Pin specific weight manifest version

stella gate score weights

Manage EWS weight manifests.

Usage:

stella gate score weights <SUBCOMMAND>

Subcommands:

SubcommandDescription
listList available weight manifest versions
show <version>Display manifest details
diff <v1> <v2>Compare two manifests

Examples:

stella gate score weights list
stella gate score weights show v2026-01-22
stella gate score weights diff v2026-01-22 v2026-02-01

Policy Commands

stella policy test

Test policy against scan results.

Usage:

stella policy test --policy <path> --scan <path> [--verbose]

Example:

stella policy test \
  --policy company-policy.yaml \
  --scan scan-result.json

Output:

Policy Test Results:
✅ PASS: No critical vulnerabilities
✅ PASS: SBOM completeness >= 95%
❌ FAIL: Found 3 GPL-licensed dependencies (policy: copyleft-disallowed)

Policy Status: FAILED (1/3 checks failed)

stella policy validate

Validate policy syntax and logic.

Usage:

stella policy validate --file <path> [--verbose]

VEX & Decisioning Commands

stella vex generate

Generate VEX document from scan results.

Usage:

stella vex generate --scan <path> [--output <path>] [--verbose]

Example:

stella vex generate \
  --scan scan-result.json \
  --output vex-doc.json

stella vex merge

Merge multiple VEX documents.

Usage:

stella vex merge --vex <path1> --vex <path2> [--output <path>] [--verbose]

stella decision

Manage vulnerability decisions (VEX workflow).

Usage:

stella decision <command> [options]

Subcommands:

Example:

# Mark CVE as not_affected
stella decision create \
  --cve CVE-2024-12345 \
  --status not_affected \
  --justification vulnerable_code_not_in_execute_path \
  --impact-statement "Vulnerable function not called in our application"

SBOM Operations

stella sbom generate

Generate SBOM from source code or container.

Usage:

stella sbom generate <target> [options]

Options:

OptionDescription
--format <format>SBOM format: spdx, cyclonedx
--output <path>Output file path
--include-dev-dependenciesInclude dev dependencies

Example:

# Generate SPDX SBOM from source
stella sbom generate . --format spdx --output sbom.spdx.json

# Generate CycloneDX SBOM from container
stella sbom generate docker://myapp:v1 --format cyclonedx --output sbom.cdx.json

stella sbom validate

Validate SBOM against schema.

Usage:

stella sbom validate --file <path> [--verbose]

stella sbom merge

Merge multiple SBOMs.

Usage:

stella sbom merge --sbom <path1> --sbom <path2> [--output <path>] [--verbose]

Analytics Commands

stella analytics sbom-lake

Query SBOM lake analytics views (suppliers, licenses, vulnerabilities, backlog, attestation coverage, trends).

Usage:

stella analytics sbom-lake <subcommand> [options]

Subcommands:

Common options:

OptionDescription
--environment <env>Filter to a specific environment
--min-severity <level>Minimum severity (critical, high, medium, low)
--days <n>Lookback window in days (trends only)
--series <name>Trend series (vulnerabilities, components, all)
--limit <n>Maximum number of rows
--format <fmt>Output format: table, json, csv
--output <path>Output file path

Example:

stella analytics sbom-lake vulnerabilities --environment prod --min-severity high --format csv --output vuln.csv

Function Map Commands

stella function-map generate

Generate a function map predicate from an SBOM and optional static analysis.

Usage:

stella function-map generate [OPTIONS]

Options:

OptionAliasDescription
--sbom <path>-sPath to SBOM file (required)
--service <name>Service name (required)
--subject <purl>Subject artifact PURL (derived from SBOM if omitted)
--static-analysis <path>Path to static analysis results
--hot-functions <glob>-HGlob patterns for functions of interest (repeatable)
--min-rate <value>Minimum observation rate 0.0-1.0 (default 0.95)
--window <seconds>Observation window in seconds (default 1800)
--fail-on-unexpectedFail verification on unexpected symbols
--output <path>-oOutput file path
--format <fmt>-fOutput format: json, yaml (default json)
--build-id <id>Build ID for provenance correlation

Examples:

# Basic generation from SBOM
stella function-map generate --sbom app.cdx.json --service my-backend

# With hot function filtering and custom thresholds
stella function-map generate \
  --sbom app.cdx.json \
  --service my-backend \
  --hot-functions "crypto/*" --hot-functions "auth/*" \
  --min-rate 0.90 --window 3600 \
  --output function-map.json

stella function-map verify

Verify runtime observations against a function map predicate.

Usage:

stella function-map verify [OPTIONS]

Options:

OptionAliasDescription
--function-map <path>-mPath or OCI reference to predicate (required)
--container <id>-cFilter to specific container ID
--from <timestamp>ISO 8601 start time (default: 30 min ago)
--to <timestamp>ISO 8601 end time (default: now)
--output <path>-oOutput verification report path
--format <fmt>-fOutput format: json, table, md (default table)
--strictFail on any unexpected symbols
--offlineUse bundled observations file
--observations <path>Path to observations file (NDJSON)

Examples:

# Online verification against live observations
stella function-map verify \
  --function-map function-map.json \
  --from "2026-01-23T00:00:00Z" --to "2026-01-23T01:00:00Z"

# Offline verification with bundled observations
stella function-map verify \
  --function-map function-map.json \
  --offline --observations obs.ndjson \
  --format json --output report.json

Observations Commands

stella observations query

Query runtime observations from the observation store.

Usage:

stella observations query [OPTIONS]

Options:

OptionAliasDescription
--symbol <glob>-sGlob pattern for symbol name
--node-hash <hash>-nExact node hash filter
--container <id>-cContainer ID filter
--pod <name>-pPod name filter
--namespace <ns>-NKubernetes namespace filter
--probe-type <type>Probe type filter
--from <timestamp>ISO 8601 start time (default: 1 hour ago)
--to <timestamp>ISO 8601 end time (default: now)
--limit <n>-lMaximum results (default 100)
--offset <n>Pagination offset (default 0)
--format <fmt>-fOutput format: json, table, csv (default table)
--summaryShow statistics instead of individual records
--output <path>-oOutput file path
--offlineUse local observations file
--observations-file <path>Path to observations file for offline mode

Examples:

# Query all crypto-related observations
stella observations query --symbol "crypto_*" --from "2026-01-23T00:00:00Z"

# Summary for a specific container
stella observations query --container abc123 --summary

# Export as CSV for analysis
stella observations query --pod my-service-pod --format csv --output obs.csv

Ground-Truth Corpus Commands

stella groundtruth

Manage ground-truth corpus for patch-paired binary verification. The corpus supports precision validation of security advisories by maintaining symbol and binary pairs from upstream sources.

Sprint: SPRINT_20260121_035_BinaryIndex_golden_corpus_connectors_cli

Usage:

stella groundtruth <subcommand> [options]

Subcommands:


stella groundtruth sources

Manage upstream symbol source connectors.

Usage:

stella groundtruth sources <command> [options]

Subcommands:

stella groundtruth sources list

List available symbol source connectors.

stella groundtruth sources list [--output-format table|json] [--verbose]

Output:

ID                        Display Name              Status       Last Sync
------------------------------------------------------------------------------------------
debuginfod-fedora         Fedora Debuginfod         Enabled      2026-01-22T10:00:00Z
debuginfod-ubuntu         Ubuntu Debuginfod         Enabled      2026-01-22T10:00:00Z
ddeb-ubuntu               Ubuntu ddebs              Enabled      2026-01-22T09:30:00Z
buildinfo-debian          Debian Buildinfo          Enabled      2026-01-22T08:00:00Z
secdb-alpine              Alpine SecDB              Enabled      2026-01-22T06:00:00Z

stella groundtruth sources enable

Enable a symbol source connector.

stella groundtruth sources enable <source> [--verbose]

Arguments:

Example:

stella groundtruth sources enable debuginfod-fedora

stella groundtruth sources disable

Disable a symbol source connector.

stella groundtruth sources disable <source> [--verbose]

stella groundtruth sources sync

Synchronize symbol sources from upstream.

stella groundtruth sources sync [--source <id>] [--full] [--verbose]

Options:

OptionDescription
--source <id>Source connector ID (all if not specified)
--fullPerform a full sync instead of incremental

Example:

# Incremental sync of all sources
stella groundtruth sources sync

# Full sync of Debian buildinfo
stella groundtruth sources sync --source buildinfo-debian --full

stella groundtruth symbols

Query and search symbols in the corpus.

Usage:

stella groundtruth symbols <command> [options]

stella groundtruth symbols lookup

Lookup symbols by debug ID (build-id).

stella groundtruth symbols lookup --debug-id <id> [--output-format table|json] [--verbose]

Options:

OptionAliasDescriptionRequired
--debug-id-dDebug ID (build-id) to lookupYes
--output-format-OOutput format: table, jsonNo

Example:

stella groundtruth symbols lookup --debug-id 7f8a9b2c4d5e6f1a --output-format json

Output (table):

Binary: libcrypto.so.3
Architecture: x86_64
Distribution: debian-bookworm
Package: openssl@3.0.11-1
Symbol Count: 4523
Sources: debuginfod-fedora, buildinfo-debian

Search symbols by package or distribution.

stella groundtruth symbols search [--package <name>] [--distro <distro>] [--limit <n>] [--output-format table|json] [--verbose]

Options:

OptionAliasDescriptionDefault
--package-pPackage name to search for-
--distroDistribution filter (debian, ubuntu, alpine)-
--limit-lMaximum results20

Example:

stella groundtruth symbols search --package openssl --distro debian --limit 50

stella groundtruth pairs

Manage security pairs (vulnerable/patched binary pairs) in the corpus.

Usage:

stella groundtruth pairs <command> [options]

stella groundtruth pairs create

Create a new security pair.

stella groundtruth pairs create --cve <cve-id> --vuln-pkg <pkg=ver> --patch-pkg <pkg=ver> [--distro <distro>] [--verbose]

Options:

OptionDescriptionRequired
--cveCVE identifierYes
--vuln-pkgVulnerable package (name=version)Yes
--patch-pkgPatched package (name=version)Yes
--distroDistribution (e.g., debian-bookworm)No

Example:

stella groundtruth pairs create \
  --cve CVE-2024-1234 \
  --vuln-pkg openssl=3.0.10-1 \
  --patch-pkg openssl=3.0.11-1 \
  --distro debian-bookworm

stella groundtruth pairs list

List security pairs in the corpus.

stella groundtruth pairs list [--cve <pattern>] [--package <name>] [--limit <n>] [--output-format table|json] [--verbose]

Options:

OptionAliasDescriptionDefault
--cveFilter by CVE (supports wildcards: CVE-2024-*)-
--package-pFilter by package name-
--limit-lMaximum results50

Example:

stella groundtruth pairs list --cve CVE-2024-* --package openssl --limit 100

Output:

Pair ID      CVE                Package      Vuln Version    Patch Version
-------------------------------------------------------------------------------
pair-001     CVE-2024-1234      openssl      3.0.10-1        3.0.11-1
pair-002     CVE-2024-5678      curl         8.4.0-1         8.5.0-1

stella groundtruth pairs delete

Delete a security pair from the corpus.

stella groundtruth pairs delete <pair-id> [--force] [--verbose]

Options:

OptionAliasDescription
--force-fSkip confirmation prompt

stella groundtruth validate

Run validation harness against security pairs.

Usage:

stella groundtruth validate <command> [options]

stella groundtruth validate run

Run validation on security pairs.

stella groundtruth validate run [--pairs <pattern>] [--matcher <type>] [--output <path>] [--parallel <n>] [--verbose]

Options:

OptionAliasDescriptionDefault
--pairs-pPair filter pattern (e.g., openssl:CVE-2024-*)all
--matcher-mMatcher type: semantic-diffing, hash-based, hybridsemantic-diffing
--output-oOutput file for validation report-
--parallelMaximum parallel validations4

Example:

stella groundtruth validate run \
  --pairs "openssl:CVE-2024-*" \
  --matcher semantic-diffing \
  --parallel 8 \
  --output validation-report.md

Output:

Validating pairs: 10/10
Validation complete. Run ID: vr-20260122100532
  Function Match Rate: 94.2%
  False-Negative Rate: 2.1%
  SBOM Hash Stability: 3/3
Report written to: validation-report.md

stella groundtruth validate metrics

View metrics for a validation run.

stella groundtruth validate metrics --run-id <id> [--output-format table|json] [--verbose]

Options:

OptionAliasDescriptionRequired
--run-id-rValidation run IDYes

Example:

stella groundtruth validate metrics --run-id vr-20260122100532 --output-format json

Output (table):

Run ID: vr-20260122100532
Duration: 2026-01-22T10:00:00Z - 2026-01-22T10:15:32Z
Pairs: 48/50 successful
Function Match Rate: 94.2%
False-Negative Rate: 2.1%
SBOM Hash Stability: 3/3
Verify Time (p50/p95): 423ms / 1.2s

stella groundtruth validate export

Export validation report.

stella groundtruth validate export --run-id <id> --output <path> [--format <fmt>] [--verbose]

Options:

OptionAliasDescriptionDefault
--run-id-rValidation run ID(required)
--output-oOutput file path(required)
--format-fExport format: markdown, html, jsonmarkdown

Example:

stella groundtruth validate export \
  --run-id vr-20260122100532 \
  --format markdown \
  --output validation-report.md

See Also: Ground-Truth CLI Guide


stella groundtruth bundle

Manage evidence bundles for offline verification of patch provenance.

Sprint: SPRINT_20260121_036_BinaryIndex_golden_corpus_bundle_verification

Usage:

stella groundtruth bundle <command> [options]

Subcommands:

stella groundtruth bundle export

Export evidence bundles containing pre/post binaries, SBOMs, delta-sig predicates, and timestamps.

stella groundtruth bundle export [options]

Options:

OptionDescriptionRequired
--packages <list>Comma-separated package names (e.g., openssl,curl)Yes
--distros <list>Comma-separated distributions (e.g., debian,ubuntu)Yes
--output <path>Output bundle path (.tar.gz or .oci.tar)Yes
--sign-with <signer>Signing method: cosign, sigstore, noneNo
--include-debugInclude debug symbolsNo
--include-kpisInclude KPI validation resultsNo
--include-timestampsInclude RFC 3161 timestampsNo

Example:

stella groundtruth bundle export \
  --packages openssl,zlib,glibc \
  --distros debian,fedora \
  --output evidence/security-bundle.tar.gz \
  --sign-with cosign \
  --include-debug \
  --include-kpis \
  --include-timestamps

Exit Codes:

stella groundtruth bundle import

Import and verify evidence bundles in air-gapped environments.

stella groundtruth bundle import [options]

Options:

OptionDescriptionRequired
--input <path>Input bundle pathYes
--verify-signatureVerify bundle signaturesNo
--trusted-keys <path>Path to trusted public keysNo
--trust-profile <path>Trust profile for verificationNo
--output <path>Output verification reportNo
--format <fmt>Report format: markdown, json, htmlNo

Example:

stella groundtruth bundle import \
  --input symbol-bundle.tar.gz \
  --verify-signature \
  --trusted-keys /etc/stellaops/trusted-keys.pub \
  --trust-profile /etc/stellaops/trust-profiles/global.json \
  --output verification-report.md

Verification Steps:

  1. Validate bundle manifest signature
  2. Verify all blob digests match manifest
  3. Validate DSSE envelope signatures against trusted keys
  4. Verify RFC 3161 timestamps against trusted TSA certificates
  5. Run IR matcher to confirm patched functions
  6. Verify SBOM canonical hash matches signed predicate
  7. Output verification report with KPI line items

Exit Codes:


stella groundtruth validate check

Check KPI regression against baseline thresholds.

Sprint: SPRINT_20260121_036_BinaryIndex_golden_corpus_bundle_verification

stella groundtruth validate check [options]

Options:

OptionDescriptionDefault
--results <path>Path to validation results JSON(required)
--baseline <path>Path to baseline JSON(required)
--precision-threshold <pp>Max precision drop (percentage points)0.01
--recall-threshold <pp>Max recall drop (percentage points)0.01
--fn-rate-threshold <pp>Max FN rate increase (percentage points)0.01
--determinism-threshold <rate>Min determinism rate1.0
--ttfrp-threshold <pct>Max TTFRP p95 increase (percentage)0.20
--output <path>Output report pathstdout
--format <fmt>Report format: markdown, jsonmarkdown

Example:

stella groundtruth validate check \
  --results bench/results/20260122.json \
  --baseline bench/baselines/current.json \
  --precision-threshold 0.01 \
  --recall-threshold 0.01 \
  --fn-rate-threshold 0.01 \
  --determinism-threshold 1.0 \
  --output regression-report.md

Regression Gates:

MetricThresholdAction
PrecisionDrops > thresholdFail
RecallDrops > thresholdFail
False-negative rateIncreases > thresholdFail
Deterministic replayDrops below thresholdFail
TTFRP p95Increases > thresholdWarn

Exit Codes:


stella groundtruth baseline

Manage KPI baselines for regression detection.

Sprint: SPRINT_20260121_036_BinaryIndex_golden_corpus_bundle_verification

Usage:

stella groundtruth baseline <command> [options]

Subcommands:

stella groundtruth baseline update

Update baseline from validation results.

stella groundtruth baseline update [options]

Options:

OptionDescriptionRequired
--from-results <path>Path to validation results JSONYes
--output <path>Output baseline pathYes
--description <text>Description for the baseline updateNo
--source <commit>Source commit SHA for traceabilityNo

Example:

stella groundtruth baseline update \
  --from-results bench/results/20260122.json \
  --output bench/baselines/current.json \
  --description "Post algorithm-v2.3 update" \
  --source "$(git rev-parse HEAD)"

stella groundtruth baseline show

Display baseline contents.

stella groundtruth baseline show --baseline <path> [--format table|json]

Options:

OptionDescriptionDefault
--baseline <path>Path to baseline JSON(required)
--formatOutput format: table, jsontable

Output (table):

Baseline ID: baseline-20260122120000
Created: 2026-01-22T12:00:00Z
Source: abc123def456
Description: Post-semantic-diffing-v2 baseline

KPIs:
  Precision:              0.9500
  Recall:                 0.9200
  False Negative Rate:    0.0800
  Determinism:            1.0000
  TTFRP p95:              150ms

See Also: Ground-Truth CLI Guide


Attestation Commands

stella attest attach

Attach an attestation (DSSE envelope) to an OCI image via ORAS referrers.

Sprint: SPRINT_20260122_040_Platform_oci_delta_attestation_pipeline (040-01)

Usage:

stella attest attach --image <ref> --attestation <path> [options]

Options:

OptionAliasDescriptionDefault
--image-iOCI image reference (e.g., registry.example.com/app:v1.2)(required)
--attestation-aPath to DSSE envelope JSON file(required)
--predicate-type-tPredicate type URI; defaults to the DSSE payloadTypeauto
--sign-sAppend a local software signature to the DSSE envelope before attachfalse
--key-kPEM or PKCS#8 private key used with --signnone
--key-idKey id recorded in the appended DSSE signature; defaults to the PEM filename stemderived
--sign-keylessExplicit keyless request. Currently fails closed for this command; use a pre-signed envelope or --sign --key <pem>.false
--replaceReplace an existing attestation with the same predicate typefalse
--rekorRequest Rekor transparency log recording during attachfalse
--policy-pPath to a policy gate file evaluated before attachnone
--offlineStore the envelope in a local attestation bundle instead of pushing to the registryfalse
--verbose-vShow detailed progressfalse

Example:

stella attest attach \
  --image registry.example.com/app:v1.2 \
  --attestation delta-sig.dsse.json \
  --verbose

Append a local ES256 software signature before attach:

stella attest attach \
  --image registry.example.com/app@sha256:abc123 \
  --attestation delta-sig.dsse.json \
  --sign \
  --key ./keys/operator-p256.pem \
  --key-id operator-key-2026-06

--sign signs the DSSE pre-authentication encoding for the existing envelope payload and appends a signature; it does not rewrite the payload. --offline writes the signed envelope into the generated local bundle when both flags are used. --sign-keyless is reported as unsupported for this command rather than falling through as a no-op.

Exit Codes:


stella attest verify

Verify attestations attached to an OCI image. Lists and validates DSSE envelopes, checks signatures, and optionally verifies Rekor annotations.

Sprint: SPRINT_20260122_040_Platform_oci_delta_attestation_pipeline (040-02)

Usage:

stella attest verify --image <ref> [options]

Options:

OptionAliasDescriptionDefault
--image-iOCI image reference to verify(required)
--predicate-typeFilter by predicate type URI(all)
--trusted-keysPath to trusted public keys directory(none)
--require-rekorRequire valid Rekor inclusion annotationsfalse
--output-oOutput format: table, jsontable
--verbose-vShow detailed verification stepsfalse

Example:

stella attest verify \
  --image registry.example.com/app:v1.2 \
  --predicate-type "https://stellaops.dev/delta-sig/v1" \
  --require-rekor \
  --output json

Exit Codes:


Binary Analysis Commands

stella binary delta-sig attest

Sign a delta-sig predicate with an EC key and optionally submit to a Rekor transparency log. Produces a DSSE envelope suitable for stella attest attach.

Sprint: SPRINT_20260122_040_Platform_oci_delta_attestation_pipeline (040-05)

Usage:

stella binary delta-sig attest --predicate <path> --key <path> [options]

Options:

OptionAliasDescriptionDefault
--predicate-pPath to delta-sig predicate JSON file(required)
--key-kPath to EC private key (PEM) for DSSE signing(required)
--output-oPath to write the DSSE envelopestdout
--rekor-urlRekor transparency log URL for submission(none)
--receiptPath to save Rekor receipt JSON(none, only with --rekor-url)
--dry-runValidate predicate and key without signingfalse
--verbose-vShow detailed signing and submission stepsfalse

Example:

# Sign predicate and submit to Rekor
stella binary delta-sig attest \
  --predicate delta-sig-predicate.json \
  --key signing-key.pem \
  --output signed-envelope.dsse.json \
  --rekor-url https://rekor.sigstore.dev \
  --receipt rekor-receipt.json \
  --verbose

# Dry run (validate only)
stella binary delta-sig attest \
  --predicate delta-sig-predicate.json \
  --key signing-key.pem \
  --dry-run

Signing Behavior:

Rekor Submission:

Exit Codes:


Bundle Commands

stella bundle verify

Verify offline evidence bundles with full cryptographic verification. Checks manifest integrity, blob digests, DSSE signatures, Rekor proofs, timestamps, payload types, and optionally replays large blob content verification.

Sprint: SPRINT_20260122_040_Platform_oci_delta_attestation_pipeline (040-06)

Usage:

stella bundle verify --bundle <path> [options]

Options:

OptionAliasDescriptionDefault
--bundle-bPath to bundle (tar.gz or directory)(required)
--trust-rootPath to trusted root certificate (PEM)(none)
--rekor-checkpointPath to Rekor checkpoint for offline proof verification(none)
--offlineRun in offline mode (no network access)false
--output-oOutput format: table, jsontable
--strictFail on any warning (missing optional artifacts)false
--signerPath to signing key (PEM) for verification report(none)
--signer-certPath to signer certificate PEM (for report metadata)(none)
--replayVerify binary content by fetching/reading large blobs referenced in attestationsfalse
--blob-sourceOverride blob source (registry URL or local directory path)(auto-detect)
--verbose-vShow detailed verification stepsfalse

Verification Steps:

  1. Manifest checksum - Validate bundle manifest integrity
  2. Blob digests - Verify all blob file SHA-256 digests match manifest
  3. DSSE signatures - Validate envelope signatures against trusted keys
  4. Rekor proofs - Verify inclusion proofs against checkpoint (when provided)
  5. Timestamps - Validate RFC 3161 timestamps against TSA certificates
  6. Payload types - Verify predicate types match expectations
  7. Blob Replay (when --replay) - Fetch and verify large blobs referenced in attestations

Blob Replay Behavior:

Example:

# Basic verification
stella bundle verify --bundle evidence-bundle.tar.gz

# Full verification with replay and trust root
stella bundle verify \
  --bundle /path/to/bundle \
  --trust-root /etc/stellaops/tsa-root.pem \
  --rekor-checkpoint checkpoint.json \
  --replay \
  --verbose

# Light bundle with local blob source
stella bundle verify \
  --bundle light-bundle/ \
  --replay \
  --blob-source /path/to/blobs/

# Strict offline verification with signed report
stella bundle verify \
  --bundle evidence-bundle/ \
  --offline \
  --strict \
  --signer report-key.pem \
  --signer-cert report-cert.pem

Exit Codes:


Evidence Commands

stella evidence export-bundle

Export evidence bundles for offline verification. Supports two-tier export modes: light (metadata and attestations only) and full (includes embedded binary blobs).

Sprint: SPRINT_20260122_040_Platform_oci_delta_attestation_pipeline (040-04)

Usage:

stella evidence export-bundle --image <ref> --output <path> [options]

Options:

OptionAliasDescriptionDefault
--image-iOCI image reference to export evidence for(required)
--output-oOutput bundle path (.tar.gz or directory)(required)
--fullExport in full mode (embed binary blobs alongside attestations)false (light mode)
--sign-withSigning method for bundle: cosign, sigstore, nonenone
--verbose-vShow detailed export progressfalse

Export Modes:

ModeFlagContentsSizeUse Case
Light(default)Manifest, attestation envelopes, metadataSmallQuick transfer, metadata audit
Full--fullLight + embedded binary blobs in blobs/ dirLargeAir-gap verification, replay

Example:

# Light export (default)
stella evidence export-bundle \
  --image registry.example.com/app:v1.2 \
  --output evidence-light.tar.gz

# Full export with embedded blobs
stella evidence export-bundle \
  --image registry.example.com/app:v1.2 \
  --output evidence-full.tar.gz \
  --full \
  --verbose

Exit Codes:


Reporting & Export Commands

stella report

Generate compliance reports from scan results.

Usage:

stella report --scan <path> --format <format> [--output <path>] [--verbose]

Formats:

Example:

# Generate HTML report
stella report --scan scan-result.json --format html --output report.html

# Generate PDF report
stella report --scan scan-result.json --format pdf --output report.pdf

stella export

Export scan results in various formats.

Usage:

stella export --scan <path> --format <format> [--output <path>] [--verbose]

Formats:

Example:

# Export to CSV for Excel analysis
stella export --scan scan-result.json --format csv --output vulnerabilities.csv

# Export to SARIF for GitHub Code Scanning
stella export --scan scan-result.json --format sarif --output results.sarif

Offline Operations

stella offline sync

Synchronize offline package for air-gapped environments.

Usage:

stella offline sync [--output <path>] [--feeds nvd,osv,github] [--verbose]

Example:

# Create offline package
stella offline sync \
  --feeds nvd,osv,github \
  --output stellaops-offline-$(date +%F).tar.gz

stella offline load

Load offline package into air-gapped instance.

Usage:

stella offline load --package <path> [--verbose]

Example:

stella offline load --package stellaops-offline-2025-12-23.tar.gz

System & Configuration

stella config

Manage CLI configuration.

Usage:

stella config <command> [options]

Subcommands:

Examples:

# Show current config
stella config show

# Set backend URL
stella config set Backend.BaseUrl https://api.stellaops.example.com

# Get backend URL
stella config get Backend.BaseUrl

# Create profile
stella config profile create prod --backend-url https://api.stellaops.example.com

# Switch profile
stella config profile use prod

stella system diagnostics

Run system diagnostics.

Usage:

stella system diagnostics [--verbose]

Output:

System Diagnostics:
✅ CLI version: 2.1.0
✅ .NET Runtime: 10.0.0
✅ Backend reachable: https://api.stellaops.example.com
✅ Authentication: Valid (expires 2025-12-24)
✅ Crypto providers: default, gost
⚠️  PostgreSQL: Not configured (offline mode)

stella version

Show version information.

Usage:

stella version [--verbose]

Output:

stella CLI version 2.1.0
Build: 2025-12-23T10:00:00Z
Commit: dfaa207
Distribution: stella-russia
Platform: linux-x64
.NET Runtime: 10.0.0

Explainability Commands

stella explain block

Explain why an artifact was blocked by policy gates. Produces deterministic trace with referenced evidence artifacts.

Sprint: SPRINT_20260117_026_CLI_why_blocked_command Moat Reference: M2 (Explainability with proof, not narrative)

Usage:

stella explain block <digest> [options]

Arguments:

Options:

OptionDescriptionDefault
--format <format>Output format: table, json, markdowntable
--show-evidenceInclude full evidence artifact detailsfalse
--show-traceInclude policy evaluation tracefalse
--replay-tokenInclude replay token in outputfalse
--output <path>Write to file instead of stdoutstdout
--offlineQuery local verdict cache onlyfalse

Examples:

# Basic explanation
stella explain block sha256:abc123def456...

# JSON output for CI/CD
stella explain block sha256:abc123... --format json --output reason.json

# Full explanation with evidence and trace
stella explain block sha256:abc123... --show-evidence --show-trace

# Markdown for PR comment
stella explain block sha256:abc123... --format markdown | gh pr comment 123 --body-file -

Exit Codes:

Output (table):

Artifact: sha256:abc123def456789012345678901234567890123456789012345678901234
Status: BLOCKED

Gate: VexTrust
Reason: Trust score below threshold (0.45 < 0.70)
Suggestion: Obtain VEX statement from trusted issuer

Evidence:
  [VEX   ] vex:sha256:de...23  vendor-x  2026-01-15T10:00:00Z
  [REACH ] reach:sha256...56   static    2026-01-15T09:55:00Z

Replay: stella verify verdict --verdict urn:stella:verdict:sha256:abc123:v2.3.0:1737108000

See Also: Explain Commands Documentation


Additional Commands

stella vuln query

Query vulnerability database.

Usage:

stella vuln query <cve-id> [--verbose]

stella findings

Manage scan findings.

Usage:

stella findings <command> [options]

stella advise

Get AI-powered remediation advice for vulnerabilities.

Usage:

stella advise --cve <cve-id> [--verbose]

stella reachability

Analyze vulnerability reachability in code.

Usage:

stella reachability analyze --scan <path> --code <path> [--output <path>]

stella graph

Call graph evidence and lineage commands.

Usage:

stella graph explain --graph-id <id> [--vuln-id <id>] [--purl <purl>] [--json]
stella graph verify --hash <blake3:...> [--format text|json|markdown]
stella graph lineage show <digest|purl> [--format json|graphson|mermaid] [--output <path>]

stella mirror

Manage local package mirrors for offline operation.

Usage:

stella mirror <command> [options]

stella notify

Send notifications about scan results.

Usage:

stella notify --scan <path> --channel slack --webhook <url>

stella issuer

Manage issuer keys for signing and verification.

Usage:

stella issuer keys list --format json
stella issuer keys create --type ecdsa --name primary --format json
stella issuer keys rotate <id> --format json
stella issuer keys revoke <id> --format json

Language-Specific Commands

stella ruby

Ruby-specific operations.

stella ruby analyze <path>

stella python

Python-specific operations.

stella python analyze <path>

stella php

PHP-specific operations.

stella php analyze <path>

Exit Codes

Standard exit codes across all commands:

CodeMeaning
0Success
1General error
2Policy violations (with --fail-on-policy-violations)
3Authentication error
4Configuration error
5Network error
10Invalid arguments

Environment Variables

VariableDescriptionExample
STELLAOPS_BACKEND_URLBackend API URLhttps://api.stellaops.example.com
STELLAOPS_API_KEYAPI key for authenticationsk_live_...
STELLAOPS_TENANTDefault tenantacme-corp
STELLAOPS_CRYPTO_PROVIDERDefault crypto providergost, eidas, sm
STELLAOPS_LOG_LEVELLog levelDebug, Info, Warning, Error
STELLAOPS_OFFLINE_MODEEnable offline modetrue
STELLAOPS_CONFIG_PATHCustom config file path~/.stellaops/custom.yaml

See Also