Capítulo 9 — Segurança de IA e aprendizado de máquina: liderança e garantia
Mapa da aula
Aula 09 publicada. Mapa, exemplo, EX041.
flowchart TD
N0["9.1 Casos de garantia"]
N1["9.2 Relatando para cima"]
N2["9.3 Auditoria e red teaming"]
N3["9.4 Conduzindo decisões contestadas"]
N4["9.5 Mantendo a garantia atualizada"]
N5["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5
N5 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX041"]
Desenho lógico
flowchart LR
N0["9.1 Casos de garantia"]
N1["9.2 Relatando para cima"]
N2["9.3 Auditoria e red teaming"]
N3["9.4 Conduzindo decisões contestadas"]
N4["9.5 Mantendo a garantia atualizada"]
N5["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX041"]
[9.1 Casos de garantia]
|
v
[9.2 Relatando para cima]
|
v
[9.3 Auditoria e red teaming]
|
v
[9.4 Conduzindo decisões contestadas]
|
v
[9.5 Mantendo a garantia atualizada]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX041]
Objetivos de aprendizagem
Você vai (1) construir um caso de garantia (assurance case) para um sistema de IA; (2) relatar a postura de segurança de IA a executivos e conselhos; (3) planejar auditoria interna e red teaming independente; (4) conduzir equipes em decisões contestadas; e (5) manter a garantia atualizada à medida que os sistemas mudam.
9.1 Casos de garantia
Um caso de garantia é um argumento estruturado: uma afirmação ("o Copilot não consegue emitir reembolsos fora da política"), argumentos ("os reembolsos passam por um serviço de política independente do modelo") e evidências (testes, configuração, monitoramento). Cada afirmação deve declarar suas condições e a idade das evidências. Os pontos fracos ficam explícitos: o que tornaria a afirmação falsa? O caso de garantia de Amira para o teto de reembolso lista o comprometimento de e-mails de transportadoras como ponto fraco. Para o teto de reembolso, as evidências são a configuração do serviço de política, testes mostrando que 0 de 300 casos adaptativos chegaram ao pagamento e o monitoramento dos reembolsos reais. Registre a data de cada evidência e a versão de modelo que ela cobre, e revise o caso quando qualquer uma delas mudar.
9.2 Relatando para cima
Conselhos precisam de um quadro curto e honesto: quais sistemas de IA concentram mais risco, quanto desse risco está tratado, que incidentes ocorreram, que decisões dependem deles. Use poucas métricas, tendências e declarações simples do risco residual. Não esconda a incerteza atrás de painéis verdes. O relatório de uma página de Amira para o conselho, no exemplo resolvido abaixo, mostra os principais riscos com tendências, os incidentes, a cobertura de avaliação e um pedido de decisão. Mantenha o mesmo formato a cada trimestre, para que o conselho possa comparar. Mostre tendências de pelo menos quatro trimestres.
9.3 Auditoria e red teaming
A auditoria interna verifica se os processos funcionam como projetados: inventários mantidos, avaliações atualizadas, mudanças revisadas. Red teams independentes testam se os controles funcionam contra atacantes motivados. Ganguli et al. (arXiv:2209.07858) descrevem lições do red teaming de modelos de linguagem; defina o escopo dos red teams por objetivos (movimentar dinheiro, exfiltrar dados), e não por listas de prompts. Na Corvane, um red team poderia receber a tarefa de movimentar dinheiro pelo Dispatch Copilot ou extrair endereços de clientes, em vez de experimentar uma lista de prompts. Combine escopo, regras e forma de relato com o responsável pelo sistema antes de começar.
9.4 Conduzindo decisões contestadas
Equipes de produto querem velocidade; equipes de risco querem evidências. Conduza tornando a discordância concreta: qual dano, com que probabilidade, que evidência mudaria as opiniões. Ofereça caminhos reversíveis. Quando decidir contra alguém, diga por quê por escrito.
"""Lab A: spotting extraction-style abuse in a synthetic API log.
Flags clients whose query volume or input diversity is anomalous."""
import random, statistics
rng = random.Random(21)
log = []
for c in range(12):
for _ in range(rng.randint(40, 90)):
log.append((f"client{c:02d}", round(rng.gauss(0, 1), 1)))
for i in range(600): # synthetic scraper: many, grid-like inputs
log.append(("client99", round(-3 + 6*(i % 61)/60, 1)))
by = {}
for c, x in log: by.setdefault(c, []).append(x)
vol = {c: len(v) for c, v in by.items()}
med = statistics.median(vol.values()); mad = statistics.median(abs(v-med) for v in vol.values())
for c in sorted(by):
z = (vol[c]-med)/(1.4826*mad); uniq = len(set(by[c]))/len(by[c])
flag = "FLAG" if z > 3.5 else "ok"
print(f"{c} queries={vol[c]:3d} robust_z={z:6.2f} distinct_ratio={uniq:.2f} {flag}")
Saída esperada:
client00 queries= 50 robust_z= -0.34 distinct_ratio=0.56 ok
client01 queries= 64 robust_z= 0.45 distinct_ratio=0.52 ok
client02 queries= 81 robust_z= 1.41 distinct_ratio=0.44 ok
client03 queries= 46 robust_z= -0.56 distinct_ratio=0.52 ok
client04 queries= 52 robust_z= -0.22 distinct_ratio=0.48 ok
client05 queries= 40 robust_z= -0.90 distinct_ratio=0.57 ok
client06 queries= 42 robust_z= -0.79 distinct_ratio=0.57 ok
client07 queries= 87 robust_z= 1.74 distinct_ratio=0.48 ok
client08 queries= 56 robust_z= 0.00 distinct_ratio=0.52 ok
client09 queries= 50 robust_z= -0.34 distinct_ratio=0.62 ok
client10 queries= 68 robust_z= 0.67 distinct_ratio=0.50 ok
client11 queries= 89 robust_z= 1.85 distinct_ratio=0.42 ok
client99 queries=600 robust_z= 30.58 distinct_ratio=0.10 FLAG
Na Corvane, a decisão sobre a remarcação usou um caminho reversível: o projeto B com um teto de valor. Registre quem discordou e sobre o quê, para que a decisão possa ser revista quando as evidências mudarem, e convide a equipe discordante a propor as evidências que mudariam sua visão. Seja breve.
9.5 Mantendo a garantia atualizada
Cada atualização de modelo, mudança de prompt, nova ferramenta ou nova fonte de dados pode invalidar evidências. Vincule as afirmações a versões; reexecute as avaliações automaticamente; monitore sinais de produção (o laboratório sinaliza um cliente cujo volume de consultas é um ponto fora da curva pelo z robusto, sinal de possível extração ou abuso). Na Corvane, cada atualização de modelo ou nova ferramenta dispara uma reexecução do conjunto de avaliação do Copilot, e o caso de garantia registra as versões que suas evidências cobrem. Reexecute semanalmente a verificação de pontos fora da curva do laboratório sobre os logs reais de consultas e revise qualquer cliente sinalizado com o responsável pelo sistema.
9.6 Exemplo resolvido (caso sintético da Corvane)
O relatório trimestral de Amira para o conselho tem uma página: os cinco principais riscos de IA com setas de tendência, dois incidentes (a remarcação no depósito e uma colagem de dados em IA paralela), cobertura de avaliação de 4 de 5 sistemas de nível alto e um pedido de decisão: aprovar a elevação do teto de reembolso para €50, com base em 12.000 reembolsos reais com 2 indevidos confirmados. O caso de garantia do teto lista seu ponto fraco: o comprometimento de e-mails de transportadoras. O pedido de decisão é sustentado por evidências reais e declara seu ponto fraco, para que o conselho possa ponderá-lo. O relatório também mostra quais evidências são as mais recentes.
9.7 Erros e limites
Três erros são comuns: casos de garantia sem condições ou datas; painéis verdes que escondem o desconhecido; e Red teams restritos a listas de prompts. Cada erro torna a garantia desatualizada ou enganosa. Uma afirmação sem condições nem datas pode descrever um modelo que já não está em execução. Painéis verdes escondem o que é desconhecido, como o sistema de nível alto da Corvane ainda não avaliado. Red teams limitados a listas de prompts não conseguem encontrar ataques encadeados que movimentam dinheiro; defina o escopo por objetivos, como movimentar dinheiro ou extrair endereços de clientes. Verifique os três pontos nos seus casos de garantia e relatórios a cada trimestre.
Exercícios
- EX041 — Caso de garantia. Escreva uma cadeia afirmação–argumento–evidência para o controle de remarcação. Rubrica: 3 = afirmação, argumento, evidência, condições, ponto fraco; 2 = quatro; 1 = dois; 0 = nenhum.
- EX042 — Página do conselho. Esboce o roteiro do relatório de uma página para o conselho. Rubrica: 3 = riscos, tendências, incidentes, cobertura, decisões; 2 = quatro; 1 = dois; 0 = nenhum.
- EX043 — Escopo do red team. Escreva objetivos para um red team contra o Copilot. Rubrica: 3 = objetivos baseados em efeitos, regras de engajamento, fora do escopo; 2 = dois; 1 = lista de prompts; 0 = nenhum.
- EX044 — Laboratório de monitoramento. Interprete o ponto fora da curva no laboratório de monitoramento e proponha uma resposta. Rubrica: 3 = z robusto muito acima dos demais, investigar, limitar a taxa; 2 = dois; 1 = um; 0 = errado.
- EX045 — Decisão do teto. O conselho deve aprovar €50? Use os dados. Rubrica: 3 = taxa ≈0,017% com limite, apetite, ponto fraco; 2 = parcial; 1 = afirmação; 0 = nenhuma.
Síntese
A liderança em segurança de IA transforma evidências em casos de garantia, relata o risco com honestidade para cima, usa auditoria e red teams como verificações independentes e mantém as afirmações atualizadas à medida que os sistemas mudam.
Continue estudando — capítulo 09 de 12
← Capítulo 08 (rascunho) · Índice de capítulos do curso · Capítulo 10 (rascunho) →