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

  1. Deschide Proiect → Acces la foldere….
  2. Apasă Adaugă folder… și alege-l în dialogul sistemului.
  3. Alege Citire și scriere sau Doar citire pentru acel folder.
  4. 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, merge sau rescrierea istoricului.
  • Secrete în conținut.
  • Acces la rețea (curl, scp, ssh, docker push, npm publish, mvn deploy).
  • DROP, TRUNCATE sau DELETE 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.

  1. Yuli detectează în mesajul tău o cerere explicită, în spaniolă sau engleză: „haz commit”, „súbelo”, „push”, „crea un PR”, „despliega”…
  2. Odată cu cererea, Git este activat pentru acea sesiune.
  3. 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.