Əmr təsdiqi, deny qaydaları və YOLO
Təsdiq sistemi agentlə işləməyin gündəlik təhlükəsizlik təbəqəsidir. approvals.mode üç dəyər alır:
- `smart` (defolt) — köməkçi model riski təsnif edir: aşağı riskli əmrlər səssiz keçir, yüksək riskli avtomatik rədd olunur, şübhəli hallar sənə göstərilir
- `manual` — hər dəfə soruşur
- `off` — təsdiq soruşulmur (yalnız etibarlı CI/konteyner mühiti üçün)
Əlavə parametrlər: approvals.timeout (defolt 300 saniyə; cavab gəlməsə rədd edilir), cron_mode və single_query_mode (hər ikisi defolt deny), destructive_slash_confirm.
CLI-də təsdiq dialoqu dörd seçim verir və defolt rədddir:
- once — yalnız bu dəfə
- session — bu sessiyanın sonuna qədər həmin naxışa icazə
- always —
command_allowlist-ə yazılır (daimi) - deny — bloklanır
Messaging platformalarında eyni axın mesajla işləyir: agent əmri göstərir, sən yes/no yazırsan.
always seçimi ilə ehtiyatlı ol — o, konfiqurasiyaya daimi yazılır. hermes approvals suggest keçmiş təsdiqləri analiz edib allowlist üçün namizədlər təklif edir və dağıdıcı sinifləri (rm, sudo, disk yazma, kimlik redaktəsi, pipe-to-shell, SQL DROP) avtomatik süzgəcdən keçirir.
| Mexanizm | Keçilə bilərmi? | Nə üçündür |
|---|---|---|
| `approvals.mode` | Bəli — `off` və ya YOLO ilə | Gündəlik təsdiq siyasəti |
| `command_allowlist` | Sən özün yaradırsan | Təkrarlanan təhlükəsiz naxışlar |
| `approvals.deny` | Xeyr — `--yolo` və `mode: off` halında da qalır | Öz qırmızı xəttlərin |
| Hardline blocklist | Xeyr — heç bir rejimdə | `rm -rf /`, fork bomb, disk sıfırlama və s. |
YOLO rejimi (hermes --yolo, /yolo, HERMES_YOLO_MODE=1) bütün təsdiq dialoqlarını söndürür və qırmızı banner göstərir. Vacib detal: YOLO hardline blocklist-i keçmir — rm -rf /, fork bomb, root disk formatlaması və rootfs səviyyəsində curl | sh naxışı hər halda bloklanır. approvals.deny qaydaları da YOLO-dan güclüdür.
Praktik nəticə: öz qırmızı xəttlərini approvals.deny-a yaz — onlar rejimdən asılı olmayaraq qalır.
Praktika. approvals.deny siyahısına öz mühitin üçün üç qayda yaz (məsələn git push --force*, prod namespace-ində kubectl delete, DROP TABLE). Sonra agentdən qəsdən həmin əmri istə. Hazır sayılır: əmr icra olunmur və --yolo ilə də icra olunmur.
📚 Mənbələr və sənədlər
- Təhlükəsizlik: təsdiq axınırəsmihermes-agent.nousresearch.com
Bütün rejimlər, hardline blocklist və təhlükəli naxış kateqoriyaları.
- Konfiqurasiyarəsmihermes-agent.nousresearch.com
- CLI arayışırəsmihermes-agent.nousresearch.com