sk-orca-…. Las llamadas /v1/* de tu agente no cambian.1. Por qué las reglas por llamada pasan por alto la cadena
Los globs de herramienta y las cláusulas de argumentos del firewall son sin estado y deterministas por diseño — deciden una llamada, rápido, en la ruta caliente. Eso es exactamente lo que quieres para “bloquearshell.exec rm -rf”. Es exactamente erróneo para una exfiltración de
combustión lenta donde cada llamada individual es legal.
Dos herramientas complementarias llenan el hueco:
Reglas de secuencia
Detección de anomalías
2. Reglas de secuencia: nombra la cadena de ataque
Una reglasequence vive dentro de una
política de firewall como cualquier
otra regla, pero en vez de un solo tool_name_glob lleva una lista ordenada
de pasos. Cada paso es un glob de herramienta con un min_count opcional
y un egress: true opcional; los pasos deben ocurrir en orden (el
entrelazado con llamadas no relacionadas está bien) y toda la cadena debe
completarse dentro de window_seconds.
crm.*, luego llama a
cualquier herramienta *.export, luego hace cualquier llamada de egress —
todo dentro de diez minutos. Cada llamada por sí sola pasaría; el patrón es
la señal.
La sintaxis completa del campo sequence — window_seconds: 0 para sin
límite de tiempo, valores por defecto de min_count, semántica de orden de
pasos — está en el esquema de regla.
Autora las reglas de secuencia en el editor de reglas de la consola; guardar
es una acción Developer+.
3. Detección de anomalías: desviación del normal aprendido
Donde las reglas de secuencia preguntan “¿ocurrió este patrón específico”, la detección de anomalías pregunta “¿hay algo en esta ejecución que sea anormal para este espacio de trabajo”. No necesita ninguna regla — el firewall construye una línea base a partir de tu propio tráfico y puntúa la actividad en vivo contra ella. Cuatro tipos salen a la luz:rate_spike — una inundación de volumen
rate_spike — una inundación de volumen
db.query a las 3am del domingo” destaca aunque una ráfaga de
martes-2pm del mismo tamaño no lo haría.burn_spike — un pico de coste
burn_spike — un pico de coste
cap_cost para aplicar un techo duro.retry_loop — martillando una herramienta que falla
retry_loop — martillando una herramienta que falla
(conversation, tool, arguments) que se repite muchas veces en
una ventana ajustada — un agente atascado llamando a la misma herramienta
que falla con los mismos argumentos una y otra vez, en vez de un polling
legítimo lento.novel_path — una transición de herramienta a herramienta nunca vista
novel_path — una transición de herramienta a herramienta nunca vista
tool_a → tool_b que este espacio de trabajo nunca ha
hecho antes. La primera vez que un agente va de read_file directo a
http_fetch, ese borde se ilumina aunque ambas herramientas estén
individualmente permitidas.La línea base de hora-de-la-semana
La línea base es un promedio móvil de 14 días agrupado por hora de la semana (weekday × 24 + hour), así que martes-14:00 se compara
específicamente contra el historial pasado de martes-14:00 — no una media
plana de todos los tiempos que lavaría tu ritmo diario y semanal real. Un
espacio de trabajo nuevo sin un normal aprendido todavía aún captura una
inundación obvia vía un piso absoluto, así que estás protegido desde el día
uno.
4. Un recorrido concreto
Supón que un prompt comprometido lleva a uno de tus agentes a un bucle de fallo ajustado, luego sondea una ruta de exportación que nunca ha tocado. Esto es lo que ves — sin ninguna regla autorada de antemano:El agente se comporta mal
db.query
que falla con argumentos idénticos, luego llamar a report.export
seguido de un fetch saliente — una ruta que este espacio de trabajo nunca
ha ejecutado.Abre el feed de anomalías
retry_loop en db.query y un novel_path en el borde
report.export → http_fetch. Leer el feed es una acción Member —
cualquiera en el equipo puede triar.Confirma en la traza de eventos
Convierte el hallazgo en una regla
deny sobre la exportación
peligrosa, una lista de permitidos de egress
sobre el fetch, o una regla de secuencia que audita todo el patrón la
próxima vez. La detección de anomalías encuentra lo desconocido; una regla
fija lo conocido.5. Reglas de secuencia vs. detección de anomalías
Resuelven problemas adyacentes — elige el que coincida con lo que sabes:| Regla de secuencia | Detección de anomalías | |
|---|---|---|
| Tú autoras | La cadena exacta | Nada — aprende |
| Captura | Un patrón de varios pasos conocido | Lo desconocido / anormal |
| Actúa | Aplica el veredicto de la regla a la llamada que completa (audit / pending_approval / deny) | Sale a la luz en el feed |
pending_approval
o deny) capaces de gobernar la llamada que completa. Para una parada dura en
una sola llamada sin importar ninguna cadena, recurre a un
veredicto por llamada.
6. RBAC y las rutas detrás del feed
El feed de anomalías y las reglas de secuencia se sitúan bajo las rutas de gestión del firewall del espacio de trabajo — tu sesión / token de acceso, nunca una clave de relay:| Método y ruta | Rol | Propósito |
|---|---|---|
GET /api/workspace/firewall/anomalies | Member | Leer el feed de anomalías (?window=). |
POST /api/workspace/firewall/anomalies/snooze | Developer+ | Posponer el feed ({until}, acotado a 7 días). |
POST /api/workspace/firewall/rules | Developer+ | Crear una regla de secuencia (o cualquiera) bajo una política. |
POST /api/workspace/firewall/test | Developer+ | Ejecutar en seco una política contra una llamada de muestra antes de depender de ella. |
Dónde ir a continuación
Esquema de regla
sequence completo — pasos, min_count, window_seconds y cada
otro campo de regla.Registro de eventos
Limitar coste
burn_spike en un techo de gasto duro por ejecución.