typesafe-docs/action-dist-verify
Rebuild the JavaScript GitHub Actions your workflows pin and check that their committed dist matches the source.
Hızlı değerlendirme
Özet
GitHub Actions workflow’larında kullanılan JavaScript action’ların kaynak kodundan `dist/` çıktısını yeniden oluşturup commit edilmiş dosyalarla karşılaştırır.
Profiline uyum
TypeScript tabanlı olsa da GitHub Actions supply-chain denetimi, profilinizde belirtilen uygulama geliştirme ihtiyaçlarına dokunmuyor.
Neden yükseliyor
Repo yalnızca 1 günlük ve 30 yıldızlı; son 28 günlük commit ve farklı yazar verisi ölçülmediği için yükseliş eğilimi doğrulanamıyor. README’nin işaret ettiği supply-chain riski ve belirli bir denetim boşluğunu hedeflemesi ilgi çekmiş olabilir, ancak bu ilginin nedeni veya kullanıcı benimsemesi mevcut verilerle kanıtlanmış değil.
Problem
Bir action SHA ile sabitlense bile çalıştırılan `dist/` dosyasının incelenen kaynak kodla aynı olduğu garanti edilmez; kaynak ve dağıtım çıktısı arasındaki bu fark supply-chain denetiminde gözden kaçabilir.
Çözüm
Workflow dosyalarındaki `uses:` referanslarını bulur, ilgili action’ı sabitlenen commit’ten indirir, package manager ve build script’ini belirleyerek `dist/` çıktısını yeniden üretir ve commit edilmiş çıktı ile karşılaştırır. Sonucu CLI veya TypeScript API üzerinden raporlar.
Yenilik
Yeniden build edip `dist/` ile karşılaştırma yaklaşımı tek başına yeni değil; README’nin belirttiğine göre farkı, önceden seçilmiş bir action listesi yerine kullanıcının workflow’larındaki action’ları denetlemesi. Bu iddia README’de benzer araçlarla karşılaştırılıyor, ancak bağımsız doğrulama verisi sunulmuyor.
Teknolojiler
- TypeScript
- Node.js
- GitHub Actions
- yaml
- npm
- pnpm
- yarn
- git
Riskler
- Action’ın install ve build süreçleri yerel makinede kod çalıştırabilir; `ignoreScripts` varsayılanı true olsa da build script’inin kendisi güvenilmeyen kod içerebilir.
- Yeniden build sonucunun farklı çıkması tek başına kötü niyet kanıtı değildir; toolchain, bağımlılık çözümü veya build ortamındaki farklılıklar uyumsuzluk üretebilir.
- Kapsamı JavaScript tabanlı action’ların `dist/` doğrulamasına odaklıdır; README’ye göre local, `docker://` ve composite action referansları bu denetimde `not-applicable` sayılır.
- README’de `actions/checkout@v4.2.2` için byte-identical sonuç gösterilmiş; ancak tek örnek geniş action ekosisteminde güvenilirlik veya kapsama kanıtı değildir.
- Proje çok yeni; bakım sürekliliği, farklı action türlerindeki başarı oranı ve saha kullanımı hakkında yeterli veri yok.
Detaylı değerlendirme
Bu repo için detaylı değerlendirme henüz yapılmadı. Analiz, Ayarlar'daki uyum profilini hesaba katarak "bu işime yarar mı" sorusunu cevaplıyor. Bir kez çalışır; günlük koşular buna dokunmaz. Saatlik sınır var — bir kaynaktan en fazla 3 analiz.