E21 · Ensaio da auditoria
5 minRode o bloco do ensaio e abra /tmp/ensaio-seg/checklist.md.
Pronto quando: AUDITORIA: 0/8 itens OK — REPROVADA com saída: 1, e AUDITORIA: 22/22 itens OK — APROVADA com saída: 0.
Aula 8 · 20 min
Tudo o que o curso montou cabe num arquivo: o mapa das sessões do seu loop, com as ferramentas e os controles de cada uma. O auditar.py lê o mapa, confere tríade, Regra de Dois, permissões, guarda, isolamento provado, rede, porta e tetos, e grava o checklist do que falta. Você corrige, audita de novo e marca a próxima revisão.
Começar a aula
Objetivo: auditar o seu loop com o mapa das sessões, gerar o checklist do que falta e marcar a data da próxima revisão.
Clique em cada etapa.
O auditar.py confere o mapa, não a máquina: quem garante que o mapa é verdadeiro é você, com as provas das aulas 4 a 7.
meu-loop.json é o corretor noturno da aula 2 numa sessão só, com deny estreito e sem prova de isolamento. meu-loop-seguro.json é o mesmo loop depois do curso.
K=~/projetos/loop-r-eng-seguranca-v72/kit python3 $K/auditar.py $K/mapas/meu-loop.json --md /tmp/ensaio-seg/checklist.md; echo "saída: $?" python3 $K/auditar.py $K/mapas/meu-loop-seguro.json | tail -1; echo "saída: $?"
{
"loop": "corretor noturno de bugs (primeira versão, fictícia)",
"sessoes": [
{
"nome": "corretor",
"ferramentas": [
{ "nome": "ler o texto da issue", "terceiros": true },
{ "nome": "ler o repositório privado e o .env", "privado": true },
{ "nome": "editar e rodar comandos", "muda_estado": true },
{ "nome": "git push e comentar no PR", "saida": true, "muda_estado": true }
],
"controles": {
"motor": "claude",
"deny": ["Bash(rm -rf *)"],
"hooks": [],
"rede": true,
"tetos": { "tempo": "2h" }
}
}
]
}## corretor FALHA tríade letal → corte uma perna: leitor sem dados nem saída que devolve só campos (aula 1) FALHA Regra de Dois → no máximo 2 de A/B/C por sessão, ou nova sessão de contexto limpo, ou humano (aula 2) FALHA permissões (deny mínimo) → acrescente ao deny: rm, push, rede, env (kit/permissoes/executar.json, aula 4) FALHA hook de guarda → ligue a guarda.py em PreToolUse (aula 5) FALHA isolamento provado → rode o prova-isolamento.sh com o mesmo wrapper do loop e anote a data (aula 6) FALHA rede x dados privados → sessão que lê dado privado roda sem rede (aula 6) FALHA irreversível pede humano → envio, push e apagar passam pela porta.py (aula 7) FALHA tetos de tempo e memória → timeout + MemoryMax em cada ciclo (aula 7; curso 2, aula 6) AUDITORIA: 0/8 itens OK — REPROVADA checklist gravado em /tmp/ensaio-seg/checklist.md saída: 1 AUDITORIA: 22/22 itens OK — APROVADA saída: 0
O mapa seguro tem três sessões (leitor, corretor, publicar) e passa nos 22 itens. O publicar junta as três letras, mas com humano em cada ação.
Marcar "rede": false sem ter rodado o prova-isolamento.sh, ou "porta": true com um envio ainda direto no código, faz a auditoria aprovar um loop aberto. Cada controle do mapa precisa de uma prova das aulas anteriores ao lado.
Auditar o seu loop até aprovar.
Rode o bloco do ensaio e abra /tmp/ensaio-seg/checklist.md.
Pronto quando: AUDITORIA: 0/8 itens OK — REPROVADA com saída: 1, e AUDITORIA: 22/22 itens OK — APROVADA com saída: 0.
Acrescente ao ~/meu-mapa.json das aulas 1 e 2 o bloco controles de cada sessão, com as provas que você já rodou: deny da aula 4, guarda da aula 5, prova de isolamento da aula 6, porta e tetos da aula 7.
Pronto quando: K=~/projetos/loop-r-eng-seguranca-v72/kit; python3 $K/auditar.py ~/meu-mapa.json --md SEGURANCA.md imprime uma linha AUDITORIA: e grava SEGURANCA.md no projeto.
Corrija um item por vez, na ordem da lista, refazendo a prova da aula indicada. Commite o SEGURANCA.md e ponha a próxima auditoria no calendário (o gerador abaixo faz o .ics).
Pronto quando: K=~/projetos/loop-r-eng-seguranca-v72/kit; python3 $K/auditar.py ~/meu-mapa.json; echo $? → APROVADA e 0, e git log --oneline -1 -- SEGURANCA.md mostra o commit.
Quatro entregas, na ordem. Clique num exercício para ver o "pronto quando".
aulas 4 a 6
3 exercícios
deny por etapa, guarda ligada e isolamento provado.
Ver a aulaaulas 7 e 8
3 exercícios
Irreversível pela porta e SEGURANCA.md aprovado e datado.
Ver a aulatriade.py aprovando na tríade e na Regra de Dois.
Requer o dia 1. Ensaio dos três agentes e canário ausente na sua saída.
Requer o dia 2. regra.py, provar-guarda.sh e prova-isolamento.sh com o wrapper do seu loop.
Requer tudo antes. Porta, systemd com teto e auditar.py até APROVADA.
Mapear, separar, travar e pôr a porta. Só passe para a próxima entrega quando o "pronto quando" da anterior for verdade.
Ordem obrigatória: travar um loop mal mapeado protege a sessão errada.
Escolha o início e quanto tempo você tem por semana. O plano lista os 23 exercícios na ordem.
Pergunta 1 de 4
O auditar.py aprovou o seu mapa. O loop está seguro?competência
Pergunta 2 de 4
Qual a ordem do curso para fechar um loop?competência
Pergunta 3 de 4
Quando reauditar?
Pergunta 4 de 4
Uma sessão junta A, B e C, e não dá para dividir. O que o mapa precisa dizer?
Escolha uma alternativa. A explicação aparece depois da sua tentativa.