Executando verificação de segurança...
7

Pensando em segurança para LLMs

Dando um passo a mais na segurança de LLMs com LangChain e JWT

Tudo começou com uma calculadora. Era só uma ferramenta pra somar e multiplicar números porque, como a gente sabe, LLMs ainda tropeçam em contas básicas. Mas o tempo passou e as tools evoluíram: hoje, elas já acessam bancos de dados, CRMs com dados sensíveis, e executam queries com um simples comando em linguagem natural.

Prompt injection é um problema real. E é muito mais fácil de acontecer do que parece, especialmente quando a validação de permissões se resume a instruções em texto como "você só pode acessar a tabela X"

Um primeiro passo

Com tudo isso em mente, eu queria começar a contribuir para esse ecossistema de LLMs mais seguros. Decidi começar pequeno, criar algo simples, funcional e que já pudesse ser útil para quem já está explorando o uso de tools com LangChain.

O langchain-auth-tools é um package npm que já está disponível e possui um adaptador leve que te permite controlar quais ferramentas um modelo pode acessar, com base em scopes definidos num JWT ou fornecidos diretamente. A ideia principal é minimizar a exposição de ferramentas desnecessariamente.

Como funciona

Você pode usar JWTs com scopes como "calculator" ou "crm_read", e instanciar seu modelo com apenas essas ferramentas ativas. Se preferir, pode ignorar o JWT e passar os scopes manualmente (bom pra testes ou ambientes fechados).

const adapter = new AuthToolAdapter(allTools, { skipJwt: true }); const allowedTools = adapter.getAllowedToolsFromScopes(['calculator']);

Ou, com JWT:

const adapter = new AuthToolAdapter(allTools, { jwtSecret: 'sua-chave-secreta' }); const allowedTools = await adapter.getAllowedToolsFromJwt(token);

Pronto! Agora seu modelo só tem acesso ao que ele realmente pode acessar.

E os próximos passos?

Suporte para integração com projetos em Python 🚀

Um sistema de contexto fixo (tipo um "Auth Memory") pra manter autorizações vivas por mais tempo

npm: https://www.npmjs.com/package/langchain-auth-tools
github: https://github.com/ianig/langchain-auth-tools

Sou novo no open source, sugestões e contribuições da comunidades são bem-vindos!!!

Carregando publicação patrocinada...