Os métodos de extração de prompt `pull prompt()` e `pull prompt commit()` em Python, e `pullPrompt()` e `pullPromptCommit()` em JS/TS, buscam e desserializam manifestos de prompt do LangSmith Hub. Esses manifestos podem conter objetos LangChain serializados e configurações de modelo que influenciam o comportamento de execução. Ao extrair um prompt público usando um identificador `owner/name`, o conteúdo é controlado por terceiros. Versões anteriores do SDK não diferenciavam esses prompts públicos daqueles dentro da própria organização do chamador, tratando-os como dados inertes em vez de configuração executável.
Um invasor pode publicar um prompt malicioso no LangSmith Hub para afetar aplicações que o extraiam. Isso pode levar ao Server-Side Request Forgery (SSRF), redirecionamento de requisições externas e interceptação de tráfego de LLM se o manifesto configurar um cliente LLM com um `base url` ou proxy controlado pelo invasor. Além disso, pode permitir a injeção de prompt ou manipulação de comportamento por meio de mensagens de sistema ou parâmetros de modelo controlados pelo invasor. O risco aumenta quando `include model` é definido como `True`, pois expande a lista de permissões de desserialização para classes de integração de parceiros, ou quando `secrets from env` está habilitado, permitindo a leitura de variáveis de ambiente durante a desserialização.