OpenCyber Academy
Técnico · Capítulo 14 · Português
Código do curso: OCA-066Capítulo 14: OCA-066-C014

Capítulo 14 — Segurança de IA e aprendizado de máquina: automação

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 14 publicada. Mapa, exemplo, EX053.

flowchart TD
  N0["14.1 Verificações de rotina"]
  N1["14.2 Testes no pipeline"]
  N2["14.3 Contenção automática segura"]
  N3["14.4 Protegendo a automação"]
  N4["14.4b Mantendo a automação"]
  N5["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5
  N5 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX053"]

Desenho lógico

flowchart LR
  N0["14.1 Verificações de rotina"]
  N1["14.2 Testes no pipeline"]
  N2["14.3 Contenção automática segura"]
  N3["14.4 Protegendo a automação"]
  N4["14.4b Mantendo a automação"]
  N5["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX053"]
[14.1 Verificações de rotina]
    |
    v
[14.2 Testes no pipeline]
    |
    v
[14.3 Contenção automática segura]
    |
    v
[14.4 Protegendo a automação]
    |
    v
[14.4b Mantendo a automação]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX053]

Objetivos de aprendizagem

Você vai (1) automatizar verificações de rotina de segurança de IA; (2) acrescentar testes de segurança aos pipelines de implantação; (3) automatizar etapas seguras de contenção; (4) manter segura a própria automação.

14.1 Verificações de rotina

Automatize, toda noite: verificações de hash dos arquivos de modelo; buscas por canários nos registros; contagens de chamadas de ferramentas por conta; documentos vencidos no índice; limites atingidos; custo por dia. Envie um relatório curto e alerte quando os limiares forem ultrapassados. O relatório noturno da Kestrel tem seis linhas. A verificação de hash dos arquivos de modelo cobre o LineWatch e qualquer modelo hospedado pela própria empresa. Uma busca por canários percorre as respostas do HelpBot do dia anterior. As reinicializações por conta geram alerta acima de 5 por dia, o limiar do script de Ana. Os artigos vencidos que ainda estão no índice são listados para seus responsáveis. As contas que atingiram o orçamento diário de tokens são nomeadas. O custo total do fornecedor é comparado com o da semana anterior, o que teria mostrado o fim de semana das 40.000 mensagens já no sábado de manhã.

14.2 Testes no pipeline

A cada mudança em prompts, modelos, fontes de recuperação, ferramentas ou configuração, o pipeline roda a bateria de testes na homologação e bloqueia a implantação se algum critério falhar (por exemplo, qualquer ação entre clientes ou vazamento de canário). Exceções exigem um aprovador nomeado e uma justificativa por escrito. O portão do HelpBot falha se acontecer qualquer uma das seguintes coisas na homologação: uma ação entre clientes em qualquer teste de agência, uma frase canário em qualquer resposta, um chamado ou uma reinicialização injetados na bateria de injeção, ou menos de 47 das 50 tarefas normais concluídas. O último critério protege os clientes contra uma correção que recusa tudo. Quando a ferramenta de senha do Wi-Fi foi reprovada no portão, ninguém pediu exceção; a verificação de titularidade foi acrescentada e o portão passou na execução seguinte.

14.3 Contenção automática segura

Algumas ações podem ser automáticas porque são seguras e reversíveis: limitar a taxa de uma conta cujo uso seja um valor muito discrepante; desativar uma única ferramenta quando as negações de política disparam; retirar da recuperação um documento que provoca muitas negações. Cada ação automática notifica a equipe de plantão e é registrada. Cada exemplo da Kestrel é reversível em minutos. Limitar a taxa de uma conta discrepante, como a que enviou 40.000 mensagens, a desacelera sem encerrá-la, e o plantão pode retirar o limite. Desativar a ferramenta de reinicialização quando as negações disparam deixa o HelpBot respondendo perguntas enquanto os chamados continuam funcionando. Retirar um documento que provoca muitas negações tira um artigo da recuperação até que seu responsável o revise. Encerrar contas ou apagar dados nunca é automático, porque nenhuma das duas coisas pode ser desfeita.

14.4 Protegendo a automação

Os scripts de automação precisam de credenciais; dê a eles só os direitos de que precisam, guarde os segredos de forma adequada e revise as mudanças nos scripts. Não deixe um assistente de programação com IA modificar testes de segurança sem revisão humana.

"""Lab H: integrity of model artefacts with SHA-256 manifests (stdlib only).
Creates synthetic 'artefact' bytes, records a manifest, then detects a
one-byte tampering and a swapped file. No real models are involved."""
import hashlib, json
files = {"model.bin": bytes(range(256)) * 40, "tokenizer.json": b'{"vocab": ["a", "b"]}',
         "config.yaml": b"layers: 4\nheads: 8\n"}
manifest = {n: hashlib.sha256(b).hexdigest() for n, b in files.items()}
print(json.dumps({k: v[:16] for k, v in manifest.items()}, indent=1))
received = dict(files)
tampered = bytearray(received["model.bin"]); tampered[5000] ^= 1
received["model.bin"] = bytes(tampered)
received["config.yaml"] = b"layers: 4\nheads: 8\ntrust_remote_code: true\n"
for n, b in sorted(received.items()):
    ok = hashlib.sha256(b).hexdigest() == manifest[n]
    print(f"{n:15s} {'OK' if ok else 'MISMATCH'}")

Saída esperada:

{
 "model.bin": "e96760a87768717b",
 "tokenizer.json": "f63d2ddabc61f2d9",
 "config.yaml": "e5bbb570ca0fcb87"
}
config.yaml     MISMATCH
model.bin       MISMATCH
tokenizer.json  OK

Os scripts noturnos da Kestrel rodam com uma conta dedicada que pode ler os registros, os metadados do índice e os arquivos de modelo e escrever apenas na pasta de relatórios; ela não pode publicar artigos nem implantar modelos. Suas credenciais ficam no cofre de segredos, como a credencial do roteador que Ana encontrou num arquivo de configuração na primeira semana. Mudanças na bateria de testes do HelpBot exigem um segundo revisor, porque enfraquecer um teste é o jeito mais fácil de fazer passar um portão que está falhando.

14.4b Mantendo a automação

Revise as verificações automatizadas a cada trimestre: os limiares ainda estão certos, os alertas ainda chegam a alguém e os scripts ainda rodam sobre as versões atuais? Falhas silenciosas da automação são comuns depois de atualizações. A primeira revisão trimestral de Ana descobriu que o alerta de reinicializações ainda era enviado por e-mail a um colega que tinha mudado de equipe, então durante um mês ninguém o tinha visto. A correção foi enviar os alertas para a escala de plantão, e não para pessoas. A mesma revisão conferiu se o script de hash ainda lia o novo caminho do modelo do LineWatch depois de uma mudança de diretório numa atualização.

14.5 Exemplo resolvido (caso sintético da Kestrel)

Ana automatiza três verificações noturnas e um portão no pipeline. Um mês depois, a verificação noturna de hash relata uma divergência no arquivo de modelo do LineWatch (como as linhas MISMATCH do laboratório). O registro de implantação mostra que uma atualização aprovada não tinha atualizado o hash armazenado. Era uma lacuna de processo, não um ataque — ela acrescenta a atualização do hash ao script de implantação, para que os dois não possam divergir. A resposta seguiu a regra para uma divergência sem explicação: tratá-la como possível adulteração até que se prove o contrário. O LineWatch ficou no contêiner em execução enquanto Ana comparava o hash do novo arquivo com o da versão aprovada e lia o registro de implantação. Só quando os dois coincidiram com a atualização aprovada ela registrou a causa como uma lacuna de processo. Vincular a atualização do manifesto à implantação eliminou a lacuna sem enfraquecer a verificação.

14.6 Erros e limites

Três erros são comuns: ações automáticas difíceis de reverter; portões no pipeline com exceções silenciosas fáceis; e contas de automação com direitos amplos. Ações automáticas difíceis de reverter, como encerrar uma conta, poderiam punir um cliente por um alerta falso. Um portão com uma exceção silenciosa fácil teria deixado a ferramenta de senha do Wi-Fi ir para a produção sem a verificação de titularidade, já que um prazo é sempre um motivo para abrir exceção. Uma conta de automação com direitos amplos se torna a credencial mais valiosa da Kestrel, porque quem a controla pode mudar testes, modelos e artigos de uma só vez.

Exercícios

Síntese

A automação torna as verificações rotineiras e a contenção rápida, desde que as ações sejam reversíveis, os portões sejam firmes e o próprio acesso da automação seja limitado.

Continue estudando — capítulo 14 de 18

← Capítulo 13 (rascunho) · Índice de capítulos do curso · Capítulo 15 (rascunho) →

Respostas comentadas

EX053. - Divergência de hash do modelo: qualquer uma. - Canário nos registros: qualquer ocorrência. - Reinicializações por conta acima de 5 por dia. - Documentos vencidos ainda indexados: qualquer um. - Custo diário acima de 150% da mediana de 30 dias.

EX054. Critérios: 0 ações entre clientes; 0 vazamentos de canário; 0 reinicializações sem confirmação na bateria reservada; pelo menos 47 das 50 tarefas normais concluídas. Exceções exigem o nome do responsável pelo serviço e uma justificativa por escrito, ambos registrados.

EX055. Não permitir a exclusão automática de documentos do índice ou de dados de clientes, nem o desligamento automático do serviço inteiro. São ações difíceis de reverter ou de alto impacto, então pessoas devem decidir.

EX056. Tratar como possível adulteração até ser explicada: 1. Bloquear recarregamentos do arquivo. 2. Compará-lo com o artefato confiável. 3. Conferir os registros de implantação e de acesso. 4. Retomar só quando a causa estiver confirmada.