Skip to content
Esta página fue generada y traducida con asistencia de IA. Si encuentra alguna imprecisión, no dude en ayudar a mejorarla. Editar en GitHub

Ejecucion shell

La herramienta shell es una de las tres herramientas core en PRX, disponible tanto en los registros default_tools() como all_tools(). Proporciona ejecucion de comandos a nivel de SO dentro de un sandbox configurable, asegurando que los comandos iniciados por el agente se ejecuten bajo aislamiento estricto, limites de tiempo y restricciones de salida.

Backends de sandbox

BackendPlataformaNivel de aislamientoSobrecargaNotas
LandlockLinux (5.13+)LSM de sistema de archivosMinimaNativo del kernel, sin dependencias extra
FirejailLinuxCompleto (red, sistema de archivos, PID)BajaSandbox de espacio de usuario
BubblewrapLinux, macOSBasado en namespacesBajaNamespaces de usuario, ligero
DockerCualquieraContenedor completoAltaMaximo aislamiento pero mayor latencia
NoneCualquieraSolo capa de aplicacionNingunaSin aislamiento a nivel de SO

Sanitizacion de entorno

La herramienta shell solo pasa una lista blanca estricta de variables de entorno a los procesos hijo: PATH, HOME, TERM, LANG, LC_ALL, LC_CTYPE, USER, SHELL, TMPDIR. Las claves API, tokens y secretos nunca se exponen.

Limites de recursos

LimitePor defectoConfigurableDescripcion
Timeout60 segundossecurity.resources.max_cpu_time_secondsTiempo maximo de reloj de pared por comando
Tamano de salida1 MB--Maximo stdout + stderr combinados
Memoria512 MBsecurity.resources.max_memory_mbUso maximo de memoria por comando
Subprocesos10security.resources.max_subprocessesMaximo de procesos hijo generados

Seguridad

  • Aislamiento sandbox: Los comandos se ejecutan dentro del backend de sandbox configurado
  • Sanitizacion de entorno: Solo 9 variables de entorno de la lista blanca se pasan a procesos hijo
  • Motor de politicas: Cada invocacion de shell pasa por el motor de politicas de seguridad antes de la ejecucion
  • Registro de auditoria: Todos los comandos shell y sus resultados se registran en el log de auditoria
  • Modo supervisado: La herramienta shell puede marcarse como supervised en la politica de herramientas
  • Limites de recursos: Limites estrictos en timeout, memoria, tamano de salida y conteo de subprocesos

Mitigacion de amenazas

La herramienta shell es el vector principal para ataques de inyeccion de prompts. PRX mitiga esto a traves de: confinamiento sandbox, eliminacion de entorno, modo de supervision y registro de auditoria.

Relacionado

Released under the Apache-2.0 License.