Considérations relatives à la sécurité

Portée : Cet article présente les considérations relatives à la sécurité concernant la trousse SDK Python pour mémoire d'agent. Il s'applique aux applications utilisant soit les fonctions de mémoire active du SDK, soit la couche de stockage uniquement.

Pourquoi cela est important : La mémoire de l'agent peut conserver le contenu de l'unité d'exécution et les enregistrements de mémoire dans Oracle AI Database et, lorsque les fonctions soutenues par le LLM sont activées, envoyer du contenu aux points d'extrémité de modèle configurés pour la récapitulation, l'extraction de mémoire ou les intégrations. Le déploiement sécurisé dépend donc d'une gestion minutieuse des données d'application, de la portée de l'extraction, de l'accès à la base de données, des points d'extrémité des modèles externes et des politiques de conservation.

Considérations relatives au traitement de la mémoire soutenue par le LLM

La mémoire de l'agent prend en charge les fonctions de mémoire active telles que la récapitulation des threads et l'extraction automatique de la mémoire. Lorsque ces fonctions sont activées, la trousse SDK peut envoyer des messages récents, des sommaires d'unité d'exécution, des mémoires récupérées ou rechercher du texte vers le LLM configuré ou le point d'extrémité d'intégration.

Note : Envoyez uniquement du contenu à la mémoire de l'agent approprié pour le point d'extrémité de modèle configuré et vos politiques de déploiement. Validez et minimisez le contenu avant d'entrer dans le pipeline de mémoire, et évitez d'inclure des clés secrètes, des informations d'identification ou des données sensibles inutiles dans les messages ou les mémoires. Traitez les mémoires extraites, les résumés, les cartes de contexte et d'autres textes dérivés du modèle comme une sortie non sécurisée qui doit être examinée et gérée en toute sécurité par l'application d'intégration.

Suivez ces recommandations lors de l'utilisation des fonctions de mémoire active :

Considérations relatives à la persistance et à la réduction des données

La mémoire de l'agent est conçue pour conserver les messages, les mémoires, les métadonnées et les intégrations dans Oracle AI Database lorsque le magasin soutenu par la base de données est utilisé. Cela permet une récupération durable et une mémoire intersessions, mais cela signifie également que l'application doit planifier les données à conserver.

Les conseils suivants aident à aligner les déploiements sur les pratiques de traitement des données sécurisées :

Considérations relatives à la portée de l'extraction et au contrôle d'accès

La mémoire de l'agent utilise les valeurs user_id, agent_id et thread_id fournies par l'appelant pour définir la portée de l'extraction. Il s'agit d'un modèle de filtrage puissant, mais il ne devrait pas être le seul contrôle sur lequel votre application s'appuie pour décider comment le contenu extrait est utilisé ou affiché.

Par défaut, l'extraction avec étendue d'unité d'exécution utilise une correspondance exacte pour user_id et agent_id et une correspondance plus large pour thread_id afin que les résultats pertinents puissent couvrir des unités d'exécution passées pour la même paire utilisateur-agent. Les appels de niveau supérieur OracleAgentMemory.search() et search_async() nécessitent également une mise en correspondance d'utilisateur user_id concrète et exacte. Ils rejettent l'étendue d'utilisateur omise, user_id=None et exact_user_match=False, de sorte que l'API du client public ne recherche pas accidentellement plusieurs utilisateurs.

Utilisez les exercices suivants lors de la conception de l'extraction :

Considérations relatives à l'intégration des applications et à la confiance des appelants

La mémoire d'agent est destinée à être appelée par l'application d'intégration ou un autre code dorsal approuvé, et non directement par les utilisateurs finaux. Il ne s'agit pas d'une limite de sécurité orientée utilisateur final, et il n'effectue pas d'authentification ou d'autorisation de l'utilisateur final seul. L'ensemble fait confiance à l'appelant pour fournir la portée user_id, agent_id, thread_id et l'extraction correctes pour chaque opération.

Note : L'application d'intégration est responsable de l'authentification de l'utilisateur final, de l'autorisation d'accès et de la détermination du user_id et de la portée corrects avant d'appeler les API de mémoire de l'agent. Un appelant fourni user_id est une valeur de portée, et non une preuve d'identité.

Utilisez les exercices suivants lors de l'intégration de la trousse SDK dans une application agéntique :

Considérations relatives à l'accès aux bases de données, à la gestion des schémas et aux clés secrètes

La mémoire de l'agent utilise une connexion ou une réserve Oracle AI Database fournie par l'appelant. L'ensemble ne crée ni ne gère lui-même les données d'identification de la base de données. Il ne crée pas, ne négocie pas ou ne met pas à niveau le chiffrement du réseau de base de données au nom de l'appelant.

Note :

Les pratiques de déploiement suivantes sont recommandées :

Considérations relatives à la communication réseau et aux points d'extrémité externes

La mémoire de l'agent peut communiquer avec des services externes lorsque le déploiement configure un LLM distant ou des fournisseurs d'intégration. La trousse SDK transmet les invites et les paramètres de demande au moyen du chemin du client configuré, mais l'application et le déploiement environnants restent responsables de la sécurité de ces connexions.

Nous recommandons ce qui suit :

Considérations relatives aux vecteurs d'épuisement des ressources

Les flux de travail de mémoire peuvent augmenter l'utilisation de la base de données, l'intégration du trafic et la consommation des jetons LLM au fil du temps. Cela est vrai à la fois pour une utilisation excessive malveillante et pour des erreurs de mise en œuvre innocentes telles que des messages surdimensionnés ou des modèles de récupération trop larges.

Utilisez ces contrôles dans le cadre de votre durcissement de production :