Ir al contenido

execute_procedure

Ejecuta un procedimiento almacenado que esté incluido en la lista de procedimientos autorizados (whitelist).

NombreTipoRequeridoDescripción
procedure_namestringNombre del procedimiento a ejecutar
parametersstringNoObjeto JSON con nombres y valores de parámetros

Para usar esta herramienta, debes configurar la variable de entorno:

Ventana de terminal
MSSQL_WHITELIST_PROCEDURES="sp_GetCustomerOrders,sp_GenerateReport"
{
"name": "execute_procedure",
"arguments": {
"procedure_name": "sp_GetCustomerOrders",
"parameters": "{\"customer_id\": 123}"
}
}
  • Solo ejecuta procedimientos de la whitelist — Cualquier procedimiento no autorizado es rechazado
  • Validación de nombre — Los nombres se validan con regex ^[\w.\[\]]+$ para prevenir inyección
  • Procedimientos peligrosos bloqueadosxp_cmdshell, sp_configure, sp_executesql y otros están explícitamente bloqueados incluso si se añaden a la whitelist
  • Logging de seguridad — Cada ejecución se registra en los logs de seguridad

En modo solo lectura, los siguientes procedimientos del sistema están permitidos sin necesidad de whitelist:

  • sp_help, sp_helptext, sp_helpindex
  • sp_columns, sp_tables
  • sp_fkeys, sp_pkeys
  • sp_databases