Uyumluluk: Pactmark 0.2.x. Sürüm 0.2.0 npm’de herkese açıktır. Registry’nin sunduğu 19 tarball
ve package başına SLSA provenance kayıtları donmuş release ile bağımsız olarak eşleştirilmiştir.
Bağımlılıklar
Lockfile yetkilidir
Sabitlenmiş pnpm lockfile’ı tam çözülmüş bağımlılık kaydıdır. Paket manifestleri desteklenen
aralıkları beyan eder; gerçekte neyin kurulacağına lockfile karar verir.
Lifecycle script'leri varsayılan olarak reddedilir
İncelenmiş istisnalar sürümlenmiş ve açıktır. Bir lifecycle kanaryası reddin gerçek olduğunu
doğrular.
Çevrimdışı advisory ve lisans kapıları
Kritik yolda ağ bağımlılığı olmadan yerelde çalışır.
Bağımlılık sınırları zorlanır
Çekirdek bir sağlayıcı SDK’sını, veritabanı istemcisini veya platform çalışma zamanını içe
aktaramaz — CI’da denetlenir.
Bir aday derlemek
1
Tek kanonik paketleyici
İzin listeli dosyaları hazırlar, tam iç sürümleri somutlaştırır ve lifecycle script’lerini kapatır.
Bir aday üretmenin tam olarak tek bir yolu vardır.
2
İki bayt-özdeş tarball
Paketleme iki kez çalışır ve arşivler bayt bayt eşleşmelidir. Determinizm yokluğu bir merak değil,
bir derleme hatasıdır.
3
Bağımsız tüketiciler paketlenmiş baytları yer
NodeNext, Bundler, Yarn, Bun ve bir loopback-registry fixture’ı workspace bağlantıları yerine
tarball’ları kurar.
4
Yayın dry-run'ı kanıt kümesini üretir
Sağlamalar, bir CycloneDX SBOM, manifestler ve attestation girdileri — imzalamadan veya
yayımlamadan.
Yalnızca workspace bağlantıları paket meta verisini, dışa aktarımları, tip beyanlarını veya başlatıcı
deneyimini kanıtlayamaz. “Monorepo’da çalışıyor” ile “kurulduğunda çalışıyor” farklı iddialardır ve
bir kullanıcı için yalnızca ikincisi önemlidir.
Yayımlama
Korumalırelease.yml aday işi:
- manuel ve yalnızca
main’dir; - gözden geçiren onaylı
releaseortamına bağlıdır; - deterministik ve canlı tazelik kapılarını yeniden çalıştırır;
- tam tarball, SBOM ve manifest sağlama konularını dondurur;
- adayı yalnızca GitHub build-provenance ve SBOM attestation’ları başarılı olduktan sonra yükler.
Yayın geçmişi, tam olarak
Yayın sırasındaki belirsiz yazmalar
Bir registry zaman aşımı, belirsiz bir dış etkiyle aynı problem sınıfındadır ve aynı şekilde ele alınır:1
Önce anonim tam-sürüm durumunu inceleyin
Başka herhangi bir işlemden önce.
2
Yoksa, bir bakımcı yeni bir deneme yetkilendirebilir
Açıkça, otomatik olarak değil.
3
Varsa, baytlar ve genel görünürlük donmuş manifestle tam eşleşmelidir
Uyuşmazlık yayımlamayı durdurur ve olay incelemesini tetikler.
Kurduğunuzu doğrulamak
@pactmark kapsamı ve create-pactmark’tır.
Bunun tesis etmedikleri
Tehdit modeli
TM-15 ve TM-16 satırları, sahipleri ve artık riskleriyle.
Güvenlik modeli
Yayın yolunun arkasındaki çalışma-zamanı kontrolleri.