Доказателства и одит
Докажете всяко решение. Възпроизведете го месеци по-късно.
Капсулите за решения запечатват доказателства, за да могат одиторите да проверят всеки релийз — офлайн, независимо, бит по бит идентично.
Поглед на одитора: какво получавате
Експортирането на Капсула за решение създава подписан пакет, адресиран по съдържание, с точните входове и изходи за решението за релийз.
- Точният SBOM, използван при сканирането
- Замразени снимки на фийдовете за уязвимости (NVD, OSV, vendor advisories)
- Доказателства за достижимост (артефакти от статични графи и runtime следи)
- Версия на политиката и lattice правила за гейтване
- Производно VEX изявление с обосновки
- DSSE подписи върху съдържанието на капсулата
Източник: Документация за Decision Capsules
Какво е пакет с доказателства?
Съдържание
Всяка Капсула за решение обединява точния SBOM, замразени източници за уязвимости, графи за достижимост, версия на политиката, изведен VEX и метаданни за одобрение.
Подписване
DSSE/in-toto подписите правят пакетите устойчиви на подправяне. Изберете FIPS-140-3, GOST R 34.10, SM2/SM3 или eIDAS криптографски профили.
Експорт
Експортирайте капсули на всяка стъпка от промоцията. Съхранявайте в Хранилище за доказателства с 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/съвети
Откъс от манифеста на капсулата
Манифестът на капсулата фиксира всеки вход и изход по дайджест, за да може решението да се възпроизведе по-късно.
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" Верига от доказателства
Какво съдържа Капсулата за решение
Дайджест на артефакт
SHA-256 адрес по съдържание
Снимка на SBOM
CycloneDX 1.7 / SPDX 3.0
Доказателство за достижимост
Граф + атестации на ребра
VEX състояние
Решетъчно разрешен резултат
Версия на политика
Адресирано по съдържание Rego/DSL
Одобрения
Подписани записи за одобрение
Работен процес за съответствие
- 1
Одиторът пита
"Покажете ми доказателство, че тази CVE е била обработена правилно в януарския релийз."
- 2
Операторът експортира
stella capsule export jan-release-capsule.yaml --format audit-bundle - 3
Пакетът верифицира
Одиторът изпълнява
stella capsule verify jan-release-capsule.yaml— подписите се проверяват, дайджестите съвпадат. - 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 (идентичен с оригинала)
Проверка на детерминизъм: ПРЕМИНАТО Формати и оперативна съвместимост
SBOM
CycloneDX 1.6 и SPDX 2.3/3.0. Импортиране от Trivy, Grype, Syft или генериране вътрешно.
VEX
OpenVEX и CSAF 2.0. Решетъчна резолюция от множество издатели с откриване на конфликти.
SARIF
Експорт във формат за обмен на резултати от статичен анализ за IDE и CI интеграция.
Верификация в изолирана среда
Одиторите верифицират подписи, проверяват цялост на дайджести и възпроизвеждат решения без мрежов достъп. Целият криптографски материал пътува с капсулата.
$ stella capsule verify decision-capsule.yaml --offline
Проверка на подписа: ПРЕМИНАТО (ECDSA-P256)
Съвпадение на дайджест: ПРЕМИНАТО (sha256:abc123...)
Версия на политиката: ВАЛИДНА (v3.2.1)
Цялост на доказателствата: ВСИЧКИ КОМПОНЕНТИ ПОДПИСАНИ
Вердикт: ALLOW — не е нужна мрежа Готови ли сте да направите релийзите одитируеми?
Прочетете спецификацията за Капсулата за решение · Вижте всички функции
