provos/ironcurtain

A secure* runtime for autonomous AI agents. Policy from plain-English constitutions. (*https://ironcurtain.dev)

IronCurtain – 자율 AI 에이전트를 위한 보안 런타임

개요 – IronCurtain은 호스트 시스템을 안전하게 유지하면서 LLM 기반 에이전트(예: Claude Code, Goose, Codex)를 실행할 수 있는 연구용 프로토타입 플랫폼입니다. 에이전트가 수행할 수 있는 작업과 수행할 수 없는 작업을 명시하는 짧고 사람이 읽을 수 있는 헌법을 작성합니다. IronCurtain은 LLM 기반 컴파일러를 사용하여 해당 텍스트를 결정론적 정책으로 변환하고, 생성된 테스트 시나리오로 정책을 검증한 다음, 에이전트가 수행하는 모든 도구 호출에 대해 런타임에 규칙을 강제합니다.

중요성 – 현재의 에이전트 프레임워크는 모델에 완전한 사용자 권한(파일 시스템, 네트워크, 자격 증명)을 부여합니다. 단 한 번의 프롬프트 주입이나 드리프트로도 파괴적인 작업이 발생할 수 있습니다. IronCurtain의 모델 컨텍스트 프로토콜(MCP) 개입 및 V8/Docker 샌드박싱은 심층 방어를 제공합니다. 에이전트는 신뢰할 수 없는 것으로 간주되며, 모든 외부 영향은 허용, 거부 또는 사람에게 승격할 수 있는 정책 엔진에 의해 중재됩니다.

핵심 개념

  • 헌법 → 컴파일된 정책 – 의도를 평이한 영어로 작성합니다. 시스템은 MCP 도구에 주석을 달고, if/then 규칙을 컴파일하고, 동적 목록을 해결하고, 테스트 시나리오를 생성하고, 사용하기 전에 정책을 검증합니다.
  • 정책 엔진 – 샌드박스 외부에서 실행됩니다. 모든 MCP 요청(파일 시스템, git, 네트워크, 패키지 설치 등)이 이 엔진을 통과합니다.
  • 승격 UI – 규칙이 사람의 승인을 필요로 할 때, IronCurtain은 터미널 멀티플렉서(Ctrl-A 명령 모드) 또는 웹 UI에 오버레이를 표시하여 원키 승인/거부/화이트리스트 등록을 가능하게 합니다.
  • 두 가지 에이전트 모드 –
    1. 내장 에이전트 (코드 모드) – IronCurtain 자체 LLM이 V8 격리 환경에서 실행되는 TypeScript를 작성합니다.
    2. Docker 에이전트 모드 – 외부 LLM이 공용 네트워크가 없는 Docker 컨테이너 내에서 실행됩니다. 모든 API 호출은 MITM 프록시되고 모든 MCP 호출은 정책 검사를 거칩니다.
  • 페르소나 및 기술 – 명명된 정책 프로필(페르소나)은 헌법, 컴파일된 규칙, 작업 공간 및 의미론적 메모리를 번들로 묶습니다. SKILL.md 패키지는 모든 Docker 세션에 읽기 전용으로 마운트되어 에이전트에게 도메인별 지침을 제공할 수 있습니다.
  • 워크플로우 – 사전 구축된 다중 에이전트 파이프라인(예: 취약점 발견, 설계 및 코딩)은 각각 고유한 정책을 가진 여러 에이전트를 조정하고, 모니터링 및 사람의 게이트 제어를 위한 웹 UI를 노출합니다.

시작하기

  1. CLI를 전역으로 설치합니다: npm install -g @provos/ironcurtain (Node 24/26 필요).
  2. LLM API 키(ANTHROPIC_API_KEY, OPENAI_API_KEY 또는 GOOGLE_GENERATIVE_AI_API_KEY)를 내보냅니다.
  3. ironcurtain setup을 실행합니다. 마법사가 ~/.ironcurtain/config.json을 생성하고 GitHub 토큰, 웹 검색 공급자 등을 추가하도록 돕습니다.
  4. 권장되는 터미널 멀티플렉서를 실행합니다: ironcurtain mux. 에이전트가 PTY에 나타납니다. 승인이 필요한 도구 호출이 있으면 인라인 선택기가 팝업됩니다.
  5. (선택 사항) 정책 사용자 지정: ironcurtain customize-policy → 생성된 constitution-user.md 편집 → ironcurtain compile-policy를 통해 결정론적 규칙을 재구축합니다.

실행 모드

  • ironcurtain start "<prompt>" – 일회성 작업, 내장 에이전트 또는 --agent 플래그를 통한 Docker 에이전트.
  • ironcurtain mux – 승격 처리가 포함된 완전한 대화형 TUI.
  • ironcurtain daemon --web-ui – 예약된 작업 및 브라우저 기반 UI를 위한 백그라운드 서비스.
  • ironcurtain workflow start <name> "<goal>" – 정의된 다중 에이전트 워크플로우 시작.

상태 – 연구용 프로토타입으로 표시됩니다. API, 구성 형식 및 전체 아키텍처는 발전할 예정입니다. 이 프로젝트에는 CI, npm 게시 및 계속 증가하는 문서 세트(SANDBOXING.md, WORKFLOWS.md 등)가 포함되어 있습니다.

자세히 알아보기 – 공식 사이트: https://ironcurtain.dev ("보안이란 무엇을 의미하는가?" FAQ 포함). 저장소에는 자세한 설계 문서, 데모 GIF 및 워크플로우 검사를 위한 웹 UI가 포함되어 있습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트