StellaOps Release Notes: Score Proofs & Reachability

Current capability notice (2026-07-29): this historical release note listed a planned CLI surface. reachability compute|findings|explain-all|summary are not registered at HEAD, while the registered reachability explain verb fails closed with exit code 9 and emits no result. Use current executable help and module documentation for supported commands.

Epic: 3500 - Score Proofs and Deterministic Replay
Release Version: 1.0.0
Release Date: 2025-12-20


Overview

This release introduces Score Proofs and Reachability Analysis, two transformative features that bring cryptographic verifiability and intelligent prioritization to vulnerability scanning. Together, these features enable organizations to prove compliance, reduce alert fatigue, and focus on vulnerabilities that actually matter.


Feature Highlights

Score Proofs: Verifiable Vulnerability Scores

Score Proofs provide cryptographic evidence that vulnerability scores can be independently verified and reproduced.

Key Capabilities:

FeatureDescription
Scan ManifestsContent-addressed records of all scan inputs (SBOM, advisories, VEX, call graphs)
Proof BundlesDSSE-signed bundles with attestations for audit compliance
Deterministic ReplayRe-execute scans with original inputs to verify results
Proof LedgerAppend-only chain for tamper-evident audit trails
Transparency IntegrationOptional anchoring to Sigstore Rekor for public verifiability

Use Cases:

Reachability Analysis: Focus on What Matters

Reachability Analysis determines whether vulnerable code is actually invoked during program execution.

Key Capabilities:

FeatureDescription
Call Graph IntegrationUpload and analyze application call graphs
BFS Path FindingEfficient breadth-first search from entrypoints to vulnerabilities
Confidence ScoringQuantified certainty (0-1) based on path quality
Explain QueriesDetailed explanations of why code is (or isn’t) reachable
Runtime EvidenceOptional runtime traces for proven reachability

Reachability Statuses:

StatusMeaningTypical Action
UNREACHABLENo path existsSafe to deprioritize
POSSIBLY_REACHABLEPath with heuristic edgesReview
REACHABLE_STATICStatically proven pathPrioritize fix
REACHABLE_PROVENRuntime confirmedFix immediately
UNKNOWNInsufficient dataImprove call graph

Impact: Typically reduces actionable vulnerabilities by 80-90%.

Unknowns Registry: Track Your Blind Spots

The Unknowns Registry tracks components that cannot be fully analyzed.

Key Capabilities:

FeatureDescription
2-Factor RankingPriority based on vulnerability potential × impact potential
Category Classificationunmapped_purl, checksum_miss, language_gap, etc.
Triage WorkflowsEscalate, resolve, or suppress with documentation
Bulk OperationsProcess multiple unknowns efficiently

New CLI Commands

Score Commands

stella score compute    # Compute vulnerability scores
stella score replay     # Replay scan with original inputs
stella score show       # Display score details
stella score diff       # Compare scores between scans
stella score manifest   # Show scan manifest
stella score inputs     # List manifest inputs

Proof Commands

stella proof verify     # Verify proof integrity
stella proof download   # Download proof bundle
stella proof export     # Export proof bundle
stella proof inspect    # Inspect proof contents
stella proof status     # Check proof status
stella proof list       # List proofs for workspace
stella proof anchor     # Anchor proof to transparency log

Reachability Commands

stella reachability compute     # Trigger reachability analysis
stella reachability findings    # List reachability findings
stella reachability explain     # Explain specific verdict
stella reachability explain-all # Export all explanations
stella reachability summary     # Show summary statistics

Call Graph Commands

stella scan graph upload      # Upload call graph
stella scan graph summary     # Show call graph summary
stella scan graph entrypoints # List detected entrypoints
stella scan graph validate    # Validate call graph
stella scan graph export      # Export call graph
stella scan graph visualize   # Generate visualization

Unknowns Commands

stella unknowns list        # List unknowns
stella unknowns show        # Show unknown details
stella unknowns summary     # Show summary statistics
stella unknowns escalate    # Escalate for review
stella unknowns resolve     # Mark as resolved
stella unknowns suppress    # Suppress with justification
stella unknowns bulk-triage # Bulk triage operations
stella unknowns export      # Export unknowns data

New API Endpoints

Score Proofs API

MethodEndpointDescription
POST/api/v1/scans/{scanId}/score/computeCompute scores
POST/api/v1/scans/{scanId}/score/replayReplay computation
GET/api/v1/scans/{scanId}/score/manifestGet scan manifest
GET/api/v1/scans/{scanId}/proofsList proofs
POST/api/v1/scans/{scanId}/proofs/verifyVerify proof
GET/api/v1/scans/{scanId}/proofs/downloadDownload bundle

Reachability API

MethodEndpointDescription
POST/api/v1/scans/{scanId}/reachability/computeTrigger analysis
GET/api/v1/scans/{scanId}/reachability/findingsGet findings
GET/api/v1/scans/{scanId}/reachability/explainExplain verdict
POST/api/v1/scans/{scanId}/callgraphUpload call graph
GET/api/v1/scans/{scanId}/callgraph/summaryGraph summary
GET/api/v1/scans/{scanId}/callgraph/entrypointsList entrypoints

Unknowns API

MethodEndpointDescription
GET/api/v1/unknownsList unknowns
GET/api/v1/unknowns/{id}Get unknown details
POST/api/v1/unknowns/{id}/escalateEscalate unknown
POST/api/v1/unknowns/{id}/resolveResolve unknown
POST/api/v1/unknowns/{id}/suppressSuppress unknown
POST/api/v1/unknowns/bulkBulk operations

Configuration Changes

New Settings

{
  "scanner": {
    "proofs": {
      "enabled": true,
      "mode": "full",
      "transparency": "rekor",
      "ledger": {
        "maxChainDepth": 10000,
        "pruneAfterDays": 365
      }
    },
    "reachability": {
      "enabled": true,
      "maxDepth": 10,
      "indirectResolution": "conservative",
      "timeout": "300s",
      "parallelBfs": true
    },
    "unknowns": {
      "enabled": true,
      "autoSuppress": false,
      "triageSla": {
        "critical": "24h",
        "high": "72h",
        "medium": "168h"
      }
    }
  }
}

Environment Variables

VariableDescriptionDefault
STELLA_PROOF_MODEProof generation modefull
STELLA_REACHABILITY_ENABLEDEnable reachabilitytrue
STELLA_REACHABILITY_MAX_DEPTHMax BFS depth10
STELLA_UNKNOWNS_AUTO_SUPPRESSAuto-suppress low priorityfalse

Database Changes

New Tables

TablePurpose
scan_manifestsStores scan manifest JSON
proof_ledgerAppend-only proof chain
proof_attestationsDSSE attestation storage
call_graphsCall graph metadata
call_graph_nodesGraph nodes (partitioned)
call_graph_edgesGraph edges (partitioned)
reachability_resultsComputed reachability
reachability_pathsPath details
unknowns_registryUnknown components
unknowns_historyResolution history

Migration Notes


Breaking Changes

None

This release has no breaking changes. All existing APIs, configurations, and workflows continue to work as before.


Known Limitations

Score Proofs

LimitationWorkaround
Large SBOM export may timeoutUse streaming export or exclude inputs
Transparency log requires networkUse offline mode with local ledger

Reachability

LimitationWorkaround
Reflection detection is heuristicAdd reflection hints configuration
Very large graphs (>1M nodes) may timeoutPartition analysis by artifact
Some languages have limited call graph supportSupplement with runtime traces

Unknowns

LimitationWorkaround
Auto-scoring may not reflect contextManual escalation with severity override
Bulk triage limited to 1000 itemsBatch operations

Upgrade Instructions

From Previous Version

  1. Backup database

    stella db backup --output backup-$(date +%Y%m%d).sql
    
  2. Run migrations

    stella db migrate
    
  3. Update configuration (optional)

    stella config set scanner.proofs.enabled true
    stella config set scanner.reachability.enabled true
    
  4. Verify installation

    stella status
    stella scan run --image test-image:latest --dry-run
    

Fresh Installation

Follow the Installation Guide.


Performance Expectations

Score Proofs

OperationTypical Duration
Manifest generation<1 second
Proof signing<2 seconds
Bundle export (no inputs)<5 seconds
Bundle export (with inputs)10-60 seconds
Replay computationSame as original scan

Reachability

Graph SizeTypical Duration
<10K nodes<30 seconds
10K-100K nodes30s - 3 minutes
100K-1M nodes3-15 minutes
>1M nodes15+ minutes

Storage

ComponentTypical Size
Scan manifest50-100 KB
Proof bundle (no inputs)100-200 KB
Proof bundle (with inputs)10-500 MB
Call graph (per 10K nodes)~5 MB

Documentation

New Documentation

Updated Documentation


Support

For issues or questions:


Release Manager: Agent
Sprint: 3500.0004.0004
Last Updated: 2025-12-20