Con la rápida proliferación de las herramientas de inteligencia artificial, asegurar su seguridad se ha vuelto primordial. Esta lista de verificación de seguridad está diseñada para ayudar a los desarrolladores a identificar y mitigar los riesgos potenciales asociados con el Protocolo de Contexto de Modelos (MCP), que se ha convertido en un puente crucial que conecta los modelos de lenguaje grandes (LLM) con herramientas externas y fuentes de datos.
Introducción
Esta lista de verificación de seguridad ha sido redactada y mantenida por @SlowMist_Team, con el objetivo de mejorar la seguridad de los ecosistemas de blockchain e inteligencia artificial. Agradecemos a FENZ.AI por su valiosa contribución a esta lista.
Resumen
Desde su lanzamiento a finales de 2024, MCP se ha aplicado ampliamente en las principales aplicaciones de IA, como Claude Desktop y Cursor. Sin embargo, la rápida popularización de MCP también ha traído consigo nuevos desafíos de seguridad. La arquitectura actual de MCP consta de tres partes: Host (entorno de aplicación de IA que se ejecuta localmente), Cliente (componente responsable de la comunicación con el Servidor y la invocación de herramientas) y Servidor (el servicio correspondiente al complemento MCP). Los usuarios interactúan con la IA a través del Host, el Cliente analiza y reenvía las solicitudes del usuario al Servidor MCP, ejecutando invocaciones de herramientas o accesos a recursos. En escenarios de múltiples instancias y componentes que operan en colaboración, esta arquitectura expone una serie de riesgos de seguridad, especialmente en escenarios sensibles que involucran transacciones de criptomonedas o la adaptación de complementos personalizados de LLM. Se necesitan medidas de seguridad apropiadas para gestionar estos riesgos.
Por lo tanto, es esencial desarrollar y seguir una lista de verificación de seguridad de MCP integral. Esta lista cubre puntos clave de seguridad para la interfaz de interacción del usuario, componentes del cliente, complementos de servicio, mecanismos de colaboración multi-MCP y dominios específicos (como escenarios de criptomonedas), con el objetivo de ayudar a los desarrolladores a identificar sistemáticamente los riesgos potenciales y prevenirlos a tiempo. La implementación de estas medidas de seguridad puede mejorar de manera efectiva la estabilidad y la controlabilidad general del sistema MCP, asegurando que la seguridad de las aplicaciones de IA se garantice al mismo tiempo que se desarrolla rápidamente.
Cómo usar
Esta lista de verificación se basa en los posibles puntos de riesgo encontrados durante la auditoría de proyectos MCP y está diseñada para ayudar a los desarrolladores a garantizar la seguridad de las implementaciones de MCP. Utilizamos tres niveles de prioridad para indicar la importancia de los elementos:
- 🟢️ Indica un elemento recomendado, pero que puede omitirse en circunstancias específicas.
- 🔶 Indica un elemento muy recomendado, pero que puede omitirse en circunstancias especiales; la omisión podría tener un impacto negativo en la seguridad.
- 🟥️ Indica un elemento que no debe omitirse en ninguna circunstancia; la eliminación de estos elementos puede provocar fallas en el sistema o vulnerabilidades de seguridad.
Seguridad del servidor MCP (Complemento MCP)
El servicio MCP es un servicio externo que proporciona herramientas, recursos y funcionalidades para que la IA las invoque. Por lo general, contiene recursos, herramientas y sugerencias. Estas son algunas consideraciones para garantizar la seguridad del servidor MCP:
Seguridad de la API
- Validación de entrada: 🟥️ Valide estrictamente todas las entradas de la API para evitar ataques de inyección y parámetros ilegales. Esto incluye validar el tipo de datos, la longitud y el formato, y limpiar y escapar las entradas.
- Limitación de velocidad de la API: 🔶 Implemente límites de velocidad de las llamadas a la API para evitar el abuso y los ataques. Esto puede evitar que usuarios maliciosos abrumen el servidor enviando una gran cantidad de solicitudes.
- Codificación de salida: 🔶 Codifique correctamente las salidas de la API para evitar ataques de cross-site scripting (XSS). Esto incluye codificar salidas como HTML, JavaScript y URL.
Autenticación y autorización del servidor
- Control de acceso: 🟥️ Implemente el control de acceso basado en roles, restrinja el acceso a los recursos e implemente el principio de privilegio mínimo. Solo los usuarios autorizados deben tener acceso a recursos específicos.
- Gestión de credenciales: 🟥️ Gestione y almacene de forma segura las credenciales de servicio, evite la codificación dura y utilice servicios de gestión de claves. Esto incluye usar el cifrado para almacenar las credenciales y rotarlas periódicamente.
- Autenticación de servicios externos: 🟥️ Utilice métodos seguros para autenticarse en servicios de terceros. Esto incluye el uso de protocolos seguros como OAuth 2.0 o SAML.
- Privilegio mínimo: 🔶 Los procesos de servicio se ejecutan con el mínimo de privilegios necesarios, lo que reduce la posible superficie de ataque y los riesgos de escalada de privilegios. Esto significa que el servicio solo debe tener los privilegios necesarios para realizar su función.
- Rotación de claves de API: 🔶 Rote automáticamente las claves de API y las credenciales de servicio periódicamente, limitando la validez de las claves. Esto puede reducir el riesgo de fuga de claves.
- Autenticación de servicio: 🔶 Proporcione mecanismos para que las herramientas verifiquen la identidad del servicio, facilitando la verificación y el uso seguro por parte del cliente. Esto puede ayudar al cliente a verificar que se está comunicando con un servicio confiable.
Control de persistencia en segundo plano
- Gestión del ciclo de vida: 🟥️ Implemente una gestión estricta del ciclo de vida del complemento MCP, sincronizándose con el cliente. Los complementos deben iniciarse y detenerse correctamente cuando ya no sean necesarios.
- Limpieza al cerrar: 🟥️ Limpie forzosamente todos los procesos en segundo plano de MCP cuando se cierre el cliente. Esto puede evitar que los complementos maliciosos sigan ejecutándose después de que se haya cerrado el cliente.
- Mecanismo de comprobación de estado: 🔶 Compruebe periódicamente el estado del complemento MCP para identificar la persistencia anómala. Esto puede ayudar a identificar los complementos que no funcionan correctamente.
- Supervisión de la actividad en segundo plano: 🔶 Supervise y registre toda la actividad en segundo plano de MCP. Esto puede ayudar a identificar la actividad maliciosa.
- Limitación de actividad: 🔶 Limite los tipos y la duración de las operaciones que un complemento MCP puede realizar en segundo plano. Esto puede reducir los daños causados por los complementos maliciosos.
Seguridad de la implementación y el tiempo de ejecución
- Entorno aislado: 🟥️ El servicio se ejecuta en un entorno aislado (contenedor, VM, sandbox), evitando el escape y los ataques de movimiento este-oeste. Esto puede evitar que los servicios maliciosos afecten a otros servicios o sistemas.
- Seguridad del contenedor: 🟥️ Utilice configuraciones de seguridad de contenedor reforzadas y ejecute con usuarios no root, implemente una infraestructura inmutable y protección en tiempo de ejecución. Esto puede mejorar la seguridad del contenedor.
- Arranque seguro: 🔶 Verifique la integridad del proceso de arranque del servicio, implemente una cadena de arranque segura y comprobaciones de integridad. Esto puede evitar que se inyecten servicios maliciosos durante el arranque.
- Seguridad de las variables de entorno: 🔶 Las variables de entorno confidenciales están protegidas y no se filtran en los registros. Esto puede evitar que los usuarios maliciosos accedan a información confidencial.
- Limitación de recursos: 🔶 Implemente límites de uso de recursos, evitando llamadas repetidas masivas en bucle cuando el modelo grande falla. Esto puede evitar que los servicios maliciosos agoten los recursos del sistema.
Integridad del código y los datos
- Mecanismo de verificación de integridad: 🟥️ Utilice mecanismos como firmas digitales y comprobaciones hash para garantizar que el código no ha sido manipulado. Esto puede evitar que los usuarios maliciosos modifiquen el código.
- Verificación remota: 🔶 Admite mecanismos para la verificación remota de la integridad del código. Esto permite a los usuarios remotos verificar si el código ha sido manipulado.
- Ofuscación y endurecimiento del código: 🟢️ Aplique técnicas de ofuscación y endurecimiento del código para aumentar la dificultad de la ingeniería inversa. Esto puede dificultar que los usuarios maliciosos comprendan y modifiquen el código.
Seguridad de la cadena de suministro
- Gestión de dependencias: 🟥️ Gestione de forma segura las dependencias de terceros. Esto incluye el seguimiento de las dependencias, garantizar que estén actualizadas y escanearlas en busca de vulnerabilidades.
- Integridad del paquete: 🟥️ Verifique la integridad y la autenticidad de los paquetes. Esto puede evitar que los usuarios maliciosos inyecten paquetes maliciosos.
- Verificación de origen: 🔶 Verifique el origen de todo el código y las dependencias. Esto puede ayudar a garantizar que el código provenga de una fuente confiable.
- Seguridad de la construcción: 🔶 Asegúrese de que el proceso de construcción sea seguro. Esto incluye el uso de herramientas de construcción seguras y garantizar que el entorno de construcción sea seguro.
Supervisión y registro
- Detección de anomalías: 🟥️ Detecte e informe patrones de actividad anómalos. Esto puede ayudar a identificar la actividad maliciosa.
- Registro detallado: 🟥️ Registre toda la actividad del servicio y los eventos de seguridad. Esto puede ayudar a investigar los incidentes de seguridad.
- Alertas de incidentes de seguridad: 🟥️ Configure alertas en tiempo real para eventos de seguridad clave. Esto puede ayudar a responder a los incidentes de seguridad de manera oportuna.
- Gestión centralizada de registros: 🔶 Recopile y analice los registros de forma centralizada. Esto puede proporcionar una visión más completa de los incidentes de seguridad.
- Integridad de los registros: 🔶 Asegúrese de la integridad de los registros, evitando la manipulación. Esto puede evitar que los usuarios maliciosos eliminen o modifiquen los registros.
- Capacidades de auditoría: 🔶 Admite auditorías detalladas e investigación de incidentes. Esto puede ayudar a determinar la causa de los incidentes de seguridad.
Aislamiento del entorno de invocación
- Aislamiento entre MCP: 🟥️ Asegúrese del aislamiento operativo entre varios servicios MCP. Esto puede evitar que un servicio MCP malicioso afecte a otros servicios MCP.
- Control de acceso a los recursos: 🟥️ Asigne límites claros de permisos de acceso a los recursos para cada servicio MCP. Esto puede restringir los recursos a los que puede acceder un servicio MCP malicioso.
- Separación de permisos de herramientas: 🔶 Las herramientas en diferentes dominios utilizan diferentes conjuntos de permisos. Esto puede reducir los daños causados por las herramientas maliciosas.
Compatibilidad de la plataforma y seguridad
- Aislamiento de recursos del sistema: 🟥️ Implemente políticas de aislamiento de recursos apropiadas según las diferentes características del sistema operativo. Esto puede evitar que los servicios maliciosos afecten a otros servicios o sistemas.
- Pruebas de compatibilidad multiplataforma: 🔶 Pruebe la coherencia del comportamiento de seguridad del servicio MCP en diferentes sistemas operativos y clientes. Esto puede garantizar que el servicio sea seguro en todas las plataformas.
- Evaluación de riesgos específicos de la plataforma: 🔶 Evalúe los riesgos de seguridad únicos y las medidas de mitigación para plataformas específicas. Esto puede ayudar a identificar y mitigar los riesgos de seguridad específicos de la plataforma.
- Manejo de diferencias de cliente: 🔶 Asegúrese de que los controles de seguridad puedan adaptarse a las diferencias en varias implementaciones de cliente. Esto puede garantizar que el servicio sea seguro con todos los clientes.
Seguridad y privacidad de los datos
- Minimización de datos: 🟥️ Recopile y procese solo los datos necesarios. Esto puede reducir el riesgo de fuga de datos.
- Cifrado de datos: 🟥️ Los datos confidenciales se cifran en el almacenamiento y la transmisión. Esto puede evitar que los usuarios maliciosos accedan a información confidencial.
- Aislamiento de datos: 🟥️ Los datos de diferentes usuarios están efectivamente aislados. Esto puede evitar que los usuarios maliciosos accedan a los datos de otros usuarios.
- Control de acceso a los datos: 🟥️ Implemente un estricto control de acceso a los datos. Esto puede restringir el acceso a los datos.
- Identificación de datos confidenciales: 🟥️ Identifique y maneje automáticamente los datos confidenciales de forma especial. Esto puede ayudar a evitar la fuga de datos confidenciales.
Seguridad de los recursos
- Control de acceso a los recursos: 🟥️ Implemente un control de acceso a los recursos granular. Esto puede restringir el acceso a recursos específicos.
- Limitación de recursos: 🔶 Limite el tamaño y la cantidad de recursos individuales. Esto puede evitar que los usuarios maliciosos agoten los recursos del sistema.
- Seguridad de la plantilla de recursos: 🔶 Asegúrese de que los parámetros de la plantilla de recursos se validen y limpien. Esto puede evitar que los usuarios maliciosos inyecten código malicioso.
- Marcado de recursos confidenciales: 🔶 Marque y maneje de forma especial los recursos confidenciales. Esto puede ayudar a evitar la fuga de recursos confidenciales.
Seguridad de la implementación de la herramienta
- Prácticas de codificación segura: 🟥️ Siga los estándares de codificación segura y las mejores prácticas. Esto puede reducir la cantidad de vulnerabilidades en el código.
- Aislamiento de la herramienta: 🟥️ La ejecución de la herramienta se realiza en un entorno controlado, lo que evita el impacto a nivel del sistema. Esto puede evitar que las herramientas maliciosas afecten a otros servicios o sistemas.
- Validación de entrada: 🟥️ Valide estrictamente todas las entradas del cliente. Esto puede evitar que los usuarios maliciosos inyecten código malicioso.
- Control de permisos de la herramienta: 🟥️ Cada herramienta solo posee los permisos mínimos necesarios para completar la tarea. Esto puede reducir los daños causados por las herramientas maliciosas.
- Validación de datos: 🟥️ Valide los datos procesados por la herramienta para evitar la inyección y la manipulación. Esto puede evitar que los usuarios maliciosos inyecten datos maliciosos.
- Restricciones del comportamiento de la herramienta: 🟥️ Restrinja el alcance y el tipo de operaciones que puede realizar la herramienta. Esto puede reducir los daños causados por las herramientas maliciosas.
- Seguridad de la información devuelta por la interfaz de terceros: 🟥️ Verifique si la información devuelta por la interfaz cumple con las expectativas y no inserte la información devuelta directamente en el contexto. Esto puede evitar que las herramientas maliciosas utilicen la interfaz de terceros.
- Manejo de errores: 🔶 Maneje los errores de forma segura, sin revelar información confidencial. Esto puede evitar que los usuarios maliciosos utilicen la información de error.
- Aislamiento del espacio de nombres: 🔶 Implemente un aislamiento estricto del espacio de nombres para diferentes herramientas. Esto puede evitar conflictos entre herramientas.
Seguridad del cliente MCP/Host MCP
El host es el entorno donde se ejecuta la aplicación de IA y el cliente MCP, y es el punto de entrada para que los usuarios finales interactúen con el sistema de IA. El cliente es un componente dentro de la aplicación de IA responsable de la comunicación con los servicios MCP, el manejo del contexto, la invocación de herramientas y la visualización de resultados. Estas son algunas consideraciones para proteger el cliente MCP y el host:
Seguridad de la interacción del usuario
- Seguridad de la interfaz de usuario: 🟥️ La interfaz de usuario muestra claramente el alcance de los permisos y el posible impacto de las operaciones de la IA, proporcionando indicadores de seguridad intuitivos. Esto puede ayudar a los usuarios a comprender los permisos que otorgan a la IA.
- Confirmación de operaciones confidenciales: 🟥️ Las operaciones de alto riesgo (como la eliminación de archivos y la transferencia de fondos) requieren la confirmación explícita del usuario. Esto puede evitar que los usuarios realicen operaciones de alto riesgo accidentalmente.
- Transparencia de la solicitud de permisos: 🟥️ La solicitud de permisos indica claramente el propósito y el alcance, lo que ayuda a los usuarios a tomar decisiones informadas y evitar la autorización excesiva. Esto puede ayudar a los usuarios a comprender los permisos que otorgan a la IA.
- Visualización de operaciones: 🔶 La invocación de herramientas y el acceso a los datos son visibles y auditables para el usuario, proporcionando registros de operación detallados. Esto puede ayudar a los usuarios a comprender las operaciones que está realizando la IA.
- Transparencia de la información: 🔶 La herramienta debe permitir a los usuarios mostrar u ocultar las etiquetas ocultas de forma predeterminada, asegurando que el contexto que ven los usuarios sea completo y coherente con el contexto generado e invocado real, evitando la existencia de lógica maliciosa en las etiquetas ocultas.
- Retroalimentación del estado: 🔶 Los usuarios pueden comprender claramente las operaciones MCP que se están ejecutando actualmente.
Control y supervisión de la IA
- Registro de operaciones: 🟥️ Registre todas las operaciones importantes de la IA y sus resultados. Esto puede ayudar a investigar los incidentes de seguridad.
- Detección de anomalías: 🔶 Detecte patrones de invocación de herramientas o secuencias de solicitud anómalas. Esto puede ayudar a identificar la actividad maliciosa.
- Limitación de la invocación de herramientas: 🔶 Implemente límites en la frecuencia y la cantidad de invocaciones de herramientas. Esto puede evitar que los usuarios maliciosos abusen de las herramientas.
Seguridad del almacenamiento local
- Almacenamiento seguro de credenciales: 🟥️ Utilice el llavero del sistema o el almacenamiento cifrado dedicado para proteger las credenciales de autenticación importantes, evitando el acceso no autorizado. Esto puede evitar que los usuarios maliciosos accedan a las credenciales.
- Aislamiento de datos confidenciales: 🔶 Implemente un mecanismo de aislamiento de datos para almacenar y procesar los datos confidenciales del usuario por separado de los datos normales. Esto puede evitar que los usuarios maliciosos accedan a los datos confidenciales.
Seguridad de la aplicación
- Integridad de la aplicación: 🟥️ Verifique la integridad de la aplicación y los complementos MCP para evitar la manipulación. Esto puede evitar que los usuarios maliciosos modifiquen la aplicación.
- Verificación de actualizaciones: 🔶 Las actualizaciones de la aplicación host se verifican mediante firmas digitales. Esto puede garantizar que las actualizaciones provengan de una fuente confiable.
- Sandbox de la aplicación: 🟢️ Intente ejecutar la aplicación en un entorno de sandbox, restringiendo el acceso al sistema. Esto puede reducir los daños causados por las aplicaciones maliciosas.
Autenticación y autorización del cliente
- Autenticación forzada: 🟥️ Aplique la autenticación antes de comunicarse con cualquier servicio MCP importante, evitando el acceso anónimo. Esto puede evitar que los usuarios no autorizados accedan a los servicios.
- Implementación de OAuth: 🔶 Implemente correctamente los flujos de OAuth 2.1 o posteriores, siguiendo las mejores prácticas y los estándares de seguridad. Esto puede garantizar que la autenticación sea segura.
- Parámetros de estado: 🔶 Implemente parámetros de estado para algunos clientes web para evitar ataques CSRF, utilizando un valor aleatorio único para cada solicitud. Esto puede evitar los ataques de falsificación de solicitudes entre sitios (CSRF).
Gestión de herramientas y servidores MCP
- Verificación de herramientas MCP: 🟥️ Verifique la autenticidad e integridad de las herramientas registradas. Esto puede evitar que se registren herramientas maliciosas.
- Actualizaciones de seguridad: 🟥️ El cliente MCP comprueba y aplica periódicamente las actualizaciones de seguridad, verificando si la herramienta actualizada contiene una descripción maliciosa. Esto puede garantizar que las herramientas estén actualizadas y no contengan código malicioso.
- Verificación del nombre de la función: 🟥️ Compruebe si hay conflictos de nombres y posibles superposiciones maliciosas antes de registrar la herramienta. Esto puede evitar que las herramientas maliciosas sobrescriban las herramientas existentes.
- Detección de MCP maliciosos: 🟥️ Supervise e identifique los patrones de comportamiento de los MCP potencialmente maliciosos. Esto puede ayudar a identificar los MCP maliciosos.
- Control de nomenclatura de herramientas MCP: 🔶 Adopte un espacio de nombres o un identificador único para evitar conflictos de nombres. Esto puede evitar conflictos entre herramientas.
- Directorio de servicios: 🔶 Mantenga un directorio autorizado de servicios y herramientas MCP confiables. Esto puede ayudar a los usuarios a encontrar servicios confiables.
- Resolución de conflictos: 🔶 Existen reglas claras para resolver conflictos de herramientas con el mismo nombre.
- Aislamiento de dominio: 🔶 Las herramientas de diferentes dominios están aisladas entre sí, lo que evita la influencia cruzada.
- Mecanismo de prioridad: 🔶 Establezca reglas claras de prioridad de funciones para evitar la superposición maliciosa.
- Control de versiones: 🔶 Implemente el control de versiones en funciones y herramientas para detectar cambios.
- Mecanismo de registro y cancelación de herramientas: 🔶 Aclare el proceso de registro y cancelación de herramientas, evitando los riesgos de seguridad de las herramientas heredadas.
- Mecanismo de detección de conflictos: 🔶 Detecte y resuelva conflictos de funciones y recursos en un entorno multi MCP.
- Clasificación de herramientas: 🟢️ Clasifique las herramientas según la sensibilidad y el nivel de riesgo.
Seguridad de las indicaciones
- Defensa contra la inyección de indicaciones: 🟥️ Implemente medidas de defensa multicapa para evitar ataques de inyección de indicaciones, incluida la verificación manual de las ejecuciones clave.
- Detección de instrucciones maliciosas: 🟥️ Establezca un mecanismo para detectar y bloquear posibles instrucciones de usuario maliciosas, evitando que el sistema sea manipulado, como detectar y bloquear instrucciones maliciosas precargadas durante la inicialización local, así como herramientas maliciosas del servidor MCP de terceros que contengan instrucciones dañinas ocultas.
- Protección de la indicación del sistema: 🟥️ La indicación del sistema está claramente separada de la entrada del usuario para evitar la manipulación.
- Filtrado de datos confidenciales: 🟥️ Filtre los datos personales confidenciales de las indicaciones y el contexto.
- Aislamiento del contexto: 🔶 Asegúrese de que el contenido del contexto de diferentes fuentes esté aislado entre sí, evitando la contaminación del contexto y la fuga de información.
- Plantillas de indicaciones: 🔶 Utilice plantillas de indicaciones seguras para reducir el riesgo de inyección.
- Verificación de la descripción de la herramienta: 🔶 Compruebe si hay instrucciones maliciosas potenciales en la descripción de la herramienta.
- Verificación de la coherencia de las indicaciones: 🔶 Asegúrese de que la misma indicación produzca resultados coherentes predecibles en diferentes entornos.
- Gestión del contexto histórico: 🔶 Aclare el mecanismo de limpieza segura del contexto histórico, evitando el riesgo de fuga de información causado por la acumulación de datos antiguos.
Registro y auditoría
- Registro del cliente: 🟥️ Registre todas las interacciones con los servicios MCP, las invocaciones de herramientas y las actividades de autorización.
- Registro de eventos de seguridad: 🟥️ Registre todos los eventos relacionados con la seguridad, incluidos los errores de autorización.
- Alertas de anomalías: 🔶 Detecte y alerte sobre patrones de actividad anómalos.
Verificación del servidor y seguridad de la comunicación
- Autenticación del servidor: 🟥️ Verifique la identidad del servidor MCP para evitar la conexión a un servidor malicioso, implemente la fijación de certificados.
- Verificación de certificados: 🟥️ Verifique estrictamente el certificado TLS del servidor remoto para evitar ataques de intermediario, compruebe la integridad de la cadena de certificados.
- Cifrado de la comunicación: 🟥️ Todas las comunicaciones cliente-servidor utilizan cifrado TLS 1.2+, desactive los conjuntos de cifrado débiles.
- Configuración del protocolo de seguridad: 🔶 Configure parámetros TLS seguros, audite y actualice periódicamente los algoritmos y protocolos de cifrado.
Almacenamiento y gestión de tokens de permisos
- Limitación del alcance de los permisos: 🟥️ Restrinja estrictamente el alcance de los permisos del token, implemente el principio de privilegio mínimo.
Control de aprobación automática
- Limitación de la aprobación automática: 🟥️ Controle estrictamente el alcance de las herramientas y operaciones que se pueden aprobar automáticamente.
- Gestión de la lista blanca: 🔶 Defina claramente el mecanismo de lista blanca para las herramientas que se pueden aprobar automáticamente.
- Evaluación dinámica de riesgos: 🔶 Ajuste dinámicamente la política de aprobación automática en función del contexto.
- Auditoría del proceso de aprobación: 🔶 Registre y audite todas las decisiones de aprobación automática.
Seguridad del muestreo
- Control de inclusión del contexto: 🟥️ Controle estrictamente el alcance del contexto incluido en la solicitud de muestreo.
- Filtrado de datos confidenciales: 🟥️ Filtre los datos confidenciales de las solicitudes y respuestas de muestreo.
- Verificación de la solicitud de muestreo: 🔶 Verifique todos los parámetros y el contenido de la solicitud de muestreo.
- Control del usuario: 🔶 Asegúrese de que el usuario tenga un control claro sobre la solicitud y los resultados del muestreo.
- Seguridad de las preferencias del modelo: 🔶 Maneje de forma segura la información de preferencias del modelo, evitando el abuso.
- Verificación de resultados: 🔶 Verifique si los resultados del muestreo cumplen con los estándares de seguridad.
Adaptación e invocación segura de MCP en diferentes LLM
Diferentes backends de LLM pueden tener diferentes prioridades de invocación y lógicas de ejecución para MCP, por lo que es necesario prestar atención a la seguridad combinada de LLM y MCP.
Ejecución segura de LLM
- Ejecución de funciones prioritarias: 🟥️ Asegúrese de que LLM pueda ejecutar primero las funciones del complemento correcto.
- Protección contra indicaciones maliciosas: 🟥️ LLM puede identificar y proteger contra el comportamiento requerido por las indicaciones mnemónicas inyectadas en escenarios de indicaciones maliciosas.
- Invocación segura: 🟥️ LLM puede invocar correctamente y de forma segura las funciones MCP relacionadas.
- Protección de la información confidencial: 🟥️ Evite la fuga de información confidencial.
Seguridad multimodal
- Filtrado de contenido multimodal: 🟥️ Filtre la información dañina o confidencial en el contenido multimodal (como indicaciones maliciosas en las imágenes).
##Seguridad en escenarios multi-MCP
Cuando se habilitan varios servidores MCP simultáneamente, debido a la falta de auditoría oficial, los usuarios pueden instalar MCP maliciosos, lo que representa una amenaza para la seguridad general.
- Seguridad del entorno multi-MCP: 🟥️ Asegúrese de la seguridad general del entorno multi-MCP, escanee y compruebe periódicamente los MCP instalados.
- Protección contra el secuestro de la prioridad de la función: 🟥️ Compruebe posibles valores preestablecidos de indicaciones maliciosas, evitando que la prioridad de la función sea secuestrada maliciosamente.
- Control de invocación de funciones entre MCP: 🟥️ Controle de forma segura la invocación de funciones entre MCP, evitando que el MCP malicioso devuelva indicaciones maliciosas para invocar otros MCP para realizar operaciones confidenciales.
Puntos de seguridad específicos para MCP relacionados con criptomonedas
Los MCP relacionados con criptomonedas suelen tener la función de gestionar billeteras de criptomonedas, lo que implica un alto riesgo.
- Protección de la clave privada: 🟥️ Fortalezca las medidas de protección de la clave privada, como Scrypt.
- Seguridad de la generación de la billetera: 🟥️ Garantía de seguridad del proceso de generación de la frase mnemotécnica o la billetera.
- Privacidad de la información de la billetera: 🟥️ Proteja la privacidad de la información de la billetera, y filtre adecuadamente la información de la billetera al solicitar interfaces de terceros.
- Confirmación de la información de la transferencia: 🟥️ La información de la firma de la transferencia en cadena o en el intercambio debe mostrarse y confirmarse por completo.
- Verificación de la operación de fondos: 🟥️ Requiere una verificación secundaria para operaciones de fondos importantes, como Google Authenticator.
- Protección de la privacidad del modelo local: 🔶 Utilice un modelo grande local para proteger los datos de privacidad, evitando que los fabricantes de modelos grandes de terceros obtengan su información de billetera y otra información confidencial.
- Compatibilidad con billeteras tradicionales: 🔶 Compatibilidad de seguridad con billeteras tradicionales, como la compatibilidad con operaciones de firma con billeteras tradicionales.