Documentație / Securitate
Sandbox și permisiuni
Unde poate lucra agentul, ce face fără să întrebe și ce așteaptă întotdeauna aprobarea ta.
Agentul lucrează într-un perimetru pe care motorul Yuli îl aplică la fiecare operație. Tu decizi cât de larg este acest perimetru și cât poate face agentul fără să te întrebe.
În interiorul și în afara proiectului
Din motive de securitate, agentul și panoul proiectului pot doar crea, muta, copia sau șterge fișiere în interiorul proiectului deschis.
| Unde | Ce se întâmplă |
|---|---|
| În interiorul proiectului | Agentul lucrează conform autonomiei configurate. Fiecare modificare trece prin fereastra de modificări. |
| Folder autorizat din afara proiectului | Poate citi sau citi și scrie, în funcție de ce ai ales. |
| Orice altă cale sau o modificare pe calculator | Îți cere întotdeauna confirmarea. |
Acordarea accesului la alt folder
- Deschide Proiect → Acces la foldere….
- Apasă Adaugă folder… și alege-l în dialogul sistemului.
- Alege Citire și scriere sau Doar citire pentru acel folder.
- Pentru a-l revoca, apasă Elimină accesul.
Permisiunile sunt pe proiect. Un folder nou este adăugat cu citire și scriere; schimbă-l la doar citire dacă ai nevoie doar ca agentul să consulte.
Încrederea în proiect
Prima dată când deschizi un proiect, Yuli întreabă „Aveți încredere în acest proiect?”. Încrederea permite rularea procesoarelor de adnotări (Lombok) și a sarcinilor de compilare (Maven/Gradle) ale proiectului pentru o analiză completă.
| Opțiune | Ce face |
|---|---|
| Am încredere | Rulează Lombok și Maven/Gradle pentru a rezolva dependențele. Analiză completă. |
| Mod restricționat | Nu rulează cod din depozit: javac analizează cu -proc:none, Lombok este modelat intern și se folosește doar classpath-ul deja salvat. |
Schimbă decizia în Proiect → Opțiuni globale… → Securitate → Proiecte de încredere: Am încredere, Restricționează, Uită sau Întreabă din nou la deschidere.
Încrederea afectează doar inteligența codului și build-ul. Nu schimbă permisiunile agentului.
Cât face agentul fără să întrebe
Motorul evaluează fiecare acțiune și îi atribuie un nivel de risc (scăzut, mediu, ridicat sau critic), cu o explicație și modul în care poate fi anulată. În funcție de presetarea de autorizare, aprobă singur ce este sigur sau te întreabă.
| Presetare | Modificarea unui fișier | Crearea unui fișier | Rularea unei comenzi | Ștergere |
|---|---|---|---|---|
| Prudent | Întreabă | Întreabă | Întreabă | Întreabă |
| Echilibrat (implicit) | Singur | Întreabă | Întreabă | Întreabă |
| Autonom | Singur | Singur | Singur | Întreabă |
Cât timp agentul te întreabă la fiecare pas, deasupra casetei de chat apare „Aprobi tot?”. Aprobă tot trece la Autonom: agentul editează, înlocuiește și lansează fără să-ți ceară aprobarea la fiecare pas, iar fereastra de modificări și rollback-ul pot anula totul. Continuă să întrebi închide propunerea.
Ce crește riscul
- Ștergerea fișierelor sau atingerea căilor din afara proiectului.
- Migrările și fișierele
.sql. - Configurația de producție (
application-prod, Terraform, Kubernetes, Helm). - Manifestele de dependențe.
- Modificări în multe fișiere simultan.
git push,mergesau rescrierea istoricului.- Secrete în conținut.
- Acces la rețea (
curl,scp,ssh,docker push,npm publish,mvn deploy). DROP,TRUNCATEsauDELETE FROM.
Autonomie avansată
Agent → Autonomie… deschide regulile prin care propunerile se aplică singure. Vine dezactivată: revizuiești fiecare propunere înainte să ajungă pe disc.
| Setare | Ce face |
|---|---|
| Număr maxim de fișiere per tură | Peste acest număr, cere autorizare. |
| Căi permise (pathsAllow) | Globuri în care se poate aplica automat, de exemplu src/**. Gol permite orice cale care nu este refuzată. |
| Căi refuzate (pathsDeny) | Globuri care necesită întotdeauna autorizare umană, de exemplu **/.env. |
| Necesită verificare trecută | Aplică automat doar dacă verificarea proiectului este pe verde. |
Căile refuzate implicit includ **/.env, **/.env.*, **/credentials*, **/*.pem, **/*id_rsa*, **/.ssh/** și **/migrations/**.
Căi care cer întotdeauna confirmare
Nicio presetare nu poate ocoli aceste cazuri. Scrierea pe o cale care conține .env, credentials, secret, id_rsa, .pem, .git/ sau .ssh/ cere întotdeauna confirmarea ta.
În plus, contractul de calitate protejează contractul însuși, hook-urile Git și fișierele CI: un agent nu le poate edita.
Git, CI și DevOps: doar dacă le ceri
Agentul nu face din proprie inițiativă commit, push, merge, rebase, tag-uri sau operații CI. Sunt blocate comenzi precum git commit, git push, gh, glab, az pipelines, az repos și uneltele serverelor MCP pentru GitHub, GitLab, Jenkins sau CloudBees.
- Yuli detectează în mesajul tău o cerere explicită, în spaniolă sau engleză: „haz commit”, „súbelo”, „push”, „crea un PR”, „despliega”…
- Odată cu cererea, Git este activat pentru acea sesiune.
- Chiar și așa, fiecare acțiune îți cere aprobarea.
Crearea unei ramuri sau a unui worktree necesită propria cerere explicită. Chiar dacă ceri „fă commit și push”, agentul lucrează pe ramura curentă.
Clienți de baze de date blocați
Agentul nu poate folosi clienți de baze de date în linie de comandă: sqlplus, sqlcl, sqlcmd, bcp, sqlite3, psql, mysql, mariadb, mongo, mongosh, isql, db2, impdp, expdp, rman și altele similare. Orice interogare trece prin uneltele Yuli și prin politica lor. Vezi Bază de date securizată.
În Modul abonament
Cu Claude Code, Kiro, Codex sau Antigravity se aplică aceleași reguli. Yuli le impune prin hooks și în calitate de client ACP:
- În interiorul proiectului, agentul lucrează fără întreruperi; în afara lui, te întreabă.
- Git, CI și ramuri doar dacă le ceri.
- Secretele nu sunt citite niciodată.
În Opțiuni globale → IA și modele → Modul IA poți dezactiva Impune regulile pentru a trece la „Doar avertizare”: Yuli raportează ce lipsește, dar nu blochează. Git și secretele sunt protejate întotdeauna.