Mapa da aula
Aula 04 publicada. Mapa, exemplo, EX010.
flowchart TD
N0["4.1 Tipos de dados"]
N1["4.2 Índices vetoriais"]
N2["4.3 Controle de acesso na recuperação"]
N3["4.4 Classes de sensibilidade"]
N4["4.4b Envenenamento de dados por meio de documentos"]
N5["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5
N5 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX010"]
Desenho lógico
flowchart LR
N0["4.1 Tipos de dados"]
N1["4.2 Índices vetoriais"]
N2["4.3 Controle de acesso na recuperação"]
N3["4.4 Classes de sensibilidade"]
N4["4.4b Envenenamento de dados por meio de documentos"]
N5["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX010"]
[4.1 Tipos de dados]
|
v
[4.2 Índices vetoriais]
|
v
[4.3 Controle de acesso na recuperação]
|
v
[4.4 Classes de sensibilidade]
|
v
[4.4b Envenenamento de dados por meio de documentos]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX010]
Objetivos de aprendizagem
Você vai (1) descrever as estruturas de dados usadas por sistemas de IA — tabelas, documentos, embeddings; (2) explicar os índices vetoriais e suas propriedades de segurança; (3) aplicar controle de acesso aos dados usados na recuperação; e (4) classificar a sensibilidade dos dados.
4.1 Tipos de dados
Sistemas de IA usam tabelas relacionais (pedidos, clientes), documentos (políticas, páginas de produtos, e-mails), conjuntos de treino (exemplos rotulados) e embeddings — listas de números que representam significado, armazenadas em índices vetoriais para a recuperação. O Ask Brightwell usa três desses tipos: as tabelas de pedidos e de clientes, por meio da ferramenta de pedidos; as páginas de políticas e de produtos, por meio da recuperação; e os embeddings dessas páginas, no índice vetorial. O ReturnGuard acrescenta um conjunto de treino com devoluções passadas, rotuladas pela equipe. Cada um tem donos e sensibilidade diferentes, o que o inventário registra mais adiante.
4.2 Índices vetoriais
A geração aumentada por recuperação (RAG) transforma documentos em embeddings, armazena os vetores e, no momento da consulta, encontra os mais próximos para incluí-los no prompt. Problemas de segurança: o índice pode misturar documentos com permissões diferentes; os embeddings podem vazar informações sobre o texto que codificam; e qualquer pessoa que possa acrescentar documentos pode influenciar as respostas. O OWASP classifica isso como LLM08 Fraquezas de Vetores e Embeddings (Vector and Embedding Weaknesses). O índice do Ask Brightwell mostrou o primeiro problema: uma planilha de margens de fornecedores, enviada por alguém, estava no mesmo índice das páginas públicas de produtos, e assim uma pergunta de cliente sobre descontos a recuperou.
4.3 Controle de acesso na recuperação
Armazene cada trecho com metadados: dono, público, sensibilidade. No momento da consulta, filtre pelas permissões de quem pergunta antes de passar os trechos ao modelo; melhor ainda, mantenha índices separados para públicos diferentes. Nunca dependa de dizer ao modelo "não revele documentos internos". Depois do vazamento das margens, a Brightwell escolheu a opção mais forte: um índice de clientes contendo apenas documentos públicos e um índice separado, exclusivo da equipe. Os metadados de público continuam registrados em cada trecho, de modo que um documento arquivado no lugar errado pode ser encontrado, e o filtro funciona como segunda camada se um documento da equipe algum dia for indexado no lugar errado.
4.4 Classes de sensibilidade
Classifique: público, interno, confidencial, pessoal. Dados pessoais exigem uma base legal e minimização. Conjuntos de treino precisam da mesma classificação de suas fontes. No Ask Brightwell, as páginas de produtos e a política de devoluções publicada são públicas, a planilha de margens de fornecedores é confidencial e os detalhes dos pedidos são pessoais. O conjunto de treino do ReturnGuard herda a classe pessoal porque é construído a partir de devoluções de clientes, de modo que seu armazenamento e seu acesso seguem as mesmas regras da tabela de pedidos. Classificar as fontes antes da indexação teria mantido a planilha de margens fora do índice de clientes.
4.4b Envenenamento de dados por meio de documentos
Qualquer pessoa que possa acrescentar ou editar documentos indexados pode plantar texto que o modelo vai ler — preços falsos, políticas falsas ou instruções ocultas. Restrinja quem pode publicar no índice, registre a origem e o histórico de alterações de cada documento e revise novas fontes antes de indexá-las. Avaliações de produtos escritas por clientes não são confiáveis e devem ser indexadas separadamente ou não ser indexadas. A página de feriados de 60 dias que mais tarde confundiu o Ask Brightwell foi um exemplo não intencional da mesma fraqueza. Aquela página não era maliciosa, mas chegou aos clientes pelo mesmo caminho.
4.5 Exemplo resolvido (caso sintético da Brightwell)
O índice da Brightwell continha páginas públicas de produtos e uma planilha interna de "margens de fornecedores" que alguém havia enviado. Jonas pergunta ao Ask Brightwell "que desconto você pode dar no sofá Oslo?" e recebe a margem. Ele acrescenta metadados de público, reconstrói o índice de clientes apenas com documentos públicos e move os documentos internos para um índice exclusivo da equipe. A correção mudou onde os documentos ficam, e não como o modelo se comporta. Uma pergunta sobre descontos agora alcança apenas páginas públicas, qualquer que seja a formulação do cliente, porque a planilha de margens simplesmente não está no índice de clientes. Dizer ao modelo que não a revelasse teria deixado os dados a uma pergunta esperta de distância.
4.6 Erros e limites
Três erros são comuns: um único índice para todos os públicos; permissões impostas por instruções no prompt; e conjuntos de treino sem classificação. O vazamento das margens da Brightwell veio do primeiro erro e não teria sido corrigido pelo segundo: uma instrução no prompt não impede o modelo de repetir um texto que recebeu. O conjunto de treino do ReturnGuard, construído a partir de devoluções de clientes, deve ser classificado como dado pessoal, como sua fonte, para que seu armazenamento e seu acesso sigam as regras da tabela de pedidos. Cada erro transforma uma falha no tratamento de dados numa divulgação por meio do assistente.
Exercícios
- EX010 — Metadados. Proponha campos de metadados para os trechos da recuperação e como cada um é usado. Rubrica: 3 = dono, público, sensibilidade, origem e data, com seus usos; 2 = três; 1 = um ou dois; 0 = nenhum.
- EX011 — Vazamento. Explique o vazamento das margens e duas correções. Rubrica: 3 = índice misturado; índice separado, filtro antes do prompt; 2 = uma correção; 1 = vago; 0 = nenhum.
- EX012 — Classificação. Classifique cinco conjuntos de dados da Brightwell por sensibilidade. Rubrica: 3 = cinco corretos; 2 = quatro; 1 = dois ou três; 0 = menos.
Síntese
Os modelos de dados de IA incluem documentos e embeddings; a segurança depende de rotular os dados, filtrar por permissão antes da recuperação e nunca deixar que prompts substituam o controle de acesso.
Continue estudando — capítulo 04 de 30
← Capítulo 03 (rascunho) · Índice de capítulos do curso · Capítulo 05 (rascunho) →