
Drop: gVisor dəstəkli, root tələb etməyən Linux sandbox
Drop proqramları və kod agentlərini birdəfəlik mühitlərdə təcrid edən açıq mənbəli Linux sandbox-dır. Root tələb etmir, konteyner əvəzinə artıq quraşdırılmış distributivi istifadə edir və istəyə bağlı gVisor-un istifadəçi məkanı nüvəsində işləyir.
Drop, ayrı-ayrı proqramları və kod agentlərini konteynerlərə keçmədən birdəfəlik mühitlərdə təcrid edən açıq mənbəli Linux sandbox-dır. Layihə droprun.sh ünvanında yayımlanıb, kodu GitHub-dadır və Hacker News-da Show HN göndərişi kimi paylaşılıb. Docker və Podman-ın həll etdiyi problemi daha yüngül yanaşma ilə həll edir.
Root tələb etməyən təcrid
İş axını Python-un virtualenv-indən ilhamlanıb: mühit yaradırsınız, içinə girib adi qaydada işləyirsiniz, lakin təcridi əməliyyat sistemi təmin edir. Drop root tələb etmir. Hər mühit öz proses, mount, şəbəkə, IPC və cgroup ad məkanları ilə Linux user namespace-i daxilində işləyir; təcrid olunmuş proqram işə salınmazdan əvvəl Drop user namespace imkanlarının hamısını ləğv edir, ona görə proses bind mount kimi imtiyazlı əməliyyatları yerinə yetirə bilmir.
Hər mühitin öz daimi home qovluğu olur, orijinal home isə gizlədilir. Sistem qovluqları hostdan yalnız oxumaq üçün açılır, /var və /tmp özəldir, localhost-da dinləyən xidmətlərə giriş isə standart olaraq qadağandır; şəbəkəni pasta idarə edir.
Nə üçün nəzərdə tutulub
Əsas istifadə halı kod agentləridir. Agentı icazə soruşmadan işə salmaq, sərhədləri modelin deyil, əməliyyat sisteminin qoyduğu halda daha az riskli olur: səhvən icra olunan rm -rf ~ real home qovluğuna toxunmur, ~/.ssh hədəfli prompt injection isə heç nə tapmır. İkinci hal üçüncü tərəf proqramlarıdır: PyPI və ya npm-dən quraşdırılmış paket mühit daxilində işlədildikdə zərərli və ya ələ keçirilmiş buraxılışın təsiri sandbox-da qalır.
Konteyner mühərriklərindən fərqli olaraq Drop maşında artıq quraşdırılmış distributivi istifadə edir: yığılacaq image yoxdur, konteyner quraşdırması yoxdur və host proqramları olduğu kimi əlçatandır. TOML konfiqurasiyası hansı fayl, qovluq və yerli xidmətin açılacağını müəyyən edir; bütün mühitlər standart olaraq ortaq baza konfiqurasiyasını bölüşür.
gVisor və quraşdırma
İki runtime mövcuddur: standart native proqramları birbaşa host nüvəsində işlədir, gvisor isə onları əlavə olaraq gVisor-un istifadəçi məkanı nüvəsində çalışdırır ki, sistem çağırışları birbaşa host nüvəsinə çatmasın. Bunun üçün runsc quraşdırılmalıdır, rejim TOML faylında (runtime = "gvisor") və ya ayrıca əmr üçün seçilir. gVisor sistem çağırışlarına əlavə yük gətirir və adi Linux nüvəsi ilə tam uyğun deyil. Quraşdırma üçün passt/pasta paketi lazımdır; Ubuntu 24-də AppArmor profili drop binasına user namespace istifadəsinə icazə verməli, Fedora-da isə pasta-nın ad məkanı fayllarını açması üçün SELinux siyasəti genişləndirilməlidir.
Məhdudiyyətlər
Drop terminal alətidir: qrafik interfeysli proqramlar standart konfiqurasiya ilə işləmir, X socket-lərinin açılması həddindən artıq geniş hüquqlar verərdi, səsin çalınması və ya yazılması isə mümkün deyil. setuid proqramlar heç işləmir, özləri user namespace-dən asılı olan proqramlar — Podman və ya Snap ilə quraşdırılmış tətbiqlər — dəstəklənmir.
SiTech — AI ilə gücləndirilmiş veb hazırlanması
Sürətli və müasir saytlar qurur, AI-ı real biznes proseslərinə gətiririk. Layihəniz və ya sualınız var? Kömək etməyə hazırıq.