Uyumluluk: Pactmark 0.2.x.
unsafe_local_development bir yetenek etiketidir, sandbox garantisi
değil — bkz. Sandbox sınırı.Çalıştırın
Neyi gösterir
Enerjisinin çoğunu işlerin ters gitmesine harcayan örnek budur; bu da onu depodaki en öğretici örnek yapar.İzin listeli kökler
Ajan yalnızca beyan edilmiş kökler içinde okuyup yazabilir, başka hiçbir yerde.
Yol traversal reddi
../, kodlanmış varyantlar ve tekrarlı çözme — karşılaştırmadan önce hepsi normalize edilir.Symlink reddi
Fiziksel symlink çözümlemesi; kökün dışına çıkan bir bağlantı izlenmek yerine reddedilir.
Taslak artifact'lar
Ara çıktı, sonuç olmadan önce içerik-adresli bir taslak olur.
Komut, çıktı ve süre sınırları
Aracın iyi davranışıyla değil, yürütücü tarafından sınırlanır ve zorlanır.
İptal
AbortSignal araca ulaşır ve koşu temizce cancelled durumuna gelir.Redaksiyon
Çalışma alanı gövdeleri olaylara, telemetriye veya kanıta sızmaz.
Yol normalizasyonu neden kendi başına bir disiplin
Herhangi bir karşılaştırma yapılmadan önce bunların hepsi tek bir değere çözülmelidir:Konteyner sözleşme fixture’ı
Örnek, minimum bir adaptör sınırını tarif eden bir konteyner sözleşme fixture’ı içerir: root olmayan kullanıcı, ağ yok, salt okunur kök, tmpfs çalışma alanı, bağlama veya Docker soketi yok, düşürülmüş yetenekler,no-new-privileges ve süreç, bellek, CPU, süre ve çıktı sınırları.
Ret yolları testlerin kendisidir
Neyi kanıtlamaz
Uyarlamak
1
Sanal dosya sistemini gerçek biriyle değiştirin
Aynı ret testlerini koruyun. Herhangi biri başarısız olmayı bırakırsa bir kontrolü kaybetmişsinizdir.
2
Köklerinizi dar beyan edin
Amaç başına bir kök, alt dizin kurallarıyla tek bir kökten iyidir.
3
Güvenilmez içerikten önce gerçek bir SandboxAdapter ekleyin
Dosyalar kullanıcılardan veya bir modelden geldiyse fixture yeterli değildir.
4
Redaksiyon kanaryasını koruyun
Paketteki en ucuz test odur ve en utandırıcı hatayı yakalar.
Sandbox sınırı
Konteyner fixture’ının neden fixture olduğu.
Araç tanımlama
Kendi araçlarınız için kapsam, sınır ve egress beyanı.