სენდბოქსი
PRX სენდბოქსი უზრუნველყოფს პროცესისა და ფაილური სისტემის იზოლაციას ინსტრუმენტების შესრულებისთვის. როდესაც აგენტი იძახებს ინსტრუმენტს, რომელიც გარე ბრძანებებს ასრულებს, სენდბოქსი უზრუნველყოფს, რომ ბრძანება შეზღუდულ გარემოში გაეშვას.
სენდბოქსის ბექენდები
PRX მრავალ სენდბოქსის ბექენდს მხარს უჭერს:
| ბექენდი | პლატფორმა | იზოლაციის დონე | ოვერჰედი |
|---|---|---|---|
| Docker | Linux, macOS | სრული კონტეინერი | მაღალი |
| Bubblewrap | Linux | სახელთა სივრცე + seccomp | დაბალი |
| Firejail | Linux | სახელთა სივრცე + seccomp | დაბალი |
| Landlock | Linux (5.13+) | ბირთვის LSM | მინიმალური |
| None | ყველა | იზოლაცია არ არის | არცერთი |
კონფიგურაცია
toml
[security.sandbox]
backend = "bubblewrap"
[security.sandbox.docker]
image = "prx-sandbox:latest"
network = "none"
memory_limit = "256m"
cpu_limit = "1.0"
[security.sandbox.bubblewrap]
allow_network = false
writable_paths = ["/tmp"]
readonly_paths = ["/usr", "/lib"]როგორ მუშაობს
- აგენტი ითხოვს ინსტრუმენტის გამოძახებას (მაგ., shell ბრძანების შესრულება)
- პოლიტიკის ძრავა ამოწმებს, ნებადართულია თუ არა გამოძახება
- სენდბოქსი ახვევს შესრულებას კონფიგურირებულ ბექენდში
- ინსტრუმენტი შეზღუდული ფაილურ სისტემისა და ქსელის წვდომით ეშვება
- შედეგები ფიქსირდება და აგენტს უბრუნდება