OpenCyber Academy
Tecnólogo · Capítulo 4 · Português
Código do curso: OCA-089Capítulo 04: OCA-089-C004

Capítulo 4 — Modelos de dados

Ensino gratuito e aberto para quem deseja proteger pessoas e tecnologias. Não é preciso criar uma conta para estudar ou consultar as respostas.

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

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) →

Respostas comentadas

EX010. - dono: a quem perguntar sobre o conteúdo; - público (clientes/equipe): filtra a recuperação; - sensibilidade: bloqueia trechos restritos; - origem: procedência para auditorias e verificações de envenenamento; - data de atualização: remove conteúdo desatualizado.

EX011. As consultas dos clientes buscavam num índice misturado que incluía a planilha interna de margens, e o modelo a citou. Correções: um índice de clientes separado, só com documentos públicos, e a filtragem por público antes que os trechos entrem no prompt.

EX012. - Páginas de produtos: público. - Política de devoluções: público. - Margens de fornecedores: confidencial. - Pedidos e endereços de clientes: pessoal. - Dados de treino do ReturnGuard, derivados de pedidos de clientes: pessoal e confidencial.