출처

개요

Cairn은 시작점과 목표는 주어졌지만 그 사이의 해결 경로를 알 수 없는 문제를 상태 공간 탐색으로 풀려는 범용 AI 문제 해결 엔진이다. 핵심 구조는 공유 블랙보드에 객관적 발견인 Fact, 아직 실행하지 않은 탐색 방향인 Intent, 사람이 주입하는 판단인 Hint를 기록하는 fact-intent 그래프다. Agent Worker는 고정된 역할 없이 OODA 루프로 그래프를 읽고 다음 탐색을 실행하며, Worker끼리는 공유 보드를 통해 협업한다. 원문은 침투 테스트가 첫 검증 도메인이며 2026년 Tencent Cloud Hackathon에서 54개 문제를 모두 해결하고 최종 3위에 올랐다고 소개한다.

핵심 포인트

  • Fact-Intent-Hint 그래프: Fact는 확인된 발견, Intent는 미실행 탐색 방향, Hint는 사람이 언제든 추가할 수 있는 판단이다. 그래프는 origin에서 goal을 향해 확장된다.
  • 공유 보드 기반 협업: Worker끼리 직접 통신하지 않고 공유 보드만 읽고 쓰는 Stigmergy 방식으로 협업한다. 각 Worker는 Observe, Orient, Decide, Act의 OODA 루프를 반복한다.
  • 세 가지 Worker 작업: Bootstrap은 시작 시 직접 해결을 시도하고, Reason은 그래프를 읽어 Complete·새 Intent·no-op을 결정하며, Explore는 Intent를 실행해 Fact를 보고한다.
  • 실패 수정과 탐색 기록: 원문 예시에서는 Twig SSTI 원격 코드 실행을 탐색하는 과정에서 앞선 Fact의 잘못된 판단을 정정하고 실제 플래그 파일 위치를 새 Fact로 기록한다.
  • 서버·디스패처·컨테이너 구조: Server는 그래프 일관성을 유지하고, Dispatcher는 작업 스케줄링과 컨테이너 관리를 담당하며, 프로젝트별 Worker Container 안에서 여러 Agent Worker가 실행된다. Worker 백엔드로 Claude Code, Codex, Pi를 지원한다.
  • 설치 조건과 실행 방식: macOS 또는 Linux, Python 3.12 이상, Docker가 필요하다. 워커 컨테이너 이미지를 받은 뒤 Docker Compose 또는 uv run으로 서버와 디스패처를 실행할 수 있으며, 실제 LLM 없이 회귀 테스트만 돌리는 명령도 제공한다.
  • 라이선스와 사용 제한: GNU AGPLv3로 공개됐고 상업적·독점 환경에서 AGPL 의무 없이 사용하려면 별도 상업용 라이선스가 필요하다. 침투 테스트와 보안 평가에는 명확한 사전 허가가 있는 환경만 사용해야 한다고 README가 명시한다.

왜 중요한가

Cairn은 침투 테스트에 특화된 고정 워크플로우보다, 목표를 향해 탐색 방향을 계속 생성하고 검증하는 상태 공간 탐색 구조를 전면에 둔 사례다. Fact와 Intent를 분리해 기록하면 여러 Worker의 탐색 결과와 잘못된 판단 수정 과정을 하나의 그래프에서 추적할 수 있다. 이런 공유 상태와 작업 스케줄링 구조는 moc-ai-agents-orchestration에서 다루는 에이전트 오케스트레이션, 그리고 외부 도구 연결을 위한 mcp와 함께 비교해 볼 만하다. 다만 원문의 해커톤 성과와 README의 설명은 Cairn의 특정 검증 결과를 보여주는 것이므로, 다른 보안 환경의 성능이나 일반적 자율 침투 테스트 능력으로 확대 해석해서는 안 된다.

후속 링크 및 키워드