Tutto qui è configurato nella console (Security → Firewall), le cui rotte di
gestione usano la tua sessione / token di accesso — non una chiave di relay
sk-orca-…. Le chiamate /v1/* del tuo agent non cambiano.1. Perché le regole per chiamata mancano la catena
I glob sui tool e le clausole sugli argomenti del firewall sono stateless e deterministici per design — decidono una chiamata, velocemente, sul percorso caldo. È esattamente ciò che vuoi per “bloccashell.exec rm -rf”. È
esattamente sbagliato per un’esfiltrazione a fuoco lento dove ogni singola
chiamata è legale.
Due tool complementari colmano il gap:
Regole di sequenza
Una regola che scrivi tu che corrisponde a una catena ordinata di chiamate
in una finestra temporale — “bulk read → export → egress.” Nomini tu il
pattern.
Rilevamento di anomalie
Il firewall apprende la forma normale dell’uso dei tool di ogni workspace e
segnala le deviazioni — loop di retry, percorsi di tool mai visti prima e
picchi di volume/costo. Nessuna regola da scrivere.
2. Regole di sequenza: nomina la catena d’attacco
Una regolasequence vive dentro una policy del firewall
come ogni altra regola, ma invece di un singolo tool_name_glob porta un elenco
ordinato di step. Ogni step è un glob sul tool con un min_count opzionale e
un egress: true opzionale; gli step devono verificarsi in ordine
(l’interleaving con chiamate non correlate va bene) e l’intera catena deve
completarsi entro window_seconds.
crm.*, poi chiama qualsiasi tool
*.export, poi fa qualsiasi chiamata egress — tutto entro dieci minuti. Ogni
chiamata da sola passerebbe; il pattern è il segnale.
La sintassi completa del campo sequence — window_seconds: 0 per nessun limite
temporale, i default di min_count, la semantica di ordinamento degli step — è
nello schema delle regole. Scrivi le regole di
sequenza nell’editor delle regole della console; salvare è un’azione Developer+.
3. Rilevamento di anomalie: deviazione dal normale appreso
Dove le regole di sequenza chiedono “è successo questo specifico pattern”, il rilevamento di anomalie chiede “c’è qualcosa in questa esecuzione che è anormale per questo workspace”. Non serve alcuna regola — il firewall costruisce una baseline dal tuo stesso traffico e valuta l’attività live rispetto ad essa. Emergono quattro tipi:rate_spike — un'inondazione di volume
rate_spike — un'inondazione di volume
Il volume di chiamate per-(tool, chiave) valutato rispetto alla baseline
appresa per questa ora-della-settimana. Una riga emerge quando il conteggio
supera un pavimento assoluto e gira alto rispetto alla baseline, o quando il
suo z-score supera la soglia statistica. Così “100 chiamate
db.query alle 3
di domenica” salta all’occhio anche se un burst delle stesse dimensioni il
martedì alle 14 non lo farebbe.burn_spike — un picco di costo
burn_spike — un picco di costo
La stessa idea applicata alla spesa: un tool che brucia multipli del suo costo
di baseline appreso per questa ora-della-settimana. Il preavviso del
denial-of-wallet — abbinalo a una regola
cap_cost
per applicare un tetto netto.retry_loop — martellare un tool che fallisce
retry_loop — martellare un tool che fallisce
Un gruppo
(conversazione, tool, argomenti) che si ripete molte volte in una
finestra stretta — un agent bloccato a chiamare lo stesso tool che fallisce con
gli stessi argomenti ripetutamente, anziché un polling legittimo lento.novel_path — una transizione tool-a-tool inedita
novel_path — una transizione tool-a-tool inedita
Una transizione
tool_a → tool_b che questo workspace non ha mai fatto
prima. La prima volta che un agent va da read_file direttamente a
http_fetch, quell’arco si illumina anche se entrambi i tool sono
individualmente consentiti.La baseline ora-della-settimana
La baseline è una media mobile a 14 giorni suddivisa per ora della settimana (weekday × 24 + hour), così martedì-14:00 è confrontato
specificamente con la storia passata di martedì-14:00 — non una media piatta di
sempre che laverebbe via il tuo vero ritmo giornaliero e settimanale. Un workspace
nuovo di zecca senza ancora una norma appresa cattura comunque un’inondazione ovvia
tramite un pavimento assoluto, così sei protetto dal primo giorno.
4. Una procedura concreta
Supponiamo che un prompt compromesso spinga uno dei tuoi agent in un loop di fallimento stretto, poi sondi un percorso di export che non ha mai toccato. Ecco cosa vedi — nessuna regola scritta in anticipo:L'agent si comporta male
Istruzioni iniettate spingono l’agent a riprovare un
db.query che fallisce
con argomenti identici, poi a chiamare report.export seguito da un fetch in
uscita — un percorso che questo workspace non ha mai eseguito.Apri il feed delle anomalie
In Security → Firewall → Anomalies, l’esecuzione fa emergere un
retry_loop
su db.query e un novel_path sull’arco report.export → http_fetch. Leggere
il feed è un’azione Member — chiunque nel team può fare triage.Conferma nella trace degli eventi
Clicca fino al log degli eventi e alle
analytics dell’esecuzione per vedere la
sequenza esatta delle chiamate, correlata all’esecuzione dell’agent e alla
conversazione. Il feed delle anomalie è leggibile dai Member, ma il log degli
eventi e la trace dell’esecuzione portano la provenienza delle chiamate a tool
e sono Developer+.
Converti la scoperta in una regola
Ora che hai visto la catena, codificala: un
deny
sull’export pericoloso, una allow-list di egress
sul fetch, o una regola di sequenza che audita l’intero pattern la prossima
volta. Il rilevamento di anomalie trova l’ignoto; una regola fissa il noto.5. Regole di sequenza vs. rilevamento di anomalie
Risolvono problemi adiacenti — scegli quello che corrisponde a ciò che sai:| Regola di sequenza | Rilevamento di anomalie | |
|---|---|---|
| Scrivi tu | La catena esatta | Nulla — apprende |
| Cattura | Un pattern multi-step noto | L’ignoto / anormale |
| Agisce | Applica il verdetto della regola alla chiamata che completa (audit / pending_approval / deny) | Emerge sul feed |
pending_approval o deny) in grado di governare la chiamata che
completa. Per uno stop netto su una singola chiamata indipendentemente da qualsiasi
catena, ricorri a un verdetto per chiamata.
6. RBAC e le rotte dietro il feed
Il feed delle anomalie e le regole di sequenza stanno sotto le rotte di gestione del firewall del workspace — il tuo token di sessione / di accesso, mai una chiave di relay:| Metodo & path | Ruolo | Scopo |
|---|---|---|
GET /api/workspace/firewall/anomalies | Member | Legge il feed delle anomalie (?window=). |
POST /api/workspace/firewall/anomalies/snooze | Developer+ | Mette in snooze il feed ({until}, limitato a 7 giorni). |
POST /api/workspace/firewall/rules | Developer+ | Crea una regola di sequenza (o qualsiasi) sotto una policy. |
POST /api/workspace/firewall/test | Developer+ | Dry-run di una policy contro una chiamata di esempio prima di farci affidamento. |
Dove andare dopo
Schema delle regole
Il campo
sequence completo — step, min_count, window_seconds e ogni altro
campo di regola.Log degli eventi
Dove atterrano sequenze corrisposte e anomalie — filtra per esecuzione,
superficie e verdetto.
Tetto di costo
Trasforma un segnale
burn_spike in un tetto di spesa netto per esecuzione.Controllo dell'egress
Ferma lo step finale di esfiltrazione di una catena al confine di rete.
