https://api.orcarouter.ai/v1/...;
solo cambian las claves y políticas en el gateway. Para la anatomía subyacente
del ataque, lee Inyección de prompts y
Llamadas a herramientas peligrosas;
esta página es la respuesta.
Los roles que necesita cada paso se indican en línea. Leer el feed de
Matches del guardrail está abierto a cualquier Member; las vistas de
Events, Runs y trazas del firewall necesitan Developer+; revocar
una clave, aplicar una postura de autonomía y editar una política necesitan
Developer+; marcar una coincidencia de guardrail como falso positivo
necesita Admin.
1. El bucle de respuesta a incidentes de seguridad de IA
Tres fases, ejecutadas en orden. No saltes directo al endurecimiento — contén primero para que el atacante pierda acceso mientras investigas.Contener
Revoca la clave comprometida para que el atacante no pueda hacer otra
llamada. Acuña un reemplazo fresco con alcance estrecho.
Acotar
Lee los feeds de Events / Runs del firewall y Matches del guardrail
para ver exactamente qué hizo la clave y qué se disparó.
Endurecer
Endurece la postura de autonomía y añade la regla que lo habría capturado,
para que el mismo ataque no pueda repetirse.
2. Contener — revoca la clave
El primer movimiento es cortar el acceso. Una clavesk-orca-... filtrada
sigue funcionando hasta que la revocas, así que haz esto antes que nada.
En la consola, abre API Keys, encuentra la clave comprometida (está
enmascarada en pantalla — emparéjala por nombre, entorno o último uso) y
elimínala (rol Developer). La eliminación es inmediata: la siguiente
solicitud en esa clave se rechaza en el gateway.
Luego acuña un reemplazo, con alcance al mínimo que la carga de trabajo
necesita — nunca tu clave de toda la cuenta. En API Keys → New key (rol
Developer):
Limita el radio de explosión en la clave nueva
Limita el radio de explosión en la clave nueva
Establece
credit_limit_usd a un techo razonable (0 = ilimitado) para
que una fuga futura no pueda drenar cuota, allow_ips a las IPs de egress
de tu backend si el llamador corre desde un servidor fijo, y expired_time
para cualquier cosa temporal (-1 = nunca expira). Usa model_limits (con
model_limits_enabled) para cercar la clave solo a los modelos que
necesita.Adjunta tus políticas a la clave nueva
Adjunta tus políticas a la clave nueva
Elige tu guardrail endurecido del desplegable Guardrail (establece
guardrail_id) y tu política de firewall del desplegable Firewall
policy (establece firewall_policy_id). Ambas vinculaciones viven en la
clave en el gateway, así que la clave nueva está gobernada desde su primera
llamada. Copia el texto plano una vez — está enmascarado en todas partes
tras la creación.3. Acotar — lee los feeds de Events y Matches
Ahora averigua qué hizo realmente la clave. El gateway ya registró cada llamada a herramienta y cada regla que se disparó — con alcance de espacio de trabajo, sin instrumentación extra.| Feed | Dónde | Rol | Qué responde |
|---|---|---|---|
| Firewall → Events | por llamada a herramienta | Developer+ | Cada evaluación — veredicto, superficie, herramienta, args, la ejecución a la que pertenece. |
| Firewall → Runs | agregado | Developer+ | “Qué hizo realmente esta sesión de agente” — mezcla de veredictos, herramientas y modelos distintos. |
| Guardrails → Matches | por acierto de regla | Member | Cada regla de guardrail que se disparó — tipo, acción, etapa, detalle. |
deny y
audit para ver qué se bloqueó frente a lo que se coló bajo una postura solo
de observe.
Verifica de forma cruzada Guardrails → Matches para la misma ventana. Si
una regla Prompt-Injection Basics marcó la solicitud — frases como “ignore
previous instructions” o “reveal your system prompt” — aterriza aquí con el
tipo de regla y la etapa.
El feed de Matches registra la subcadena coincidente solo cuando Log raw
content está activado para ese guardrail — está apagado por defecto (la
postura conservadora de privacidad). Con él apagado aún ves que una regla se
disparó y su meta-cadena de detalle, solo que no el texto literal. Actívalo por
guardrail cuando necesites la subcadena para triaje; el ajuste no es
retroactivo.
POST /api/guardrail/match/:id/mark-fp, Admin) para que deje de sesgar tu
señal mientras afinas.
4. Endurecer — cierra el hueco
La contención detiene a este atacante; el endurecimiento detiene al siguiente. Dos movimientos: endurece la postura del espacio de trabajo de inmediato, luego añade la regla específica que habría capturado lo que acabas de ver.Ruta rápida — sube el nivel de autonomía
Si el incidente expuso un agente que corría demasiado abierto, voltea toda la postura del espacio de trabajo en una transacción. En Firewall → Posture, aplica el nivel de autonomíatight (rol Developer). En un movimiento esto establece default-deny,
deniega shell destructivo, deniega los nombres de herramienta SSRF con forma de
fetch, y aplica los guardrails PII Shield y Secrets & API-Key Blocker.
Cada cambio es una transacción con deshacer de un clic desde el snapshot de
auditoría, así que puedes retroceder directamente si es demasiado estricto.
Ruta precisa — añade la regla que lo habría capturado
Para la inyección de prompts en concreto, OrcaRouter incluye un preset Prompt-Injection Basics (categoría safety) — una regla de palabra clave que marca frases de inyección comunes para revisión sin bloquear al usuario. Empieza ahí para obtener señal, luego escala. Su hermano más estricto, el Jailbreak / Role-Play Blocker, bloquea la misma clase con un regex. En Guardrails → New guardrail (rol Developer; el sandbox Test ejecuta reglas candidatas en línea —llm_judge hace una llamada a un modelo
de pago — así que es Developer+ también), aplica el preset
Prompt-Injection Basics, luego añade una regla llm_judge para capturar
las inyecciones ofuscadas que una lista de palabras clave omite:
judge_fail_open: false para tratar un error o timeout del juez como
un bloqueo cuando una verificación omitida sea inaceptable. Demuestra toda la
política en la pestaña Test y contra un corpus de Eval antes de
adjuntarla a una clave.
Lanza la regla nueva de forma segura
No apliques una regla fresca a ciegas en tráfico en vivo. Para el firewall, estableceshadow_mode: true en la política — cada veredicto de aplicación se
degrada a audit y se registra como [shadow] would …, así que la observas
dispararse en el feed de Events antes de que cambie cualquier tráfico. Para
los guardrails, establece la acción de una regla nueva a flag primero,
observa el feed de Matches, luego promociónala a block o mask. Ver
modos de aplicación para la ruta
completa observe → shadow → enforce.
5. Verifica el arreglo
Confirma que el bucle está cerrado antes de darlo por resuelto.Repite el ataque en el sandbox
Pega el prompt malicioso en la pestaña Test del guardrail en la etapa
input y confirma que el veredicto es ahora un bloqueo (o flag). Para un
incidente de llamada a herramienta, ejecuta en seco la llamada ofensiva en
Firewall → Test (Developer+) y confirma que el veredicto es deny.
Ningún sandbox envía nada upstream ni persiste nada.Confirma que la clave vieja está muerta
Envía una solicitud en la clave revocada y confirma que se rechaza. Un
guardrail bloqueado devuelve HTTP 400
guardrail_blocked; una llamada
a herramienta denegada devuelve HTTP 400 firewall_blocked — y un
bloqueo no cuesta cuota (los bloqueos de la etapa de entrada se
disparan antes de la medición; los bloqueos de salida reembolsan la cuota
pre-consumida) y se marca skip-retry.Captura la línea de tiempo
Cada cambio de guardrail escribe una fila de historial de versiones que
puedes diff y revertir. Los cambios de firewall se capturan en el
rastro de auditoría, y una aplicación de nivel de autonomía lleva un
snapshot de deshacer de un clic. Junto con el registro de auditoría del
espacio de trabajo, ese es tu registro de incidente — quién cambió qué,
cuándo, y cuál era la postura antes y después.
6. Runbook de un vistazo
| Fase | Acción | Dónde | Rol |
|---|---|---|---|
| Contener | Eliminar la clave filtrada | API Keys | Developer+ |
| Contener | Acuñar un reemplazo con alcance | API Keys → New key | Developer+ |
| Acotar | Leer llamadas a herramienta + veredictos | Firewall → Events / Runs | Developer+ |
| Acotar | Leer reglas que se dispararon | Guardrails → Matches | Member |
| Endurecer | Subir la postura | Firewall → Posture (tight) | Developer+ |
| Endurecer | Añadir la regla captadora | Guardrails / Firewall | Developer+ |
| Verificar | Repetir en el sandbox | Pestañas Test | Developer+ |
7. Dónde ir a continuación
Lista de verificación de go-live
La pasada de endurecimiento de pre-producción — acota claves y bloquea la
postura antes de lanzar.
Inyección de prompts
El ataque al que responde este runbook, de extremo a extremo.
Modos de aplicación
Observe → shadow → enforce — lanza una regla nueva sin romper el tráfico.
Detener la exfiltración
Bloquea los destinos salientes si el incidente tocó la red.
