Considerações sobre Segurança

Escopo: Este documento abrange considerações de segurança relacionadas ao SDK Python de Memória do Agente do Oracle AI. Aplica-se a aplicativos que usam os recursos de memória ativa do SDK ou apenas a camada de armazenamento.

Por que é importante: o Oracle AI Agent Memory pode persistir registros de conteúdo e memória de thread no Oracle Database e, quando os recursos suportados por LLM estão ativados, enviar conteúdo para pontos finais de modelo configurados para resumo, extração de memória ou incorporações. Portanto, a implantação segura depende do tratamento cuidadoso dos dados do aplicativo, do escopo de recuperação, do acesso ao banco de dados, dos pontos finais do modelo externo e das políticas de retenção.

Considerações sobre o processamento de memória apoiado por LLM

O Oracle AI Agent Memory suporta recursos de memória ativa, como resumo de threads e extração automática de memória. Quando esses recursos estão ativados, o SDK pode enviar mensagens recentes, resumos de threads, memórias recuperadas ou texto de pesquisa para o LLM configurado ou o ponto final de incorporação.

Importante: só envie conteúdo para a Memória do Agente do Oracle AI apropriado para o ponto final do modelo configurado e suas políticas de implantação. Se a memória ativa estiver ativada para dados que parecem incluir segredos, credenciais ou dados confidenciais desnecessários, minimize ou oculte esse conteúdo antes que as mensagens entrem no pipeline de memória. Trate memórias extraídas, resumos, cartões de contexto e outros textos derivados de modelo como saída não confiável que deve ser revisada e tratada com segurança pelo aplicativo de integração.

Aviso: O texto derivado do modelo pode se tornar um estado de memória persistente. Quando recursos automáticos de extração, resumo ou cartão de contexto são ativados, um resumo, memória extraída ou registro recuperado pode ser inserido pelo SDK em prompts posteriores, como prompts de extração de memória, resumo, cartão de contexto ou agente, antes que o aplicativo possa revisar esse valor intermediário específico. Trate isso como um fluxo de dados de LLM não confiável normal: revise e valide as saídas que seu aplicativo consome e não permita que conteúdo derivado da memória autorize ações privilegiadas ou ignore a política.

Siga estas recomendações ao usar recursos de memória ativa:

Considerações sobre persistência e minimização de dados

O Oracle AI Agent Memory foi projetado para persistir mensagens, memórias, metadados e incorporações no Oracle Database quando o armazenamento suportado pelo BD é usado. Isso permite a recuperação durável e a memória entre sessões, mas também significa que o aplicativo deve planejar quais dados são apropriados para reter.

A seguinte orientação ajuda a manter as implantações alinhadas com práticas seguras de tratamento de dados:

Considerações sobre o escopo de recuperação e o controle de acesso

O Oracle AI Agent Memory usa valores user_id, agent_id e thread_id fornecidos pelo chamador para definir o escopo da recuperação. Este é um modelo de filtragem poderoso, mas não deve ser o único controle no qual seu aplicativo depende ao decidir como o conteúdo recuperado é usado ou mostrado.

Por padrão, a recuperação no escopo do thread usa correspondência exata para user_id e agent_id e uma correspondência mais ampla para thread_id para que os resultados relevantes possam abranger threads anteriores para o mesmo par usuário-agente. As chamadas de nível superior OracleAgentMemory.search() e search_async() também exigem escopo explícito do usuário e correspondência exata do usuário. Eles rejeitam o escopo do usuário omitido e o exact_user_match=False para que a API do cliente público não pesquise acidentalmente em vários usuários. A transmissão de user_id=None só é permitida com correspondência exata de usuários e destinos somente com registros sem escopo.

Use as seguintes práticas ao projetar recuperação:

Considerações sobre integração de aplicativos e confiança do chamador

A Memória do Agente do Oracle AI deve ser chamada pelo aplicativo de integração ou outro código de backend confiável, não diretamente pelos usuários finais. Ele não é um limite de segurança voltado para o usuário final e não executa a autenticação ou autorização do usuário final por conta própria. O pacote confia no chamador para fornecer o escopo correto de user_id, agent_id, thread_id e recuperação para cada operação.

Importante: O aplicativo de integração é responsável por autenticar o usuário final, autorizar o acesso e derivar o user_id e o escopo corretos antes de chamar as APIs de Memória do Oracle AI Agent. Um user_id fornecido pelo chamador é um valor de escopo, não uma prova de identidade.

Use as seguintes práticas ao integrar o SDK em um aplicativo agentic:

Considerações sobre logs e diagnósticos

O Oracle AI Agent Memory usa o registro em log Python padrão e não configura handlers de log de aplicativos ou níveis de log para o aplicativo de integração. Os aplicativos podem ativar o logger oracleagentmemory e rotear logs do SDK por meio de sua configuração de log existente.

Use as seguintes práticas ao consumir logs do SDK:

Considerações sobre acesso ao banco de dados, gerenciamento de esquemas e segredos

A Memória do Oracle AI Agent usa uma conexão ou pool do Oracle Database fornecido pelo chamador. O pacote não cria nem gerencia as próprias credenciais do banco de dados. Ele também não cria, negocia ou atualiza a criptografia de rede do banco de dados em nome do chamador.

Importante: O código de produção deve passar uma conexão ou um pool do Oracle Database ativado para TLS na Memória do Oracle AI Agent. O SDK usa a conexão ou o pool fornecido pelo chamador no estado em que se encontra e não atualiza um DSN de texto simples. Não use conexões de banco de dados de texto sem formatação em redes não confiáveis, compartilhadas ou externas. Ao usar o python-oracledb, siga a seção oficial Criptografando Seguramente o Tráfego de Rede com o Oracle Database e configure o TLS ou outro transporte criptografado aprovado como parte da criação da conexão ou do pool.

Importante: Nunca incorpore chaves de API, senhas ou outros segredos diretamente no código do aplicativo, na configuração de check-in ou nos artefatos exportados. Sempre use mecanismos de injeção seguros e siga o princípio de privilégio mínimo para acesso a credenciais.

As seguintes práticas de implantação são recomendadas:

Considerações sobre comunicação de rede e pontos finais externos

O Oracle AI Agent Memory pode se comunicar com serviços externos quando a implantação configura provedores remotos de LLM ou incorporação. O SDK encaminha prompts e solicita parâmetros por meio do caminho do cliente configurado, mas o aplicativo e a implantação adjacentes permanecem responsáveis por proteger essas conexões.

Recomendamos o seguinte:

Considerações sobre os vetores de exaustão de recursos

Os fluxos de trabalho de memória podem aumentar o uso do banco de dados, incorporar tráfego e consumo de token de LLM ao longo do tempo. Isso é verdade tanto para o uso excessivo malicioso quanto para erros inocentes de implementação, como mensagens de grandes dimensões ou padrões de recuperação excessivamente amplos.

Use estes controles como parte de sua proteção de produção: