Mapa da aula
Aula 01 publicada. Mapa, exemplo, EX001.
flowchart TD
N0["1.1 Por que a integridade é um método, não uma corte"]
N1["1.2 Alegações de segurança e alegações de capacidade"]
N2["1.3 Métodos que sobrevivem à revisão"]
N3["1.4 Autorização, dados e divulgação"]
N4["1.6 Atividades práticas"]
N5["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5
N5 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX001"]
Desenho lógico
flowchart LR
N0["1.1 Por que a integridade é um método, não uma corte"]
N1["1.2 Alegações de segurança e alegações de capacidade"]
N2["1.3 Métodos que sobrevivem à revisão"]
N3["1.4 Autorização, dados e divulgação"]
N4["1.6 Atividades práticas"]
N5["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX001"]
[1.1 Por que a integridade é um método, não uma corte]
|
v
[1.2 Alegações de segurança e alegações de capacidade]
|
v
[1.3 Métodos que sobrevivem à revisão]
|
v
[1.4 Autorização, dados e divulgação]
|
v
[1.6 Atividades práticas]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX001]
Objetivos de aprendizagem
Você vai (1) explicar por que a pesquisa em segurança de IA é excepcionalmente exposta a erro de medição, vazamento de dados e dano de uso dual; (2) separar alegações de segurança de alegações de capacidade e enunciar cada uma de forma que possa ser falseada; (3) desenhar uma avaliação com um modelo de ameaça declarado, métricas pré-especificadas e um adversário adaptativo; (4) aplicar as regras de autorização, proteção de dados e divulgação responsável que vinculam a pesquisa de segurança sobre modelos e serviços de IA; e (5) relatar a incerteza com intervalos em vez de números isolados.
1.1 Por que a integridade é um método, não uma cortesia
A integridade de pesquisa em segurança de IA não é uma lista de hábitos educados; é o conjunto de procedimentos que tornam um resultado verdadeiro fora do laboratório onde foi produzido. A área tem um histórico documentado de resultados que não sobreviveram ao contato com um adversário mais forte. Athalye, Carlini e Wagner (arXiv:1802.00420) mostraram que sete de nove defesas aceitas numa conferência de ponta dependiam de gradientes ofuscados: a defesa não tornava o modelo robusto, apenas quebrava a otimização do atacante. Quando o ataque foi adaptado, a maioria das defesas caiu. Carlini e colegas escreveram então On Evaluating Adversarial Robustness (arXiv:1902.06705), uma lista de verificação que transforma essa lição em método: declarar o modelo de ameaça, usar ataques adaptativos, relatar o orçamento do ataque, verificar que ataques mais fortes nunca se saem pior do que os mais fracos e publicar o código. Arp et al. (arXiv:2010.09470) catalogaram dez armadilhas do aprendizado de máquina em segurança computacional — viés de amostragem, imprecisão de rótulos, bisbilhotagem de dados (data snooping), correlações espúrias, seleção enviesada de parâmetros, linhas de base inadequadas, falácia da taxa-base, avaliação apenas em laboratório, modelo de ameaça inadequado e medidas de desempenho inadequadas — e as encontraram disseminadas em artigos de veículos de ponta. Kapoor e Narayanan (arXiv:2207.07048) mostraram que o vazamento entre dados de treino e de avaliação inflou resultados em muitas áreas científicas que usaram aprendizado de máquina. Lipton e Steinhardt (arXiv:1807.03341) descreveram "tendências preocupantes" mais amplas: não distinguir explicação de especulação, fontes de ganho pouco claras e uso indevido da matemática.
Um pesquisador de doutorado deve tratar esses artigos como a descrição do modo de falha padrão. Se você não fizer nada de especial, o seu resultado provavelmente será otimista.
1.2 Alegações de segurança e alegações de capacidade
Uma alegação de capacidade diz o que um sistema consegue fazer ("o detector sinaliza 94% dos documentos injetados"). Uma alegação de segurança diz o que um adversário não consegue fazer em condições declaradas ("nenhum atacante adaptativo com acesso de caixa-preta e 1.000 consultas obtém mais de 5% de sequestro de ferramentas"). As alegações de segurança são universalmente quantificadas sobre os adversários, e é por isso que são frágeis: um único contraexemplo as refuta. Escreva toda alegação em três partes: o adversário (objetivos, conhecimento, capacidades, orçamento), o sistema (modelo, versão, configuração, ferramentas, dados) e a propriedade, com sua métrica e seu limiar. O NIST AI 100-2 E2025 organiza os ataques a IA preditiva e generativa por objetivo do atacante (disponibilidade, integridade, privacidade e, para sistemas generativos, habilitação de uso indevido), conhecimento (caixa-branca, cinza, preta), capacidade (controle dos dados de treino, controle do modelo, acesso por consultas, controle de recursos) e etapa do ciclo de vida; use o vocabulário dele para que os revisores consigam situar a sua alegação.
1.3 Métodos que sobrevivem à revisão
Cinco hábitos carregam a maior parte do peso. Pré-especificação: escreva hipóteses, métricas, conjuntos de dados e regras de parada antes de olhar os resultados de teste, e registre toda mudança posterior. Separação: mantenha um conjunto de teste lacrado que nenhum ajuste jamais toca; elimine itens quase idênticos entre as partições, o que importa muito para dados de linguagem coletados da web. Adversários adaptativos: para toda defesa, pergunte como reagiria um atacante que conhece a defesa, e construa esse ataque. Linhas de base fortes: compare com o melhor método simples, não com um espantalho. Incerteza: relate intervalos de confiança, número de sementes e variância. Uma taxa de sucesso de ataque de 3 em 20 (15%) tem um intervalo de Wilson de 95% de cerca de 5% a 36% — largo demais para ordenar duas defesas.
"""Lab S: reporting attack-success rates honestly: Wilson intervals,
seed variation and a paired bootstrap. Synthetic trial outcomes only."""
import math, random
def wilson(k, n, z=1.96):
p = k/n; d = 1 + z*z/n
c = (p + z*z/(2*n))/d; h = z*math.sqrt(p*(1-p)/n + z*z/(4*n*n))/d
return c - h, c + h
for k, n in ((3, 20), (30, 200), (300, 2000)):
lo, hi = wilson(k, n); print(f"successes={k}/{n} rate={k/n:.3f} wilson95=[{lo:.3f}, {hi:.3f}]")
# five seeds of a synthetic defence evaluation: per-seed attack success rate
rates = []
for seed in range(5):
r = random.Random(seed); rates.append(sum(r.random() < 0.12 for _ in range(200))/200)
m = sum(rates)/5; sd = math.sqrt(sum((x-m)**2 for x in rates)/4)
print("per-seed rates:", " ".join(f"{x:.3f}" for x in rates), f"mean={m:.3f} sd={sd:.3f}")
# paired bootstrap: baseline vs defence on the same 300 synthetic prompts
r = random.Random(42)
base = [r.random() < 0.30 for _ in range(300)]
defn = [b and r.random() < 0.6 for b in base] # defence blocks ~40% of successes
diffs = []
for _ in range(2000):
idx = [r.randrange(300) for _ in range(300)]
diffs.append(sum(base[i] for i in idx)/300 - sum(defn[i] for i in idx)/300)
diffs.sort()
print(f"baseline_asr={sum(base)/300:.3f} defended_asr={sum(defn)/300:.3f} "
f"reduction_ci95=[{diffs[50]:.3f}, {diffs[1949]:.3f}]")
Saída esperada:
successes=3/20 rate=0.150 wilson95=[0.052, 0.360]
successes=30/200 rate=0.150 wilson95=[0.107, 0.206]
successes=300/2000 rate=0.150 wilson95=[0.135, 0.166]
per-seed rates: 0.110 0.130 0.135 0.105 0.145 mean=0.125 sd=0.017
baseline_asr=0.350 defended_asr=0.190 reduction_ci95=[0.120, 0.203]
O laboratório mostra a mesma taxa de 15% em três tamanhos de amostra. Só a maior amostra sustenta uma alegação com duas casas decimais. Ao longo de cinco sementes, a taxa varia entre 10,5% e 14,5%, então um resultado de semente única poderia enganar. O bootstrap pareado estima a redução que uma defesa obtém nos mesmos prompts, que é a comparação que realmente interessa, e o seu intervalo exclui o zero.
1.4 Autorização, dados e divulgação
A pesquisa de segurança em IA toca sistemas, dados e a segurança de outras pessoas. Teste apenas sistemas que são seus ou que você tem autorização por escrito para testar, com um escopo que nomeie modelos, endpoints, contas, limites de taxa e datas. Os termos de serviço de APIs de modelos hospedados costumam restringir algumas formas de teste; leia-os e pergunte ao provedor em caso de dúvida. Dados pessoais em prompts, conjuntos de treino ou registros estão sujeitos à lei de proteção de dados (por exemplo, o GDPR na UE); minimize, pseudonimize e obtenha a aprovação de um comitê de ética quando houver participantes humanos ou dados deles. Quando encontrar uma fraqueza num produto implantado, use a divulgação coordenada: notifique o fornecedor em privado, combine um prazo e publique sem detalhes operacionais que ajudariam principalmente os atacantes. A revisão de uso dual deve ser explícita: para cada artefato (código, prompts, conjuntos de dados, pesos de modelo), pergunte quem se beneficia mais da publicação, defensores ou atacantes, e se uma publicação escalonada ou controlada muda a resposta.
Nota para o leitor brasileiro. No Brasil, o tratamento de dados pessoais em pesquisa é regido pela Lei Geral de Proteção de Dados Pessoais (LGPD, Lei nº 13.709/2018), fiscalizada pela Autoridade Nacional de Proteção de Dados (ANPD); a lei tem disposições específicas para órgãos de pesquisa, mas elas não dispensam a minimização, a pseudonimização e a aprovação ética descritas acima.
1.5 Exemplo resolvido (caso sintético do MAAL)
O primeiro rascunho de alegação de Ana era "a nossa defesa de separação impede a injeção de prompt". O seu orientador o reescreveu: Adversário: um terceiro que controla o texto de até um documento recuperado por tarefa, conhece o desenho da defesa (à maneira de Kerckhoffs), não tem os pesos do modelo e pode tentar 200 variantes de carga por família de tarefas. Sistema: um modelo local de pesos abertos numa sandbox com três ferramentas (busca, resumo, e-mail para endereços de uma lista de permissões), modelo de prompt fixo v1.3. Propriedade: taxa de chamadas de ferramenta não autorizadas (qualquer chamada não pedida pelo usuário) em 600 tarefas reservadas, com limite superior do intervalo de 95% abaixo de 2%. A reescrita é falseável, nomeia um orçamento e vincula a alegação a uma versão. Ela também expõe a parte difícil: "conhece o desenho da defesa" significa que Ana precisa construir ataques adaptativos contra o seu próprio método.
1.6 Atividades práticas
- Pegue um artigo recente de segurança de IA que você admira e reescreva a sua alegação principal na forma adversário–sistema–propriedade. 2. Aplique a lista de armadilhas de Arp et al. ao seu último experimento. 3. Redija um plano de autorização e de dados de uma página para a sua bancada de testes de doutorado. Para a primeira atividade, use como modelo a reescrita do MAAL: nomeie o conhecimento e o orçamento do adversário, vincule o sistema a uma versão e dê à propriedade uma métrica e um limiar. Se o artigo não disser o suficiente para preencher uma parte, registre isso como uma lacuna do artigo. Para a segunda, marque cada uma das dez armadilhas como presente, ausente ou desconhecida, com uma frase de evidência. Para a terceira, nomeie modelos, endpoints, dados e datas, e diga quem aprova.
1.7 Erros e limites
Cada um destes erros faz um resultado parecer mais forte do que é:
- Relatar a melhor de muitas execuções como "o" resultado, o que esconde a dispersão que o Laboratório S mostra entre as sementes.
- Ajustar prompts ou limiares no conjunto de teste, o que o transforma em dados de treino.
- Avaliar uma defesa apenas contra ataques projetados antes de ela existir; essa defesa não enfrentou o adversário adaptativo do modelo de ameaça de Ana.
- Tratar "nenhum ataque encontrado" como prova de segurança, quando isso pode significar apenas que a busca foi fraca.
- Publicar strings de exploração funcionais contra um produto em produção antes que o fornecedor possa responder, o que prejudica os usuários antes que exista uma correção.
Exercícios
- EX001 — Reescrita da alegação. Reescreva "o nosso filtro torna os chatbots seguros contra jailbreaks" como uma alegação de segurança falseável. Rubrica: 3 = adversário com conhecimento e orçamento, sistema com versão, propriedade com métrica e limiar; 2 = uma parte vaga; 1 = duas partes ausentes; 0 = inalterada ou insegura.
- EX002 — Gradientes ofuscados. Em duas frases, explique por que uma defesa que quebra o cálculo do gradiente do atacante não é evidência de robustez. Rubrica: 3 = nomeia falha do ataque versus robustez do modelo e o remédio (ataque adaptativo/estilo BPDA ou sem gradiente); 2 = ideia sem remédio; 1 = vago; 0 = errado.
- EX003 — Intervalo. Usando o laboratório, diga o que você pode e o que não pode alegar a partir de 3/20 sucessos. Rubrica: 3 = intervalo ≈0,05–0,36, não é possível ordenar defesas com poucos pontos de diferença, é preciso n maior; 2 = só o intervalo; 1 = só a estimativa pontual; 0 = errado.
- EX004 — Armadilhas. Nomeie três das dez armadilhas de Arp et al. e dê uma salvaguarda para cada uma. Rubrica: 3 = três corretas com salvaguardas; 2 = três sem salvaguardas; 1 = uma ou duas; 0 = nenhuma.
- EX005 — Vazamento. Descreva como prompts quase duplicados entre as partições de treino e de teste inflam a pontuação de um detector de jailbreak, e um teste para isso. Rubrica: 3 = mecanismo mais teste de deduplicação/hash ou de sobreposição de n-gramas; 2 = só o mecanismo; 1 = vago; 0 = errado.
- EX006 — Escopo. Liste cinco campos que uma autorização para testar um modelo hospedado deve conter. Rubrica: 3 = sistemas/endpoints, métodos, datas, limites de taxa/dados, contatos e condições de parada; 2 = quatro; 1 = dois ou três; 0 = nenhum ou inseguro.
- EX007 — Uso dual. Para um conjunto de dados de 5.000 cargas de injeção bem-sucedidas, proponha uma decisão de publicação e justifique-a. Rubrica: 3 = pondera o benefício para defensores e atacantes, propõe publicação controlada/escalonada ou redação, menciona a divulgação ao fornecedor; 2 = decisão com razões parciais; 1 = só a decisão; 0 = publicação pública incondicional de explorações ativas sem raciocínio.
Síntese
A integridade em segurança de IA é operacional: alegações falseáveis, dados de teste lacrados, adversários adaptativos, incerteza honesta e trabalho autorizado e divulgado. Essas são as ferramentas que tornam confiável o restante do doutorado.
Continue estudando — capítulo 01 de 08
← Página do curso · Índice de capítulos do curso · Capítulo 02 (rascunho) →