stella vex — Command Guide

The stella vex command group works with Vulnerability Exploitability eXchange (VEX) data in Stella Ops: it queries the VEX consensus projection, exports deterministic VEX evidence, manages webhook subscriptions, and generates VEX statements from facet-drift analysis. It is the operator surface over VexLens consensus and is aggregation-only — the CLI never infers verdicts beyond the upstream consensus projection.

Audience: release operators, security engineers, and CI/CD pipelines that gate deployments on VEX status.

Command summary

CommandPurpose
stella vex consensus --query <filter>List VEX consensus states for a filter.
stella vex get --id <consensusId>Fetch a single consensus record by id.
stella vex simulate --input <vexDocs> --policy <policyConfig>Re-run consensus against candidate documents/policy.
stella vex evidence export <target>Export deterministic VEX evidence for a digest or component.
stella vex webhooks list|add|removeManage VEX webhook subscriptions.
stella vex gen --from-drift --image <IMAGE>Generate VEX statements from facet drift.

Flags (common)

Inputs/outputs

Determinism rules

Offline/air-gap notes


stella vex evidence export

Export deterministic VEX evidence for a digest or component identifier.

Usage

stella vex evidence export <target> [--format json|openvex] [--output <path>]

Examples

stella vex evidence export sha256:abc --format json
stella vex evidence export pkg:npm/lodash@4.17.21 --format openvex --output vex-evidence.json

stella vex webhooks

Manage VEX webhook subscriptions.

Usage

stella vex webhooks list --format json
stella vex webhooks add --url <url> --events vex.created vex.updated --format json
stella vex webhooks remove <id> --format json

stella vex gen --from-drift

Sprint: SPRINT_20260105_002_004_CLI

Generate VEX statements from facet drift analysis. This command analyzes drift between a baseline seal and the current image state, then generates OpenVEX documents for facets that require authorization.

Usage

stella vex gen --from-drift --image <IMAGE> [OPTIONS]

Required Options

OptionAliasDescription
--from-driftEnable drift-based VEX generation
--image <REF>-iImage reference or digest to analyze

Optional Options

OptionAliasDescriptionDefault
--baseline <ID>-bBaseline seal ID for comparisonlatest seal
--output <PATH>-oOutput file pathstdout
--format <FMT>-fVEX format: openvex, csafopenvex
--status <STATUS>-sVEX status: under_investigation, not_affected, affectedunder_investigation
--verbose-vEnable verbose outputfalse

Examples

Generate VEX from drift

stella vex gen --from-drift --image sha256:abc123

Specify baseline seal

stella vex gen --from-drift --image myregistry.io/app:v2.0 --baseline seal-xyz789

Output to file with specific status

stella vex gen --from-drift --image sha256:abc123 \
  --output vex-authorization.json \
  --status not_affected

Output Format (OpenVEX)

{
  "@context": "https://openvex.dev/ns",
  "@id": "https://stellaops.io/vex/abc123-def456",
  "author": "StellaOps CLI",
  "timestamp": "2026-01-05T10:30:00Z",
  "version": 1,
  "statements": [
    {
      "@id": "vex:statement-1",
      "status": "under_investigation",
      "timestamp": "2026-01-05T10:30:00Z",
      "products": [
        {
          "@id": "sha256:abc123...",
          "identifiers": {
            "facet": "runtime"
          }
        }
      ],
      "justification": "Facet drift authorization for runtime. Churn: 15.50% (3 added, 1 removed, 2 modified)",
      "action_statement": "Review required before deployment"
    }
  ]
}

Exit Codes

CodeDescription
0Success
1Error or no baseline seal found
2Image resolution failed

Workflow Integration

The vex gen --from-drift command is typically used in a release pipeline:

  1. Build — the container image is built.
  2. Sealstella seal creates a baseline seal at build time.
  3. Deploy — the release is submitted through the release control plane.
  4. Drift detection — if facet drift exceeds quota, the release is blocked.
  5. VEX generationstella vex gen --from-drift creates an authorization document.
  6. Review — the security team reviews and signs the VEX.
  7. Retry — with the VEX in place, the release proceeds.
# After a release is blocked due to drift
stella vex gen --from-drift --image $IMAGE_DIGEST \
  --output vex-authorization.json

# Review and sign the VEX document
stella vex sign --input vex-authorization.json --key $SIGNING_KEY

# Ingest the signed VEX
stella vex ingest --input vex-authorization.signed.json

# Retry the release
stella release retry --manifest release.yaml