codai docs
Agenți

Poarta de protecție a sistemului

De ce uneltele agentului refuză să ruleze cât timp UAC, SIP, Gatekeeper sau blocarea ecranului sunt oprite, fiecare verificare pe sistem, excepții, politica organizației și opțiunile CLI.

Uneltele agentului acționează asupra sistemului tău: rulează comenzi în shell, modifică fișiere, controlează aplicații și, pe Android, operează telefonul. Înainte ca oricare dintre ele să ruleze, fiecare suprafață codai verifică dacă protecțiile minime ale sistemului de operare sunt active. Cât timp o protecție obligatorie este oprită, uneltele agentului sunt dezactivate, iar agentul îți spune ce este oprit și cum repari. Chatul funcționează în continuare; se opresc doar uneltele.

Fiecare verificare are un nivel:

  • BLOCK (afișat ca Obligatoriu) — cât timp eșuează, uneltele agentului sunt refuzate, cu excepția cazului în care ai acordat o excepție chiar pentru acea verificare.
  • WARN (afișat ca Recomandat) — doar un banner; uneltele continuă să ruleze.

Suprafața se află într-una din patru stări: ok (nu eșuează nimic), warn (eșuează doar verificări WARN), overridden (fiecare verificare BLOCK care eșuează are o excepție validă — uneltele rulează sub un banner permanent) sau block (cel puțin o verificare BLOCK eșuează fără excepție validă — uneltele sunt dezactivate).

Verificări

Windows

VerificareNivelCe înseamnăCum se detectează
win.uac_offBLOCKControlul contului de utilizator (UAC) este dezactivatEnableLUA == 0 sub HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System (o valoare lipsă contează ca activ)
win.uac_no_promptBLOCKAcțiunile de administrator sunt aprobate fără confirmareConsentPromptBehaviorAdmin == 0 cât timp UAC este activ și utilizatorul este administrator
win.elevatedWARNcodai rulează ca administratorTokenul procesului este ridicat cât timp UAC este activ
win.defender_rtp_offWARNProtecția în timp real Microsoft Defender este oprităDisableRealtimeMonitoring == 1 în cheia de registru de politici sau de setări Defender

macOS

VerificareNivelCe înseamnăCum se detectează
mac.sip_offBLOCKSystem Integrity Protection (SIP) este dezactivatcsrutil status raportează status: disabled
mac.gatekeeper_offBLOCKGatekeeper este dezactivatspctl --status raportează assessments disabled
mac.filevault_offWARNCriptarea discului FileVault este oprităfdesetup status raportează FileVault is Off

Linux

VerificareNivelCe înseamnăCum se detectează
linux.rootBLOCKUneltele agentului ar rula ca root pe gazdăuid efectiv 0 în afara unui container (modul per utilizator al codaid, cu coborâre de privilegii verificată, este exceptat)
linux.root_containerWARNRulează ca root într-un containeruid efectiv 0 cu marcaje de container (/.dockerenv, /run/.containerenv, cgroup-uri de container sau variabile Kubernetes)
linux.sudo_nopasswdWARNsudo funcționează fără parolăsudo -n -k true iese cu 0 pentru un utilizator non-root
linux.no_screen_lockWARNEcranul nu se blocheazăDoar în sesiuni desktop: lock-enabled din GNOME este false

Android și Wear OS

VerificareNivelCe înseamnăCum se detectează
android.no_secure_lockBLOCKTelefonul nu are blocare securizată a ecranuluiKeyguardManager.isDeviceSecure() este false
android.lock_unknownWARNStarea blocării ecranului este necunoscutămobile-agent în Termux nu poate citi starea blocării fără aplicație
android.adb_enabledWARNDepanarea USB sau opțiunile pentru dezvoltatori sunt porniteADB_ENABLED sau DEVELOPMENT_SETTINGS_ENABLED este 1
android.rootedWARNDispozitivul pare să aibă rootÎn limita posibilităților: un binar su în căile uzuale sau etichete de build test-keys
wear.no_secure_lockBLOCKCeasul nu are blocare a ecranuluiKeyguardManager.isDeviceSecure() este false pe ceas (doar banner, vezi mai jos)

O sondă care dă eroare nu raportează nimic, iar verificarea apare ca Nu a putut fi verificat: o eroare de detecție nu te blochează niciodată. Rezultatele sunt păstrate în cache cinci minute; Verifică din nou din Setări le rulează imediat.

Excepție pentru o verificare

Dacă înțelegi riscul, deschide Setări > Securitate și alege Permite totuși uneltele agentului pe verificarea care eșuează. Excepția:

  • acoperă doar acea verificare — o altă protecție care se oprește ulterior blochează din nou uneltele;
  • durează 30 de zile, după care verificarea blochează din nou până când o repari sau acorzi din nou excepția;
  • păstrează un banner de avertizare permanent vizibil pe fiecare ecran cât timp este activă;
  • este scrisă în jurnalul de audit (local și în contul tău, când ești autentificat);
  • poate fi retrasă oricând cu Revocă excepția.

Politica organizației

Administratorii organizației pot interzice excepțiile din hub, la Echipă > Securitate. Câștigă regula cea mai strictă: dacă oricare organizație din care faci parte interzice excepțiile, nu poți acorda una, iar excepțiile existente nu mai contează. Clienții citesc politica din GET /v1/policy, păstrează ultima valoare în cache și o folosesc și offline; înainte de prima citire, implicit excepțiile sunt permise. Opțiunile CLI de mai jos nu pot ocoli interdicția organizației.

Linie de comandă

ComandăEfect
codaid run --allow-insecure-hostAcordă excepție pentru toate verificările BLOCK care eșuează, doar pentru acest proces (tot auditată, tot supusă politicii organizației)
CODAI_ALLOW_INSECURE_HOST=1Același lucru pentru comenzile fără opțiune, de exemplu codaid schedules executor
codaid os-gate statusJSON cu starea, verificările care eșuează, blochează, au excepție sau avertizează, excepțiile și politica
codaid os-gate grant <ids> --yesAcordă excepție pentru verificările BLOCK listate, pe 30 de zile (fără --yes este o simulare care iese cu 2)
codaid os-gate revoke <ids>Retrage excepțiile listate
codaid os-gate auditJurnalul local de acordări și revocări, în format JSON
codai-agent-headless run --allow-insecure-hostRidică poarta pentru acest proces headless (și pentru once și desktop-session); un avertisment apare în stderr

Agentul headless nu are fișier de excepții și nu citește politica organizației: opțiunea lui este singura cale de a ridica blocarea, doar pentru acel proces.

Ce suprafețe aplică poarta

SuprafațăUneltele agentului
Aplicația desktop (Windows, macOS, Linux)Aplicată
codai-agent-headlessAplicată
codaidAplicată
Aplicația Android pentru telefonAplicată
mobile-agent (Termux)Aplicată
Wear OSDoar banner — ceasul nu rulează unelte ale agentului
Extensia VS CodeDoar avertisment în bara de stare — extensia nu rulează unelte locale

Când o unealtă blocată este apelată, agentul primește rezultatul BLOCKED: os_protection_gate, nu mai încearcă unelte în acea tură și îți spune ce este oprit și cum repari.

Confidențialitate

Detecția rulează în întregime pe dispozitiv; nicio valoare din registru, niciun rezultat de comandă și niciun detaliu despre dispozitiv nu sunt trimise nicăieri. Când ești autentificat, singurul semnal de rețea este evenimentul de audit al excepției — dacă ai acordat sau ai revocat o excepție, id-urile verificărilor, aplicația, versiunea ei și ora — trimis la POST /v1/os-gate/events.

Pe această pagină