Sparround

Şirkətdə tətbiq: managed scope və sərtləşdirmə

Fərdi istifadə ilə şirkət tətbiqi arasındakı fərq bir sualdır: istifadəçi hansı parametri dəyişə bilməməlidir? Hermes bunun üçün managed scope təbəqəsini verir: sistem səviyyəsində (defolt /etc/hermes) yerləşən config.yaml.env faylları administrator tərəfindən idarə olunur və istifadəçinin ~/.hermes/ parametrlərini üstələyir.

Birləşmə yarpaq səviyyəsindədir: yalnız göstərdiyin açar sabitlənir. Yəni model.default-u sabitləmək model.*-in qalanını dondurmur.

Tətbiq mexanizmi mürəkkəb deyil: fayl sistemi icazələri. Managed fayllar root-a məxsusdur, hamı tərəfindən oxunandır, amma yalnız administrator tərəfindən yazılandır. İstifadəçi sabitlənmiş dəyəri dəyişməyə cəhd edəndə Hermes açıq şəkildə imtina edir və hansı faylın onu idarə etdiyini göstərir.

Sənədlərdəki məhdudiyyətlər də açıq yazılıb və onları bilmək vacibdir: managed .env hamı tərəfindən oxunandır (yəni həssas sirrlər üçün uyğun deyil), agent öz subproses shell-ində mühit dəyərlərini dəyişə bilir, alət və əmr üçün icazə-qadağa siyahıları bu təbəqədə göstərilmir, native macOS/Windows dəstəyi isə bu versiyanın əhatəsində deyil.

AddımNə edilirNiyə
1Açıq allowlist qur; `GATEWAY_ALLOW_ALL_USERS` işlətməBotun açıq qalmasının qarşısını alır
2`terminal.backend: docker` seçSəhvin nəticəsi konteynerdə qalır
3CPU, yaddaş, disk limitlərini təyin etResurs tükənməsinin qarşısını alır
4Açarları `~/.hermes/.env`-də `chmod 600` ilə saxlaSirrlərin oxunmasının qarşısını alır
5`command_allowlist`-i vaxtaşırı nəzərdən keçirVaxtla yığılan icazələr sürünür
6`terminal.cwd` təyin et; root kimi işlətməİş sahəsini məhdudlaşdırır
7Logları izlə və `hermes update` ilə yeniləİcazəsiz cəhdlər və təhlükəsizlik yamaları

Əlavə iki alət: hermes security audit OSV.dev əsasında tədarük zənciri zəifliklərini yoxlayır, daxili advisory skaneri isə zəhərlənmiş Python paketlərini CLI başlanğıcında, hermes doctor-da və gateway başlanğıcında bildirir (hermes doctor --ack <id> ilə birdəfəlik bağlamaq olar).

Bir də security.allow_lazy_installs var: defolt olaraq bəzi opsional asılılıqlar ilk istifadədə quraşdırılır. Sərt mühitdə bunu false etmək — yəni heç nəyin işləmə zamanı quraşdırılmamasını tələb etmək — düzgün qərardır.

Praktika. Bir pilot üçün managed konfiqurasiya faylı hazırla: model provayderini, approvals.mode-u, terminal.backend-i və sayt blocklist-ini sabitlə. Sonra adi istifadəçi kimi həmin dəyərlərdən birini dəyişməyə cəhd et. Hazır sayılır: imtina mesajını görürsən və o, hansı faylın idarə etdiyini göstərir.

📚 Mənbələr və sənədlər