Seguridad del Loop Autónomo|INEMA.CLUB-PRO

Clase 8 · 20 min

Auditoría de seguridad de tu loop

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
Portapapeles de inspección sobre un rack de servidor abierto, con una linterna encendida iluminando los cables.

En esta clase vas a

  1. 1El mapa completo: herramientas y controles por sesión
  2. 2Ocho ítems por sesión, cada uno con la clase que lo corrige
  3. 3El checklist en Markdown, generado y versionado en el proyecto
  4. 4Reauditar: con cada herramienta nueva, con cada máquina nueva

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.

01Mapa, auditoría, corrección

Haz clic en cada etapa.

Haz clic en cada bloque del diagrama para ver qué hace.

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.

02Ensayo: el loop antes y después

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.

Terminal · auditar los dos mapas
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: $?"
Archivo · kit/mapas/meu-loop.json (ficticio)
{
  "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" }
      }
    }
  ]
}
Ejemplo del repositorio
## 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.

03Práctica final

Audita tu loop hasta aprobar.

E21 · Ensayo de la auditoría

5 min

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.

E22 · El mapa completo de tu loop

30 min

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.

E23 · Hasta aprobar, con fecha

60 min

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.

04El mapa del curso

Cuatro entregas, en orden. Haz clic en un ejercicio para ver el "listo cuando".

Día 1Mapear

lecciones 1 y 2

2 ejercicios

Mapa del loop sin sesión autónoma con las tres patas.

Ver la clase
Día 2Separar

lección 3

3 ejercicios

Lector que devuelve solo campos y un canario en el loop.

Ver la clase
Días 3 y 4Bloquear

lecciones 4 a 6

3 ejercicios

deny por etapa, guardia activada y aislamiento probado.

Ver la clase
Día 5Compuerta y auditoría

lecciones 7 y 8

3 ejercicios

Lo irreversible por la compuerta y SEGURANCA.md aprobado y fechado.

Ver la clase
Al final del cursoUn loop en el que ninguna sesión autónoma junta las tres patas, cada etapa tiene solo el permiso que usa, el bloqueo se probó en tu máquina y lo irreversible te espera a ti.
23 ejercicios
Haz clic en un ejercicio para ver qué hacer y el "listo cuando".
  1. 1/5

    Mapear

    triade.py aprobando en la tríada y en la Regla de Dos.

  2. 2/5

    Separar

    Requiere el día 1. Ensayo de los tres agentes y canario ausente en tu salida.

  3. 3/5

    Bloquear

    Requiere el día 2. regra.py, provar-guarda.sh y prova-isolamento.sh con el wrapper de tu loop.

  4. 4/5

    Compuerta y auditoría

    Requiere todo lo anterior. Compuerta, systemd con tope y auditar.py hasta APROVADA.

  5. 5/5

    El curso completo

    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.

05Genera tu plan con fechas

Elige el inicio y cuánto tiempo tienes por semana. El plan lista los 23 ejercicios en orden.

06Prueba final

Pregunta 1 de 4

auditar.py aprobó tu mapa. ¿El loop está seguro?competencia

07El curso en tres frases

Ninguna sesión autónoma con las tresLa tríada y la Regla de Dos deciden cómo dividir el loop.
Compuerta probada, no prometidadeny, hook y sandbox, cada uno con su prueba en tu máquina.
Lo irreversible espera por tiCompuerta con hash, fuera del alcance del agente, y auditoría con fecha.

Continúa por aquí

Clase anteriorVolver al inicio del curso