
Um motor de busca de espaço de estados de propósito geral de IA, validado inicialmente em testes de penetração autônomos.
Cairn é um mecanismo de resolução de problemas de propósito geral.
Ele não define papéis, nem fluxos de trabalho. Dados uma origem e um objetivo, ele busca um caminho através de um espaço de estados desconhecido.
Testes de Penetração em IA são um desses problemas — e um já comprovado.
Testes de penetração são fundamentalmente uma busca direcionada através de um espaço de estados quase infinito:
Essa estrutura não é exclusiva dos testes de penetração. Pesquisa de vulnerabilidades, prova matemática, desafios CTF — qualquer problema com um ponto de partida claro, uma condição de sucesso clara e um caminho desconhecido no meio compartilha a mesma forma.
O Cairn foi construído para essa classe de problemas. Testes de penetração são o primeiro domínio no qual foi validado.
O mecanismo é baseado em uma Arquitetura de Quadro Negro com um grafo explícito de fato-intenção. Três primitivas são tudo o que ele precisa:
| Conceito | Significado |
|---|---|
| Fato | Uma constatação objetiva e confirmada escrita no quadro |
| Intenção | Uma direção de exploração declarada, ainda não executada |
| Dica | Julgamento humano injetado a qualquer momento; absorvido pelos agentes na próxima leitura |
O grafo cresce da origem em direção ao objetivo. Cada novo Fato é um degrau; cada Intenção é um passo no desconhecido.
Os Agentes de Trabalho executam um ciclo OODA — Observar o grafo completo, Orientar-se para o estado atual, Decidir as próximas intenções, Agir para explorar — e escrevem suas descobertas como novos Fatos. Os trabalhadores não têm papéis fixos. As tarefas são geradas em tempo de execução a partir do estado atual do grafo, não a partir de descrições de cargo predefinidas.
Os agentes coordenam exclusivamente através do quadro compartilhado (Estigmergia). Sem comunicação direta. Sem silos de informação.
https://github.com/user-attachments/assets/e557b1ac-dda4-41cb-87dd-9d56dbf05133
Três tipos de tarefa, todos executados pelo mesmo Trabalhador:
| Tarefa | O que faz | Saída |
|---|---|---|
| Inicializar | No início do projeto, tenta resolver o problema diretamente | Fato + possível Conclusão |
| Raciocinar | Lê o grafo completo: o objetivo foi alcançado? O que deve ser explorado a seguir? | Conclusão / novas Intenções / nenhuma operação |
| Explorar | Reivindica uma Intenção, executa a exploração, relata descobertas | Um Fato |
Arquitetura do sistema:
┌──────────────────────────────────┐
│ Servidor Cairn │
│ Fatos + Intenções + Dicas │
└─────────────────┬────────────────┘
│
API de Leitura/Escrita
│
┌─────────────────┴────────────────┐
│ Despachante │
│ Agenda tarefas, gerencia │
│ contêineres, escreve protocolo │
└──────────┬───────────────┬───────┘
│ │
┌───────────────┴──┐ ┌──────┴──────────────┐
│ Contêiner Trabalh.│ │ Contêiner Trabalh. │
│ (Projeto A) │ │ (Projeto B) │
│ ┌────┐ ┌────┐ │ │ ┌────┐ ┌────┐ │
│ │ Tr.│ │ Tr.│ │ │ │ Tr.│ │ Tr.│ │
│ └────┘ └────┘ │ │ └────┘ └────┘ │
└──────────────────┘ └─────────────────────┘
Servidor Cairn mantém apenas a consistência do grafo.
Despachante Cairn lê o grafo, agenda tarefas, inicia e encerra contêineres de trabalho, e é o único escritor do protocolo. Cada projeto recebe seu próprio Contêiner de Trabalhador; vários Agentes de Trabalho são executados simultaneamente dentro dele. Os Agentes de Trabalho apenas recebem um prompt e retornam saída estruturada.
Backends de trabalhador suportados: Claude Code, Codex e Pi.
Hackathon Tencent Cloud · Desafio de Testes de Penetração em IA · 2ª Edição
610 equipes · 1.345 participantes · principais universidades e empresas de segurança em toda a China
| Métrica | Valor |
|---|---|
| Problemas resolvidos | 54 / 54 — única equipe a AK |
| Classificação final | 3º lugar |
O sistema nunca havia sido testado antes da competição. O pipeline completo entrou em operação pela primeira vez às 4 da manhã no dia da competição. Nenhum treinamento, nenhum ajuste, nenhuma ferramenta específica de domínio. Zero ferramentas MCP, zero RAG, zero papéis de agente predefinidos.
Pré-requisitos
Ambos os métodos de configuração exigem a imagem do contêiner do trabalhador:
docker pull --platform=linux/amd64 ghcr.io/oritera/cairn-worker-container:latest
Crie sua configuração local do despachante e preencha seus endpoints de LLM e chaves de API: