Capítulo 5 — Estudo principal e validação independente
Mapa da aula
Aula 05 publicada. Mapa, exemplo, EX027.
flowchart TD
N0["5.1 Executar um estudo pré-registrado"]
N1["5.2 Ataque adaptativo sob um orçamento justo"]
N2["5.3 Análise"]
N3["5.4 Validação independente"]
N4["5.6 Atividades práticas"]
N5["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5
N5 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX027"]
Desenho lógico
flowchart LR
N0["5.1 Executar um estudo pré-registrado"]
N1["5.2 Ataque adaptativo sob um orçamento justo"]
N2["5.3 Análise"]
N3["5.4 Validação independente"]
N4["5.6 Atividades práticas"]
N5["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX027"]
[5.1 Executar um estudo pré-registrado]
|
v
[5.2 Ataque adaptativo sob um orçamento justo]
|
v
[5.3 Análise]
|
v
[5.4 Validação independente]
|
v
[5.6 Atividades práticas]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX027]
Objetivos de aprendizagem
Você vai (1) executar um estudo principal pré-registrado e manter um registro de desvios; (2) avaliar uma defesa sob ataque adaptativo com um orçamento justo; (3) analisar os resultados com comparações pareadas, intervalos e correção para testes múltiplos; (4) encomendar uma validação independente (red team, segunda implementação ou replicação externa); e (5) relatar o que as evidências sustentam e o que não sustentam.
5.1 Executar um estudo pré-registrado
Congele o protocolo: versão do modelo de ameaça, hipóteses, métricas, tamanhos de amostra, sementes, hashes dos modelos, modelos de prompt, orçamento de ataque e o script de análise. Guarde isso como um documento com data e hora — um commit datado num repositório ou um registro na sua instituição ou num registro público basta para a maioria dos veículos. Execute o estudo exatamente como foi congelado. Toda mudança (um nó que travou, um checkpoint de modelo que não carregou, um defeito num modelo de tarefa) entra num registro de desvios com data, razão e efeito esperado. Desvios são normais; escondê-los não é.
5.2 Ataque adaptativo sob um orçamento justo
A principal ameaça à validade em artigos de defesa é um adversário fraco. Para cada defesa, execute (a) os ataques estáticos usados nas linhas de base; (b) ataques que visam explicitamente o mecanismo da defesa — para uma defesa de separação, cargas que imitam os delimitadores do canal de instruções reservado, cargas que pedem ao modelo que repita conteúdo numa posição privilegiada, cargas de várias etapas que usam uma ferramenta permitida para preparar uma proibida; e (c) um ataque baseado em otimização ou em busca, quando o modelo de ameaça o permitir. Dê a toda defesa o mesmo orçamento (consultas, variantes de carga, computação) e relate o sucesso do ataque como função do orçamento, e não só num ponto: uma defesa que resiste a 20 tentativas, mas falha com 200, tem um significado de segurança diferente de outra que resiste a ambas. A orientação de arXiv:1902.06705 — verificar que mais esforço de ataque nunca reduz o sucesso e que ataques sem limite chegam a 100% onde deveriam — se aplica diretamente.
5.3 Análise
Use comparações pareadas quando as condições compartilham tarefas: as mesmas 900 tarefas sob a linha de base e sob a defesa. O bootstrap pareado do Capítulo 1 estima a redução da ASR com um intervalo. Quando testar várias hipóteses ou várias famílias de ataque, controle as descobertas falsas — o método de Holm–Bonferroni é simples e conservador. Relate tamanhos de efeito com intervalos, custos de utilidade nas mesmas tarefas e resultados por família, para que uma média não esconda uma família em que a defesa falha. Estratifique por modelo: uma defesa que ajuda um modelo e prejudica outro precisa dos dois números no resumo, não de um único número agregado.
5.4 Validação independente
As evidências de doutorado ficam mais fortes quando alguém que não é o autor tenta quebrá-las ou reproduzi-las. Três formas são práticas. Uma validação por red team: dê a uma equipe separada a defesa, a documentação e o orçamento, mas não as tarefas de teste lacradas, e peça a ASR máxima. Uma segunda implementação: outra pessoa implementa o método apenas a partir do texto do artigo; as diferenças revelam escolhas não documentadas. Uma replicação externa: um colaborador de outro laboratório executa os artefatos que você publicou. Combine com antecedência como os resultados serão relatados, inclusive se o red team vencer. A matriz do MITRE ATLAS é uma lista de verificação útil para a cobertura do red team, e o NIST AI 600-1 lista o red teaming entre as ações sugeridas para a gestão de riscos de IA generativa.
5.5 Exemplo resolvido (caso sintético do MAAL)
O protocolo congelado de Ana executou 900 tarefas × 4 condições × 5 sementes em dois modelos locais. Registro de desvios: um checkpoint não carregou na semente 3 e foi reexecutado depois de uma correção de driver (nenhum efeito esperado). Resultados (sintéticos): sob cargas estáticas, a ASR foi de 31% (sem defesa), 18% (filtro), 6% (lista de permissões) e 2,1% (separação + lista de permissões). Sob ataque adaptativo com 200 variantes por família de tarefas, a ASR passou a 44%, 37%, 11% e 5,8%. A redução pareada de separação + lista de permissões em relação à lista de permissões sozinha foi de 5,2 pontos (IC 95% 3,9–6,6) e sobreviveu à correção de Holm. O sucesso das tarefas caiu 2,4 pontos (H2 atendida). O red team independente, com o mesmo orçamento, chegou a 8,9% num dos modelos, encadeando uma ferramenta de busca permitida num resumo que ecoava instruções — uma família que Ana não havia previsto. Ela não a descartou: ela se tornou uma limitação nomeada e uma nova família de ataque no artigo.
O laboratório de inferência de pertencimento lembra que a validação independente também se aplica à medição: o sinal do "ataque" (AUC 0,60 com k = 1) quase desaparece com k = 25. Se a sua auditoria encontra vazamento depende tanto da configuração do modelo quanto do ataque.
"""Lab M: membership inference against an overfit 1-nearest-neighbour 'model'
that returns a confidence score. Synthetic records only; teaching model."""
import random, math
rng = random.Random(5)
def rec():
y = rng.random() < 0.5
return [rng.gauss(0.6 if y else -0.6, 1.0) for _ in range(4)], int(y)
members = [rec() for _ in range(150)]; nonmembers = [rec() for _ in range(150)]
def confidence(x, y, k):
# k-NN vote share for the true label, computed over the training set
d = sorted((sum((a-b)**2 for a, b in zip(x, m)), my) for m, my in members)
return sum(1 for _, my in d[:k] if my == y)/k
def auc(pos, neg):
s = sum((p > n) + 0.5*(p == n) for p in pos for n in neg)
return s/(len(pos)*len(neg))
for k in (1, 5, 25):
pos = [confidence(x, y, k) for x, y in members]
neg = [confidence(x, y, k) for x, y in nonmembers]
best = max(sum(p >= t for p in pos)/len(pos) - sum(n >= t for n in neg)/len(neg)
for t in sorted(set(pos + neg)))
print(f"k={k:2d} attack_auc={auc(pos, neg):.3f} best_advantage={best:.3f}")
Saída esperada:
k= 1 attack_auc=0.600 best_advantage=0.200
k= 5 attack_auc=0.521 best_advantage=0.073
k=25 attack_auc=0.520 best_advantage=0.060
5.6 Atividades práticas
- Congele o seu protocolo e abra um registro de desvios. 2. Escreva três ataques adaptativos que visem o mecanismo da sua defesa. 3. Redija um briefing de red team com orçamento, escopo, regras de engajamento e termos de relato. O seu protocolo deve listar versão do modelo de ameaça, hipóteses, métricas, tamanhos de amostra, sementes, hashes dos modelos, modelos de prompt, orçamento de ataque e o script de análise, com uma data. Os ataques adaptativos devem visar o modo como a sua defesa funciona, como fazem as cargas de Ana que imitam delimitadores e pedem repetição. O briefing do red team deve entregar a defesa e o orçamento, mas não as tarefas lacradas, e dizer com antecedência como os resultados serão relatados se o red team vencer.
5.7 Erros e limites
Cada um destes erros superestima a defesa:
- Dar à sua defesa um orçamento de ajuste maior do que o das linhas de base, o que torna a comparação injusta.
- Relatar um único ponto de orçamento, o que esconde se a defesa resiste tanto a 200 tentativas quanto a 20.
- Agregar resultados entre modelos ou famílias de ataque quando eles divergem, o que esconde um modelo ou uma família em que a defesa falha.
- Executar muitos testes e relatar apenas os significativos, o que ignora a multiplicidade que a correção de Holm trata.
- Tratar a incapacidade do red team de quebrar uma defesa como prova de segurança; um red team que falha mostrou apenas que as suas tentativas falharam, e o red team de Ana encontrou uma família que ela não tinha visto.
Exercícios
- EX027 — Registro de desvios. Escreva duas entradas de registro de desvios para problemas plausíveis de um estudo. Rubrica: 3 = data, mudança, razão e efeito esperado em ambas; 2 = uma completa; 1 = vago; 0 = nenhuma.
- EX028 — Ataques adaptativos. Proponha dois ataques adaptativos contra uma defesa que envolve o texto recuperado em delimitadores especiais. Rubrica: 3 = dois ataques que visam o mecanismo (falsificação de delimitador, eco/repetição, encadeamento de ferramentas), descritos com segurança; 2 = um; 1 = genérico; 0 = nenhum ou com detalhe operacional danoso.
- EX029 — Curva de orçamento. Explique por que a ASR deve ser relatada como uma curva em função do orçamento de ataque. Rubrica: 3 = mostra como a segurança se degrada e detecta ataques quebrados/monotonicidade; 2 = parcial; 1 = vago; 0 = errado.
- EX030 — Holm. Com valores-p de 0,004, 0,020 e 0,030 para três testes com α = 0,05, quais sobrevivem a Holm–Bonferroni? Rubrica: 3 = 0,004 (≤0,0167), 0,020 (≤0,025) e 0,030 (≤0,05) sobrevivem todos, com os passos mostrados; 2 = resposta certa, sem passos; 1 = parcial; 0 = errado.
- EX031 — Leitura do laboratório. No laboratório de MIA, quais são a AUC e a vantagem com k = 1 e com k = 25, e o que explica a mudança? Rubrica: 3 = 0,600/0,200 vs 0,520/0,060; k = 1 memoriza (cada membro é o seu próprio vizinho), k maior generaliza; 2 = só os números; 1 = vago; 0 = errado.
- EX032 — Resultado do red team. Como Ana deve relatar os 8,9% do red team? Rubrica: 3 = nos resultados principais e como limitação no nível do resumo, descrevendo a família num nível de abstração seguro e revisando as alegações; 2 = só uma menção; 1 = só no apêndice; 0 = omitido.
Síntese
Um estudo principal ganha confiança por meio de um protocolo congelado, um adversário justo e adaptativo, uma análise pareada e corrigida, e a tentativa de outra pessoa de quebrá-lo. O que o red team encontra faz parte da contribuição.
Continue estudando — capítulo 05 de 08
← Capítulo 04 (rascunho) · Índice de capítulos do curso · Capítulo 06 (rascunho) →