Capítulo 21 — Segurança de IA e aprendizado de máquina: modelos de sistema
Mapa da aula
Aula 21 publicada. Mapa, exemplo, EX061.
flowchart TD
N0["21.1 Componentes"]
N1["21.2 Fluxos de dados e confiança"]
N2["21.3 Ações privilegiadas"]
N3["21.4 Uso do modelo"]
N4["21.4b Componentes de treinamento"]
N5["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5
N5 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX061"]
Desenho lógico
flowchart LR
N0["21.1 Componentes"]
N1["21.2 Fluxos de dados e confiança"]
N2["21.3 Ações privilegiadas"]
N3["21.4 Uso do modelo"]
N4["21.4b Componentes de treinamento"]
N5["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX061"]
[21.1 Componentes]
|
v
[21.2 Fluxos de dados e confiança]
|
v
[21.3 Ações privilegiadas]
|
v
[21.4 Uso do modelo]
|
v
[21.4b Componentes de treinamento]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX061]
Objetivos de aprendizagem
Você vai (1) modelar um sistema de IA com componentes, fluxos de dados e níveis de confiança; (2) marcar entradas não confiáveis e ações privilegiadas; (3) rastrear como o conteúdo não confiável chega às decisões; e (4) usar o modelo para planejar controles.
21.1 Componentes
Liste usuários, interfaces, lógica da aplicação, o modelo, repositórios de recuperação, ferramentas, serviços externos, pipelines de treinamento, registro de modelos e logs. Sistemas de IA escondem componentes: um "chatbot simples" pode incluir um modelo de embeddings, um repositório vetorial e várias ferramentas. O Ask Lumen ilustra isso. Os funcionários o descreviam como "o chatbot", mas a lista de Rina tinha onze componentes, incluindo o modelo de embeddings usado na busca de documentos, o repositório de documentos indexados das clínicas, a ferramenta de agendamento, a ferramenta de horários de funcionamento e o log de conversas. Cada componente é um lugar onde um atacante pode agir ou dados podem vazar.
21.2 Fluxos de dados e confiança
Para cada fluxo, marque o nível de confiança de seu conteúdo. Mensagens de pacientes: autenticadas, mas com conteúdo não confiável. Documentos das clínicas: internos, confiança média. Envios de parceiros: externos, baixa confiança. Resultados de ferramentas: dependem da ferramenta. Qualquer conteúdo de baixa confiança que chegue ao modelo pode influenciar suas saídas. No diagrama de Rina, os envios de parceiros são desenhados em vermelho, já que uma organização externa controla seu conteúdo. O diagrama mostrou que um fluxo vermelho chegava à ferramenta de agendamento por meio do modelo, e é por isso que a confirmação e a verificação de política ficam nesse caminho, e não mais cedo na conversa.
21.3 Ações privilegiadas
Marque as ações com impacto: marcar, cancelar, enviar mensagens, alterar registros. Desenhe os caminhos das entradas de baixa confiança até essas ações; cada caminho precisa de um controle fora do modelo. No Ask Lumen, as ações privilegiadas são marcar e cancelar consultas. Rina rastreou três caminhos até elas: a partir das mensagens de pacientes, dos documentos das clínicas e dos envios de parceiros. Os três passavam pelo modelo, então os três ficaram cobertos por um único controle externo, a verificação de política com confirmação do paciente, em vez de três filtros separados que poderiam, cada um, deixar algo escapar.
21.4 Uso do modelo
O modelo de sistema orienta a análise de ameaças, a posição dos controles e os testes. Mantenha-o versionado; atualize-o quando ferramentas, fontes de dados ou modelos mudarem. Rina guarda o diagrama no mesmo repositório que o código do Ask Lumen, de modo que uma mudança que acrescente uma ferramenta precisa também atualizar o diagrama na mesma revisão. Quando a ferramenta de horários foi alterada, a revisão incluiu a mudança no diagrama, e o revisor pôde ver que o fluxo de comentários não confiáveis havia sido removido. Um diagrama desatualizado dá um falso conforto.
21.4b Componentes de treinamento
Os modelos de sistema costumam parar na aplicação implantada, mas os pipelines de treinamento também importam. Mostre de onde vêm os dados de treinamento, quem pode acrescentá-los ou rerrotulá-los, onde os modelos são armazenados e como chegam à produção. Os riscos de envenenamento e backdoor vivem nesses caminhos, e a mesma marcação de níveis de confiança se aplica: as edições de um terceirizado de rotulagem têm confiança menor que a revisão de um especialista interno. No DocSort, essa visão mostrou a equipe terceirizada entre o arquivo de cartas e a tarefa de treinamento. Nada registrava qual terceirizado rotulou qual carta, então um lote envenenado não podia ser rastreado, uma lacuna que o próximo capítulo fecha.
21.5 Exemplo resolvido (caso sintético da LCH)
O modelo de sistema do Ask Lumen feito por Rina mostrou um fluxo esquecido: o chatbot podia ler a página web pública da clínica por meio de uma ferramenta "verificar horário de funcionamento", e essa página incluía uma seção de comentários. Os comentários eram conteúdo público não confiável que fluía para o modelo. A LCH alterou a ferramenta para ler um arquivo estruturado de horários em vez da página inteira. Ninguém havia listado a fonte de dados da ferramenta porque ela parecia inofensiva; desenhar o fluxo tornou o risco visível. Ler um arquivo estruturado também tornou as respostas mais confiáveis, já que os funcionários o editam diretamente.
21.6 Erros e limites
Três erros são comuns: modelos sem níveis de confiança; ferramentas e suas fontes de dados ausentes; e nunca atualizar o modelo. Um diagrama sem níveis de confiança não consegue mostrar onde os controles devem ficar, porque todos os fluxos parecem iguais. Deixar de fora as ferramentas esconde os caminhos até as ações privilegiadas, como no caso da ferramenta de horários que lia comentários públicos. Um diagrama que não é atualizado junto com o código descreve um sistema que já não existe, então as revisões baseadas nele deixam escapar os novos riscos introduzidos desde que foi desenhado. A regra de Rina vincula as atualizações do diagrama à revisão de código.
Exercícios
- EX061 — Níveis de confiança. Atribua níveis de confiança a cinco entradas do Ask Lumen. Rubrica: 3 = cinco sensatos; 2 = quatro; 1 = dois; 0 = nenhum.
- EX062 — Caminhos. Descreva um caminho de conteúdo de baixa confiança até uma ação privilegiada no DocSort. Rubrica: 3 = texto de carta elaborado → modelo → encaminhamento ao departamento errado; 2 = parcial; 1 = vago; 0 = nenhum.
- EX063 — Correção dos comentários. Por que substituir a leitura da página por um arquivo estruturado foi eficaz? Rubrica: 3 = remove os comentários não confiáveis da entrada do modelo; restringe os dados aos campos necessários; 2 = parcial; 1 = vago; 0 = errado.
Síntese
Um modelo de sistema com níveis de confiança mostra exatamente onde o conteúdo não confiável pode alcançar ações com consequências — o mapa para todos os controles seguintes.
Continue estudando — capítulo 21 de 40
← Capítulo 20 (rascunho) · Índice de capítulos do curso · Capítulo 22 (rascunho) →