Architektura
Nástroje agentů
Nástroje, které má agent care k dispozici, a jejich bezpečnostní pojistky.
Agent plní úkoly pomocí sady nástrojů. Každý má schéma a validaci vstupu; některé jsou hlídané schvalováním.
Vždy dostupné (bez SSH)
| Nástroj | K čemu |
|---|---|
http_get | GET v rámci spravovaného webu. Vrací status, čas odezvy, vybrané hlavičky a začátek těla. |
http_post | Odeslání formuláře (POST nebo GET) v rámci webu. contentType form nebo json. Tímto se ověřuje odeslání formuláře i funkční kontroly. |
ssl_info | Informace o TLS certifikátu (vydavatel, platnost, dny do expirace, alternativní jména). |
check_inbox | Ověří, že do naší schránky dorazil testovací e-mail s daným tokenem. Poolluje zhruba 90 sekund. |
Jen když existuje SSH přístup
| Nástroj | K čemu |
|---|---|
ssh_exec | Jeden shellový příkaz přes SSH. Vrací exit kód a výstup. |
wp_cli | WP-CLI příkaz (doplní --path). Aktualizace se nejdřív ověřují přes --dry-run. |
Bezpečnostní pojistky
- Stejná doména. HTTP a SSL nástroje smí jen na doménu spravovaného webu (nebo jeho subdoménu). Cizí cíl je odmítnut. Agent tedy nemůže poslat POST kamkoli.
- Blokované příkazy. Nebezpečné příkazy (mazání celých stromů, eskalace práv, formátování, vypnutí, fork bomba) jsou tvrdě blokované vždy, i pod dohledem.
- Schvalování mutací. Mutační (nečtecí) příkazy
ssh_execawp_clise předloží operátorovi ke schválení, a to i u úkolů bez dohledu. Automaticky projdou jen čtecí příkazy a úzký allowlist očekávaných údržbových operací (aktualizace jádra a pluginů, vyčištění cache apod.). Řetězení příkazů (;,&&,|a podobně) automatické schválení ruší.
Tyhle pojistky jsou důvod, proč je úprava formulářů bezpečná: zásahy jsou reverzibilní, zálohované a u citlivých kroků pod kontrolou člověka.