Package provenance, signatures и trusted registries
Проверка откъде идва artifact-ът, кой го е build-нал и дали е променян.
Какво е
Проверка откъде идва artifact-ът, кой го е build-нал и дали е променян.
Как работи
Cryptographic signatures, attestations и provenance metadata позволяват policy engine да допуска само доверени artifacts.
Подписът отговаря на един тесен въпрос
„Този artifact съответства ли на подписа от този ключ?“
Не отговаря автоматично на: „Този artifact добър ли е?“
Ако trusted build system бъде компрометиран и подпише malicious release, signature verification може коректно да каже „валиден подпис“.
Затова веригата е
trusted source → isolated build → provenance/attestation → signing → verification at deployment
Как да проверим
Опитайте да deploy-нете:
- unsigned artifact;
- artifact с invalid signature;
- artifact от непозволен registry;
- artifact без нужната provenance policy. Те трябва да бъдат блокирани там, където policy го изисква.
Практическа имплементация
- Trusted internal mirrors.
- Pin versions/hashes.
- Verify signatures/provenance.
- SLSA-style build provenance.
- Isolated/hermetic builds where feasible.
Какво НЕ решава
Подписан malicious artifact остава malicious, ако trusted build pipeline е компрометиран.
Предпазва най-силно от
- Artifact Repository Poisoning · Software supply chain, DevOps и CI/CD
- Build Provenance Tampering · Software supply chain, DevOps и CI/CD
- Build-System Compromise · Software supply chain, DevOps и CI/CD
- Code-Signing Key Compromise · Software supply chain, DevOps и CI/CD
- Dependency Confusion · Software supply chain, DevOps и CI/CD
- Malicious Open-Source Package · Software supply chain, DevOps и CI/CD
- Package Typosquatting · Software supply chain, DevOps и CI/CD
- Software Update Hijacking · Software supply chain, DevOps и CI/CD