Skip to content
KitploitKITPLOIT
도구블로그
Log in
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ironcurtain — 자율 AI 에이전트를 위한 보안* 런타임. 일반 영어로 작성된 헌법에서 정책을 수립합니다. (*https://ironcurtain.dev) | Kitploit
도구/GitHubGitHub/provos/ironcurtain
Container SecurityDynamic Analysis (Sandboxing)Vulnerability AnalysisFuzzingLearning & EducationAI Security
GitHubprovos/ironcurtain

ironcurtain

자율 AI 에이전트를 위한 보안* 런타임. 일반 영어로 작성된 헌법에서 정책을 수립합니다. (*https://ironcurtain.dev)

저장소 보기
57277251일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트

IronCurtain

CI npm License Website

자율 AI 에이전트를 위한 안전한* 런타임으로, 보안 정책은 사람이 읽을 수 있는 헌법에서 파생됩니다.

*누군가 "안전한"이라고 쓴다면 즉시 의심해야 합니다. 안전하다는 것은 무슨 의미일까요?

[!WARNING] 연구용 프로토타입. IronCurtain은 AI 에이전트가 실제로 유용할 만큼 안전해지도록 만드는 방법을 탐구하는 초기 단계 연구 프로젝트입니다. API, 구성 형식 및 아키텍처는 변경될 수 있습니다. 기여와 피드백을 환영합니다.

데모

IronCurtain mux 데모: 명령 모드의 신뢰된 입력으로 git clone 및 git push의 자동 승인 활성화

에이전트는 저장소를 클론하고 변경 사항을 푸시하라는 요청을 받습니다. git_clone과 git_push 모두 정책 엔진에 의해 에스컬레이션되지만, 자동 승인기가 자동으로 승인합니다. 명령 모드(Ctrl-A)에서 사용자의 신뢰된 입력이 명확한 의도를 제공했기 때문에 수동 /approve가 필요하지 않았습니다.

문제

자율 AI 에이전트는 사용자를 대신하여 파일을 관리하고, git 명령을 실행하고, 메시지를 보내고, API와 상호작용할 수 있습니다. 그러나 오늘날의 에이전트 프레임워크는 파일시스템, 자격 증명 및 네트워크에 대한 전체 액세스와 같이 사용자와 동일한 권한을 에이전트에 부여합니다. 보안 연구자들은 이를 환경 권한(ambient authority) 이라고 부르며, 이는 단 한 번의 프롬프트 인젝션이나 다중 턴 드리프트(multi-turn drift)로 인해 에이전트가 파일을 삭제하고, 데이터를 유출하고, 악성 코드를 푸시할 수 있음을 의미합니다.

일반적인 대응은 에이전트를 좁은 샌드박스로 제한하거나(유용성을 제한), 사용자에게 모든 작업을 승인하도록 요청하는 것(자율성을 제한) 중 하나입니다. 어느 쪽도 만족스럽지 않습니다.

접근 방식

IronCurtain은 다른 길을 택합니다: 보안 의도를 평범한 영어로 표현하면, 시스템이 강제 실행 방법을 파악하게 하세요.

헌법(constitution) 을 작성하세요. 이는 에이전트가 수행할 수 있는 것과 없는 것을 설명하는 짧은 문서입니다. IronCurtain은 LLM 파이프라인을 사용하여 이를 결정적 보안 정책으로 컴파일하고, 생성된 테스트 시나리오에 대해 컴파일된 규칙을 검증한 다음, 런타임에 모든 도구 호출에 대해 정책을 적용합니다. 그 결과는 사용자가 자연어로 정의한 경계 내에서 자율적으로 작업할 수 있는 에이전트입니다.

핵심 아이디어:

  • 에이전트는 신뢰할 수 없습니다. IronCurtain은 LLM이 프롬프트 인젝션이나 드리프트로 손상될 수 있다고 가정합니다. 보안은 모델이 "착하게 행동하는 것"에 의존하지 않습니다.
  • 영어 입력, 강제 실행 출력. 사용자가 의도를 작성하면("승인 없이 파괴적인 git 작업 금지"), 시스템은 이를 결정적 규칙으로 컴파일하고 런타임에 추가 LLM 개입 없이 강제합니다.
  • 의미적 개입(Semantic interposition). 에이전트에게 원시 시스템 액세스를 부여하는 대신, 모든 상호작용은 MCP 서버(파일시스템, git 등)를 통해 이루어집니다. 모든 도구 호출은 정책 엔진을 통과하며, 정책 엔진은 허용(allow), 거부(deny), 또는 승인을 위해 사용자에게 에스컬레이션(escalate) 할 수 있습니다.
  • 심층 방어(Defense in depth). 에이전트 코드는 호스트에 직접 접근할 수 없는 V8 격리(isolate)에서 실행됩니다. 유일한 탈출 경로는 의미 있는 MCP 도구 호출을 통해서이며, 모든 호출은 정책에 대해 검사됩니다.

아키텍처

IronCurtain은 서로 다른 신뢰 모델을 가진 두 가지 세션 모드를 지원합니다:

  • 내장 에이전트(코드 모드) — IronCurtain 자체 LLM 에이전트가 V8 샌드박스에서 실행되는 TypeScript 스니펫을 작성합니다. IronCurtain은 에이전트, 샌드박스 및 정책 엔진을 제어합니다. 모든 도구 호출은 구조화된 MCP 요청으로 샌드박스를 빠져나와 정책 엔진(허용 / 거부 / 에스컬레이션)을 통과한 다음에만 실제 MCP 서버에 도달합니다.

  • Docker 에이전트 모드 — 외부 에이전트(Claude Code, Goose 등)가 네트워크 액세스가 없는 Docker 컨테이너 내부에서 실행됩니다. IronCurtain은 외부 효과를 중재합니다: LLM API 호출은 TLS 종료 MITM 프록시(호스트 허용 목록, 가짜-실제 키 교환)를 통과하고, MCP 도구 호출은 동일한 정책 엔진을 통과하며, 패키지 설치(npm/PyPI)는 검증 레지스트리 프록시를 통해 이루어집니다.

두 모드 모두 에이전트는 신뢰할 수 없습니다. 보안은 모델이 지침을 따르는 것에 의존하지 않습니다. 경계에서 강제됩니다.

다이어그램, 계층별 신뢰 분석 및 macOS 플랫폼 참고 사항이 포함된 전체 아키텍처는 SANDBOXING.md를 참조하세요.

빠른 시작

사전 요구 사항

  • Node.js 22, 24 또는 26 — IronCurtain이 테스트하는 짝수 메이저 라인(isolated-vm에 필요; 24와 26은 사전 빌드된 바이너리를 설치하고, Node 22는 설치 시 소스에서 컴파일하므로 C/C++ 툴체인이 필요합니다). 홀수 라인(23, 25)은 실행되지만 테스트되지 않았습니다 — ironcurtain doctor가 경고합니다.
  • Docker — 필수는 아니지만, 가장 강력한 격리를 제공하는 Docker 에이전트 모드에는 강력히 권장됩니다. macOS 26+ (Apple silicon)에서는 Apple container가 대체 백엔드로 작동합니다(컨테이너당 VM; 해당 서비스가 실행 중일 때 자동으로 사용됨 — ironcurtain config의 containerRuntime 참조)
  • 최소 하나의 LLM 제공업체(Anthropic, Google, OpenAI)용 API 키

설치

글로벌 CLI 도구로 사용하는 경우(최종 사용자):```bash npm install -g @provos/ironcurtain

**소스에서 (개발):**```bash
git clone https://github.com/provos/ironcurtain.git
cd ironcurtain
npm install

일회성 설정

1. API 키를 설정하세요:```bash export ANTHROPIC_API_KEY=sk-ant-...

You can also place keys in a `.env` file in the project root (loaded automatically via `dotenv`), or add them to `~/.ironcurtain/config.json` via `ironcurtain config`. Environment variables take precedence over config file values. Supported: `ANTHROPIC_API_KEY`, `GOOGLE_GENERATIVE_AI_API_KEY`, `OPENAI_API_KEY`.

**2. Run the first-start wizard** (run this explicitly before using the recommended mux path; it also runs automatically on first non-mux `ironcurtain start`):```bash
ironcurtain setup

GitHub 토큰 설정, 웹 검색 제공자, 모델 선택 및 기타 설정을 안내합니다. 선택한 내용으로 ~/.ironcurtain/config.json을 생성합니다.

IronCurtain 실행

IronCurtain은 개발자 경험에 맞춘 기본 정책을 제공합니다 — 읽기 전용 작업은 허용되고, 변경(쓰기, 푸시, PR 생성)은 인간의 승인을 받도록 상향 조정됩니다. 설정 후 바로 사용할 수 있습니다.

터미널 멀티플렉서 (권장)

IronCurtain을 사용하는 권장 방법입니다. IronCurtain이 모든 도구 호출을 정책 엔진을 통해 중재하는 동안, 에이전트의 대화형 TUI(Claude Code 또는 Goose)의 모든 기능을 단일 터미널에서 사용할 수 있습니다.```bash ironcurtain mux

**주요 기능:**

- **전체 에이전트 TUI** — 에이전트는 네트워크 접근이 없는 Docker 컨테이너 내부의 PTY에서 실행됩니다. 마치 로컬에서 실행되는 것처럼 정확히 상호작용할 수 있습니다.
- **인라인 승격 처리** — 도구 호출에 승인이 필요하면 승격 선택기가 뷰포트에 단일 키 동작(승인/거부/화이트리스트용 a/d/w)으로 오버레이됩니다. `/approve+ N`을 사용하여 도메인 또는 경로를 세션의 나머지 동안 화이트리스트에 추가할 수 있습니다.
- **신뢰된 사용자 입력** — 명령 모드(Ctrl-A)에서 입력한 텍스트는 컨테이너에 들어가기 전에 호스트 측에서 캡처됩니다. 이는 자동 승인기가 사용할 수 있는 검증된 의도 신호를 생성합니다. 예를 들어 "push my changes to origin"을 입력하면 이후의 `git_push` 승격이 자동 승인됩니다.
- **탭 관리** — 여러 동시 세션 생성(`/new`), 전환(`/tab N`, Alt-1..9), 종료(`/close`)가 가능합니다. 여러 mux 인스턴스를 병렬로 실행할 수 있습니다.

전체 안내는 [DEVELOPER_GUIDE.md](https://github.com/provos/ironcurtain/blob/master/DEVELOPER_GUIDE.md)를 참조하세요: 입력 모드, 신뢰된 입력 보안 모델, 승격 워크플로우, 키보드 참조.

### Non-mux 세션

빠른 일회성 작업, 스크립트 또는 로컬 내장 에이전트를 명시적으로 원할 때는 `ironcurtain start`를 사용하세요. 일반적인 대화형 Docker 에이전트 작업에는 `ironcurtain mux`를 사용하세요.```bash
ironcurtain start "Summarize the files in ./src"     # Single-shot mode
ironcurtain start -w ./my-project "Fix the tests"    # Single-shot workspace mode
ironcurtain start --agent builtin                    # Local builtin REPL, no Docker
ironcurtain start --persona my-assistant "Check my email"  # Use a persona

기타 실행 모드

IronCurtain은 또한 세션 재개(--resume <session-id>), 레거시 raw PTY/디버그 모드, 모바일 승인을 위한 Signal 메시징 전송, 예약된 cron 작업을 위한 데몬 모드를 지원합니다. 데몬은 브라우저 기반 모니터링 및 에스컬레이션 처리를 위한 선택적 웹 UI (--web-ui)를 제공합니다. 자세한 내용은 RUNNING_MODES.md를 참조하세요.

멀티 에이전트 워크플로우

IronCurtain은 구조화된 워크플로우를 통해 여러 AI 에이전트를 오케스트레이션합니다. 번들로 제공되는 취약점 탐지 워크플로우는 계층화된 하네스 파이프라인(Tier 1 격리 함수 → Tier 2 다중 구성 요소 → Tier 3 전체 빌드)을 통해 네이티브 코드의 메모리 안전성 및 논리 버그를 추적하며, libFuzzer/AFL++ 커버리지 게이팅, 가설 기반 discover/triage 상태, 그리고 최종 인간 보고서 검토 게이트를 포함합니다. 설계 및 코딩 워크플로우는 계획 / 설계 / 구현 / 검토 주기를 실행하며, 여기에도 인간 게이트가 있습니다. 각 에이전트는 역할별 정책 경계를 가진 자체 Docker 컨테이너에서 실행됩니다. 엔진은 상태 전환, 아티팩트 전달, 크래시-재개 체크포인팅을 자동으로 관리합니다. 오픈 소스이며, 전적으로 사용자 머신에서 실행되고, 헌법 기반 정책 엔진을 통해 에이전트별 보안 정책을 적용하며, 모든 Docker 컨테이너화 에이전트와 작동합니다 — 코딩 작업 측면에서 Amazon Kiro 및 Google Jules와 비슷한 범위를 제공하지만, 최고 수준의 보안과 확장 가능한 워크플로우 정의 형식을 갖추고 있습니다.

IronCurtain 웹 UI의 취약점 탐지 상태 머신

웹 UI는 워크플로우 실행을 위한 의도된 인터페이스입니다. 데몬을 시작하고, 출력된 URL을 연 다음, Workflows 페이지에서 실행을 진행하세요. 위의 상태 머신 그래프는 실시간이며, 에이전트 메시지 타임라인은 마크다운 렌더링으로 스트리밍됩니다. 게이트 리뷰에는 작업 공간 + 아티팩트 브라우저가 포함되며, 과거 실행은 계속 목록에 남습니다.```bash ironcurtain daemon --web-ui

스크립팅, 자동화, 디버깅을 위한 CLI 액세스가 제공됩니다:```bash
ironcurtain workflow start vuln-discovery \
  "Find memory-safety bugs in libical" --workspace ~/src/libical
ironcurtain workflow start design-and-code \
  "Build a REST API with authentication"

전체 문서는 WORKFLOWS.md에서 확인하세요.

정책 사용자 지정

기본 정책은 일반적인 개발에 잘 작동하지만, 워크플로에 맞게 조정할 수 있습니다:

도구 다운로드