证据和审计

证明每个决定。几个月后重放。

决策胶囊密封证据,以便审核员可以验证任何发布 — 离线、独立、逐位相同。

这对您的业务意味着什么

合规就绪证明自动生成——数月后仍可验证和重放,即使离线也可以。每个发布决策都封装在签名的决策胶囊中,审计员可以独立检查。 Decision Capsule签名的可导出证据包,封装发布决策的每个输入和输出,用于离线审计和确定性重放

审计视角:你将获得什么

导出决策胶囊会生成一个签名且按内容寻址的包,包含发布决策的精确输入与输出。

  • 用于扫描的准确 SBOM软件物料清单 - 软件中所有软件包和依赖项的完整列表
  • 冻结的漏洞 feed 快照(NVD国家漏洞数据库 - 美国政府基于标准的漏洞数据存储库OSV开源漏洞 - 面向开源项目的分布式漏洞数据库、厂商通告)
  • 可达性证据(静态调用图工件与运行时跟踪)
  • 用于门禁的策略版本与 lattice 规则
  • 附带理由的派生 VEX漏洞可利用性交换 - 关于漏洞是否在您的上下文中实际可利用的机器可读声明 声明
  • 覆盖胶囊内容的 DSSEDead Simple Signing Envelope - 用于以加密签名签署任意数据的简单灵活标准 签名

来源: 决策胶囊文档

什么是证据包?

内容

每个决策胶囊包含确切的 SBOM、冻结的漏洞源、可达性图、策略版本、派生的 VEX 和审批元数据。

签名

DSSE/in-toto 签名使包防篡改。选择 FIPS 对齐、GOST R 34.10、SM2/SM3 或 eIDAS 兼容的加密配置(验证取决于所选密钥提供方)。 CosignSigstore项目的容器签名工具,用于签署和验证容器镜像和制品 Sigstore为软件供应链提供免费代码签名和透明度日志基础设施的开源项目

导出

在任何推进步骤导出胶囊。使用 WORM 语义存储在证据锁柜中,以满足合规保留期要求。

重放

使用 stella replay 以相同输入重放历史决策,并验证得到相同结果。

示例胶囊结构

每个 Decision Capsule 都是一个包含签名工件的独立目录:

decision-capsule-20260126-prod-a1b2/
|- manifest.json         # 胶囊元数据 + 签名
|- sbom.cdx.json         # CycloneDX 1.7 SBOM
|- sbom.cdx.json.sig     # DSSE 签名
|- reachability/
|  |- analysis.json      # 可达性裁决
|  |- call-graph.json    # 静态分析证据
|  `- analysis.json.sig  # DSSE 签名
|- policy/
|  |- rules.rego         # 策略快照
|  `- verdict.json       # 门禁决定 + 理由
|- approvals/
|  `- jsmith.sig         # 人工批准签名
`- feeds/
   `- snapshot.json      # 冻结的 CVE/通告状态

Manifest structure (advanced)

胶囊清单以 digest 固定每个输入与输出,便于日后重放决策。 apiVersion: capsule.stellaops.dev/v1 metadata: id: "cap-2025-12-11-abc123" timestamp: "2025-12-11T14:30:00Z" scan_id: "scan-xyz789" inputs: sbom: format: "cyclonedx@1.6" digest: "sha256:..." feeds: - name: "nvd" snapshot: "2025-12-11" digest: "sha256:..." policy: version: "corp-policy@2025-12-01" digest: "sha256:..." outputs: vex: format: "openvex" digest: "sha256:..." signatures: - scheme: "DSSE" profile: "FIPS-aligned" signer: "build-ca@corp"
Read more

胶囊清单以 digest 固定每个输入与输出,便于日后重放决策。

apiVersion: capsule.stellaops.dev/v1
metadata:
  id: "cap-2025-12-11-abc123"
  timestamp: "2025-12-11T14:30:00Z"
  scan_id: "scan-xyz789"
inputs:
  sbom:
    format: "cyclonedx@1.6"
    digest: "sha256:..."
  feeds:
    - name: "nvd"
      snapshot: "2025-12-11"
      digest: "sha256:..."
  policy:
    version: "corp-policy@2025-12-01"
    digest: "sha256:..."
outputs:
  vex:
    format: "openvex"
    digest: "sha256:..."
signatures:
  - scheme: "DSSE"
    profile: "FIPS-aligned"
    signer: "build-ca@corp"

Verification commands (step-by-step)

审计人员可独立验证签名、检查完整性并重放决策——无需 Stella 基础设施。 1 $ cosign verify-blob --key example-capsule.pub --signature example-capsule.sig example-capsule.tar.gz 使用 cosign 验证示例胶囊签名(演示密钥) 2 $ tar -xzf example-capsule.tar.gz && stella capsule verify ./decision-capsule-2026-01-20/ 解压胶囊并检查清单摘要 3 $ stella replay ./decision-capsule-2026-01-20/ --offline 使用冻结输入重放决策 三个命令都可离线运行。证据随胶囊一起携带。
Read more

审计人员可独立验证签名、检查完整性并重放决策——无需 Stella 基础设施。

  1. 1
    $ cosign verify-blob --key example-capsule.pub --signature example-capsule.sig example-capsule.tar.gz

    使用 cosign 验证示例胶囊签名(演示密钥)

  2. 2
    $ tar -xzf example-capsule.tar.gz && stella capsule verify ./decision-capsule-2026-01-20/

    解压胶囊并检查清单摘要

  3. 3
    $ stella replay ./decision-capsule-2026-01-20/ --offline

    使用冻结输入重放决策

三个命令都可离线运行。证据随胶囊一起携带。

试用:示例决策胶囊

下载一份脱敏的示例胶囊,用于查看结构并在本地运行验证命令。

包含:SBOM、可达性证明、策略快照、示例审批。提供签名和公钥用于本地验证。

证据链

证据如何流经 Stella
证据流镜像SBOM可达性策略裁决DSSE 签名DSSE 签名DSSE 签名

决策胶囊包含什么

工件摘要

SHA-256 内容地址

已签名

SBOM 快照

CycloneDX 1.7 / SPDX 3.0

已签名

可达性证据

图 + 边缘证明

已签名

VEX 状态

格解析判定

已签名

策略版本

内容寻址的 Rego/DSL

已签名

审批记录

签名的审批记录

已签名

合规工作流

审计员可以在数月后重放决策
审计回放流决策胶囊6 个月前stella replay相同裁决逐位一致
  1. 1

    审计员询问

    "向我展示证据,证明这个 CVE 在一月发布中被正确处理。"

  2. 2

    操作员导出

    stella 胶囊导出 jan-release-capsule.yaml --format审核包

  3. 3

    包验证

    审计员运行 stella capsule verify jan-release-capsule.yaml — 签名验证通过,摘要匹配。

  4. 4

    重放确认

    stella replay jan-release-capsule.yaml 使用冻结的输入产生相同的判决。

确定性重放

6个月后运行相同的决策 - 相同的冻结输入产生相同的结论。无需网络,无状态漂移,无歧义。

  • 使用固定密钥验证胶囊签名。
  • 确认 SBOM软件物料清单 - 软件中所有软件包和依赖项的完整列表 与 feed 快照的 digest 与清单一致。
  • 使用相同 policy bundle 和可达性输入重放。
  • 导出含裁决、VEX漏洞可利用性交换 - 关于漏洞是否在您的上下文中实际可利用的机器可读声明 与证据的审计包。
终端
$ stella replay capsule.json --verify
重放 2025-07-15T14:32:00Z 的决策...
策略版本:sha256:e5f6g7h8... (匹配)
Feed 快照:  sha256:i9j0k1l2... (匹配)
裁决:ALLOW(与原始一致)
确定性检查:PASS

格式和互操作性

SBOM

CycloneDX 1.7 和 SPDX 3.0.1。从 Trivy、Grype、Syft 导入或本地生成。

VEX

OpenVEX 和 CSAF 2.0。具有冲突检测功能的多发行者点阵解析。

SARIF

用于 IDE 和 CI 集成的静态分析结果交换格式导出。

气隙验证

审核员无需任何网络访问即可验证签名、检查摘要完整性并重放决策。所有加密材料都随胶囊一起传输。

终端
$ stella capsule verify decision-capsule.yaml --offline
签名校验:PASS(ECDSA-P256)
Digest 匹配:           PASS(sha256:abc123...)
策略版本:         VALID(v3.2.1)
证据完整性:     全部组件已签名
裁决:                ALLOW — 无需网络

独立信任工件状态

除了第一方证明之外,评估生产部署的买家通常还要求第三方验证。本节展示了已经公开的内容和仍在进行中的内容。

现已公开

验证密钥、签名的胶囊示例、确定性重放命令和可导出的证据结构都是公开可用的。

进行中

第三方评估摘要和指定试点案例研究尚未作为公共工件发布。

为了尽职调查

在对具有采购门的团队进行评估期间,可以确定安全包、架构证据和试点参考讨论的范围。

开始于 验证码, 安全包, 和 接触 索取企业审核材料。

准备好让发布可审计了吗?

阅读决策胶囊规范 · 查看所有功能