Докази та аудит

Доведіть кожне рішення. Повторіть це через кілька місяців.

Капсули рішень запечатують докази, щоб аудитори можуть перевірити будь-який випуск — офлайн, незалежно, порозрядно ідентичний.

Погляд аудитора: що ви отримуєте

Експорт капсули рішень створює підписаний пакет з адресацією за вмістом і точними входами та виходами рішення релізу.

  • Точний SBOM, використаний для сканування
  • Заморожені знімки фідів уразливостей (NVD, OSV, advisories постачальників)
  • Докази досяжності (артефакти статичних графів викликів і runtime-трейси)
  • Версія політики та lattice-правила для gate
  • Похідна VEX-заява з обґрунтуваннями
  • DSSE-підписи, що покривають вміст капсули

Джерело: Документація капсул рішень

Що таке пакет доказів?

Вміст

Кожна Капсула рішення об'єднує точний SBOM, заморожені фіди вразливостей, графи досяжності, версію політики, похідний VEX та метадані схвалень.

Підписування

Підписи DSSE/in-toto роблять пакети захищеними від підробки. Оберіть криптографічні профілі FIPS-140-3, ГОСТ Р 34.10, SM2/SM3 або eIDAS.

Експорт

Експортуйте капсули на будь-якому етапі просування. Зберігайте в Evidence Locker з семантикою WORM для періодів зберігання відповідності.

Відтворення

Перезапустіть будь-яке історичне рішення за допомогою stella replay. Однакові вхідні дані дають однакові результати, офлайн або онлайн.

Зразок структури капсули

Кожна капсула рішень — це самостійний каталог із підписані артефакти:

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        # Рішення gate + обґрунтування
├── approvals/
│   └── jsmith.sig          # Підпис людського схвалення
└── feeds/
    └── snapshot.json       # Заморожений стан CVE/advisory

Фрагмент маніфесту капсули

Маніфест фіксує кожен вхід і вихід за дайджестом, щоб рішення можна було відтворити пізніше.

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-140-3"
    signer: "build-ca@corp"

Ланцюг доказів

Як докази проходять через Стеллу
Потік доказівЗображення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 capsule export jan-release-capsule.yaml --format audit-bundle

  3. 3

    Пакет верифікує

    Аудитор виконує stella capsule verify jan-release-capsule.yaml — підписи перевіряються, хеші збігаються.

  4. 4

    Відтворення підтверджує

    stella replay jan-release-capsule.yaml виробляє ідентичний вердикт із замороженими вхідними даними.

Детерміністське відтворення

Виконайте те саме рішення через 6 місяців — ті самі заморожені вхідні дані виробляють ідентичний вердикт. Не потрібна мережа, немає дрейфу стану, немає неоднозначності.

  • Перевірте підписи капсули закріпленими ключами.
  • Підтвердьте, що дайджести SBOM і фіду збігаються з маніфестом.
  • Відтворіть із тим самим policy bundle та входами досяжності.
  • Експортуйте аудиторський пакет із вердиктом, VEX і доказами.
Термінал
$ stella replay capsule.json --verify
Відтворення рішення від 2025-07-15T14:32:00Z...
Версія політики: sha256:e5f6g7h8... (збігається)
Знімок фіду:  sha256:i9j0k1l2... (збігається)
Вердикт: ALLOW (ідентично оригіналу)
Перевірка детермінізму: PASS

Формати та сумісність

SBOM

CycloneDX 1.7 і SPDX 3.0.1. Імпортуйте з Trivy, Grype, Syft або створюйте нативно.

VEX

OpenVEX та CSAF 2.0. Розв’язання решітки кількох емітентів із виявленням конфліктів.

SARIF

Експорт у формат обміну результатами статичного аналізу для інтеграції IDE та CI.

Перевірка Air-Gapped

Аудитори перевіряють підписи, перевіряють цілісність дайджесту та відтворюють рішення без доступу до мережі. Весь криптографічний матеріал переміщується разом з капсулою.

Термінал
$ stella capsule verify decision-capsule.yaml --offline
Перевірка підпису: PASS (ECDSA-P256)
Збіг дайджесту:           PASS (sha256:abc123...)
Версія політики:         VALID (v3.2.1)
Цілісність доказів:     УСІ КОМПОНЕНТИ ПІДПИСАНІ
Вердикт:                ALLOW — мережа не потрібна

Готові зробити релізи аудитованими?

Читати специфікацію Капсули рішення · Переглянути всі можливості