E21 · Ensayo de la auditoría
5 minEjecuta el bloque del ensayo y abre /tmp/ensaio-seg/checklist.md.
Listo cuando: AUDITORIA: 0/8 itens OK — REPROVADA con saída: 1, y AUDITORIA: 22/22 itens OK — APROVADA con saída: 0.
Clase 8 · 20 min
Todo lo que armó el curso cabe en un archivo: el mapa de las sesiones de tu loop, con las herramientas y los controles de cada una. auditar.py lee el mapa, revisa tríada, Regla de Dos, permisos, guardia, aislamiento probado, red, compuerta y topes, y guarda el checklist de lo que falta. Tú corriges, auditas de nuevo y marcas la próxima revisión.
Comenzar la clase
Objetivo: auditar tu loop con el mapa de las sesiones, generar el checklist de lo que falta y marcar la fecha de la próxima revisión.
Haz clic en cada etapa.
auditar.py revisa el mapa, no la máquina: quien garantiza que el mapa es verdadero eres tú, con las pruebas de las clases 4 a 7.
meu-loop.json es el corrector nocturno de la lección 2 en una sola sesión, con deny estrecho y sin prueba de aislamiento. meu-loop-seguro.json es el mismo loop después del 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
El mapa seguro tiene tres sesiones (leitor, corretor, publicar) y pasa los 22 ítems. El publicar junta las tres letras, pero con humano en cada acción.
Marcar "rede": false sin haber ejecutado prova-isolamento.sh, o "porta": true con un envío todavía directo en el código, hace que la auditoría apruebe un loop abierto. Cada control del mapa necesita al lado una prueba de las lecciones anteriores.
Audita tu loop hasta aprobar.
Ejecuta el bloque del ensayo y abre /tmp/ensaio-seg/checklist.md.
Listo cuando: AUDITORIA: 0/8 itens OK — REPROVADA con saída: 1, y AUDITORIA: 22/22 itens OK — APROVADA con saída: 0.
Agrega a ~/meu-mapa.json de las lecciones 1 y 2 el bloque controles de cada sesión, con las pruebas que ya ejecutaste: deny de la lección 4, guardia de la lección 5, prueba de aislamiento de la lección 6, compuerta y topes de la lección 7.
Listo cuando: K=~/projetos/loop-r-eng-seguranca-v72/kit; python3 $K/auditar.py ~/meu-mapa.json --md SEGURANCA.md imprime una línea AUDITORIA: y graba SEGURANCA.md en el proyecto.
Corrige un ítem a la vez, en el orden de la lista, rehaciendo la prueba de la lección indicada. Haz commit de SEGURANCA.md y pon la próxima auditoría en el calendario (el generador de abajo hace el .ics).
Listo cuando: K=~/projetos/loop-r-eng-seguranca-v72/kit; python3 $K/auditar.py ~/meu-mapa.json; echo $? → APROVADA y 0, y git log --oneline -1 -- SEGURANCA.md muestra el commit.
Cuatro entregas, en orden. Haz clic en un ejercicio para ver el "listo cuando".
lecciones 1 y 2
2 ejercicios
Mapa del loop sin sesión autónoma con las tres patas.
Ver la claselección 3
3 ejercicios
Lector que devuelve solo campos y un canario en el loop.
Ver la claselecciones 4 a 6
3 ejercicios
deny por etapa, guardia activada y aislamiento probado.
Ver la claselecciones 7 y 8
3 ejercicios
Lo irreversible por la compuerta y SEGURANCA.md aprobado y fechado.
Ver la clasetriade.py aprobando en la tríada y en la Regla de Dos.
Requiere el día 1. Ensayo de los tres agentes y canario ausente en tu salida.
Requiere el día 2. regra.py, provar-guarda.sh y prova-isolamento.sh con el wrapper de tu loop.
Requiere todo lo anterior. Compuerta, systemd con tope y auditar.py hasta APROVADA.
Mapea, separa, bloquea y pon la compuerta. Pasa a la siguiente entrega solo cuando el "listo cuando" de la anterior sea verdad.
Orden obligatorio: bloquear un loop mal mapeado protege la sesión equivocada.
Elige el inicio y cuánto tiempo tienes por semana. El plan lista los 23 ejercicios en orden.
Pregunta 1 de 4
auditar.py aprobó tu mapa. ¿El loop está seguro?competencia
Pregunta 2 de 4
¿Cuál es el orden del curso para cerrar un loop?competencia
Pregunta 3 de 4
¿Cuándo volver a auditar?
Pregunta 4 de 4
Una sesión junta A, B y C, y no se puede dividir. ¿Qué debe decir el mapa?
Elige una alternativa. La explicación aparece después de tu intento.