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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
agentbox — 오픈소스 샌드박스형 AI 에이전트 런타임 — gVisor/Docker 격리, 자격 증명 금고, 불변 감사 로그. CVE-2026-25253 이후 구축됨. | Kitploit
도구/GitHubGitHub/siyad01/agentbox
Cloud Infrastructure SecurityContainer SecurityEncryption/Decryption ToolsSecurity VirtualizationDevSecOpsIdentity & Access Management (IAM)
GitHubsiyad01/agentbox

agentbox

오픈소스 샌드박스형 AI 에이전트 런타임 — gVisor/Docker 격리, 자격 증명 금고, 불변 감사 로그. CVE-2026-25253 이후 구축됨.

저장소 보기
3개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

🛡️ AgentBox

AI 에이전트를 위한 오픈소스 샌드박스 런타임

AI 에이전트를 안심하고 실행하세요. 모든 에이전트는 자체 권한 범위, 자격 증명 금고, 감사 추적, 킬 스위치를 갖습니다.

Build License: Apache 2.0 Go Version Tests Platform


AgentBox가 존재하는 이유

2026년 1월 27일, CVE-2026-25253은 에이전틱 AI 시스템에 부여된 최초의 CVE가 되었습니다. OpenClaw의 치명적인 WebSocket 하이재킹 취약점으로 인해 노출된 모든 인스턴스 — localhost에만 바인딩된 인스턴스까지 포함 — 에 대해 원클릭 원격 코드 실행이 가능해졌습니다.

같은 주, ClawHavoc 캠페인은 OpenClaw의 마켓플레이스에 341개 이상의 악성 스킬을 침투시켰습니다. ClawHub에서 설치된 모든 스킬은 OpenClaw 자체와 동일한 권한 — 전체 디스크 접근, OAuth 토큰, API 키 — 으로 실행되었습니다. 샌드박스도, 감사 추적도, 킬 스위치도 없었습니다.

"ClawHub에서 스킬을 설치하면 OpenClaw 자체와 동일한 리소스에 접근할 수 있습니다. 기본적으로 스킬 간 샌드박스 격리가 없습니다." — DEV Community 보안 분석, 2026년 4월

수치로 보는 현황:

  • 2026년에만 OpenClaw에서 138개 이상의 CVE
  • 82개국에 걸쳐 135,000개 이상의 노출된 인스턴스
  • 확인된 악성 스킬 341개 (전체 레지스트리의 12%)
  • 평문으로 노출된 에이전트 API 토큰 150만 개
  • Microsoft: "표준 개인 또는 기업 머신에서 실행하는 것은 적절하지 않습니다."

AgentBox는 구조적 해결책입니다. 패치가 아니라 런타임입니다.


AgentBox가 하는 일

실행하는 모든 에이전트는 다음을 얻습니다:

root@kitploit:~
AgentBox 이전                    AgentBox 이후
─────────────────                  ──────────────
에이전트 → 전체 디스크 ❌               에이전트 → 허용된 경로만 ✅
에이전트 → 전체 네트워크 ❌             에이전트 → 허용된 호스트만 ✅
에이전트 → 원시 비밀값 ❌             에이전트 → 범위 제한 토큰 ✅
감사 추적 없음 ❌                  모든 작업 기록 ✅
킬 스위치 없음 ❌                  <100ms 내 종료 ✅
스킬이 root로 실행됨 ❌              커널 격리 샌드박스 ✅

빠른 시작

root@kitploit:~
# 설치
go install github.com/siyad01/agentbox/cmd/agentbox@latest

# 실행 전 매니페스트 검증
agentbox validate manifests/email-sorter.yaml

# 샌드박스에서 에이전트 실행
agentbox run --manifest manifests/email-sorter.yaml python agent.py

# 에이전트가 수행한 작업 확인
agentbox audit --log logs/email-sorter-audit.log

# 로그가 변조되지 않았는지 검증
agentbox verify logs/email-sorter-audit.log

# 비밀값 관리
agentbox vault add ANTHROPIC_API_KEY
agentbox vault list

매니페스트

모든 에이전트는 정확히 필요한 것만 선언합니다. 목록에 없는 것은 접근할 수 없습니다.

root@kitploit:~
name: "email-sorter"
version: "1.0.0"
description: "받은 편지함을 읽고, 이메일을 분류하고, 정리된 폴더에 씁니다"
runtime: docker        # 또는: gvisor (커널 수준), firecracker (MicroVM)

permissions:
  filesystem:
    read:
      - "~/Documents/inbox"
    write:
      - "~/Documents/sorted"
    deny:                      # 항상 차단 — 읽기 목록에 있어도
      - "~/.ssh"
      - "~/.aws"
      - "~/.config"
      - "/etc"

  network:
    allow:
      - "api.anthropic.com"
      - "gmail.googleapis.com"
    deny:
      - "*"                    # 그 외 모든 것 차단

  tools:
    allow:
      - "read_file"
      - "write_file"
      - "list_*"
    deny:
      - "execute_shell"        # 셸 접근 금지, 절대
      - "*_delete"             # 삭제 도구 금지

  credentials:
    - ANTHROPIC_API_KEY        # 런타임에 금고에서 주입
    - GMAIL_TOKEN              # 에이전트는 원시 값을 절대 볼 수 없음

limits:
  max_tokens:    50000         # LLM 토큰 예산
  max_duration:  "30m"         # 30분 후 종료
  max_memory_mb: 256           # RAM 상한
  max_requests:  500           # 최대 도구 호출 수

audit:
  log_level: full
  alert_on:
    - filesystem_deny
    - network_deny
    - token_budget_80pct
  log_path: "logs/email-sorter-audit.log"

작동 방식

root@kitploit:~
agentbox run --manifest agent.yaml python agent.py
         │
         ▼
┌─────────────────────────────────────────────────────┐
│                 정책 엔진                             │
│  매니페스트 파싱 → 허용/거부 목록 생성                │
│  서명 검증 → 서명되지 않은 스킬 거부                  │
│  금고에서 자격 증명 주입                             │
└──────────────────────┬──────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────┐
│              격리 계층                               │
│                                                     │
│  Docker  → 컨테이너 + seccomp + cap-drop            │
│  gVisor  → 사용자 공간 커널, 시스템 콜 가로채기      │
│  Firecracker → 에이전트별 전용 MicroVM 커널          │
│                                                     │
│  파일시스템: 선언된 경로만 마운트                    │
│  네트워크:    선언된 호스트만 연결 가능              │
│  Capabilities: 모두 제거, 추가 없음                  │
└──────────────────────┬──────────────────────────────┘
                       │
          ┌────────────┼────────────┐
          ▼            ▼            ▼
   감사 로거      자격 증명     리소스
   (해시 체인)     금고        모니터
   모든 작업      AES-256-GCM  한도 초과 시
   기록          범위 제한 토큰 자동 종료

gVisor가 프롬프트 인젝션을 막는 이유

다른 모든 샌드박스는 컨테이너 경계에서 멈춥니다. 커널 취약점을 악용하는 에이전트는 탈출할 수 있습니다.

gVisor는 호스트 커널에 도달하기 전에 모든 시스템 콜을 가로챕니다:

root@kitploit:~
에이전트 시도: write("/home/user/.ssh/id_rsa")
                    │
                    ▼
         gVisor 사용자 공간 커널
                    │
         거부 목록에 있는 경로? → 예
                    │
                    ▼
         EPERM 즉시 반환
         호스트 커널은 이 시스템 콜을 볼 수 없음
         프롬프트 인젝션은 이 계층을 넘을 수 없음

CLI 참조

root@kitploit:~
agentbox <command> [options]

명령어:
  run       샌드박스에서 에이전트 실행
  validate  매니페스트 파일 검증
  kill      실행 중인 에이전트 종료
  audit     에이전트 감사 로그 보기
  verify    감사 로그 무결성 검증
  vault     암호화된 자격 증명 관리
  serve     REST API 서버 시작
  version   버전 표시

예시:
  agentbox validate manifests/email-sorter.yaml
  agentbox run --manifest manifests/email-sorter.yaml python agent.py
  agentbox kill agent-abc123
  agentbox audit --log logs/email-sorter.log --deny
  agentbox audit --log logs/email-sorter.log --last 1h
  agentbox verify logs/email-sorter.log
  agentbox vault add ANTHROPIC_API_KEY
  agentbox vault list
  agentbox vault delete OLD_KEY
  agentbox serve :8081

REST API

agentbox serve로 시작합니다 (기본값: :8081).


root@kitploit:~
# 실행 중인 에이전트 목록
curl http://localhost:8081/api/agents

# 에이전트 시작
curl -X POST http://localhost:8081/api/agents \
  -H "Content-Type: application/json" \
  -d '{"manifest":"manifests/email-sorter.yaml","command":["python","agent.py"]}'

# 에이전트 종료
curl -X DELETE http://localhost:8081/api/agents/abc123

# 감사 로그 조회
curl "http://localhost:8081/api/audit?deny=true&agent=email-sorter"

감사 로그

모든 에이전트 작업은 추가 전용, 해시 체인 방식의 JSON Lines 파일에 기록됩니다:

root@kitploit:~
{"id":1,"hash":"a3f2...","prev_hash":"genesis","timestamp":"2026-05-05T09:00:00Z","agent_id":"abc123","agent_name":"email-sorter","event_type":"agent_start","allowed":true,"resource":"manifests/email-sorter.yaml"}
{"id":2,"hash":"b7c1...","prev_hash":"a3f2...","timestamp":"2026-05-05T09:00:01Z","agent_id":"abc123","agent_name":"email-sorter","event_type":"filesystem_allow","allowed":true,"resource":"read:/home/user/Documents/inbox/mail.txt","rule":"filesystem.read: ~/Documents/inbox"}
{"id":3,"hash":"d9e4...","prev_hash":"b7c1...","timestamp":"2026-05-05T09:00:01Z","agent_id":"abc123","agent_name":"email-sorter","event_type":"filesystem_deny","allowed":false,"resource":"read:/home/user/.ssh/id_rsa","rule":"filesystem.deny: ~/.ssh","reason":"path is explicitly denied"}

변조 감지:

root@kitploit:~
agentbox verify logs/email-sorter-audit.log

✅ 감사 로그가 온전합니다
   항목: 47 (ID 1–47)
   해시 체인: 끊김 없음

항목의 문자 하나라도 변경하면 검증이 즉시 실패합니다 — 체인이 끊어집니다.


자격 증명 금고

root@kitploit:~
# 비밀값 저장 (절대 기록되지 않으며, 환경 변수에 평문으로 존재하지 않음)
agentbox vault add ANTHROPIC_API_KEY

# 저장된 자격 증명 이름 목록 (값은 절대 표시되지 않음)
agentbox vault list

# 자격 증명이 복호화 가능한지 확인
agentbox vault test ANTHROPIC_API_KEY

# 자격 증명 교체
agentbox vault add ANTHROPIC_API_KEY   # add는 기존 항목을 업데이트

자격 증명은 AES-256-GCM으로 암호화됩니다. 마스터 키는 금고 비밀번호에서 파생되며 디스크에 절대 저장되지 않습니다. 에이전트 시작 시 AgentBox는 자격 증명을 범위가 제한된 환경 변수로 주입합니다. 에이전트는 일반적으로 os.getenv("ANTHROPIC_API_KEY")를 호출합니다 — 금고에 직접 접근하지 않습니다.


리소스 한도

AgentBox는 선언된 한도를 초과하는 에이전트를 종료합니다:

root@kitploit:~
# 이 에이전트는 max_duration: 5s로 구성됨
agentbox run --manifest manifests/timeout-test.yaml python long_running_agent.py

Agent started
tick 1
tick 2
tick 3
tick 4
tick 5
🛑 Killing agent timeout-test: duration limit exceeded: 5s
⚠️  Agent timeout-test exited code 137 in 5.2s

종료 코드 137 = SIGKILL. 정상 종료, 최종 감사 항목이 기록됩니다.


소스에서 빌드

root@kitploit:~
# 클론
git clone https://github.com/siyad01/agentbox
cd agentbox

# 빌드
go build -o agentbox ./cmd/agentbox/

# 테스트 실행 (27개 테스트, 모두 통과)
go test ./...

# 전역 설치
go install ./cmd/agentbox/

요구 사항:

  • Go 1.26+
  • Docker (Docker 및 gVisor 백엔드용)
  • Linux 커널 5.15+ (gVisor용 — 자동 감지, Docker로 폴백)

프로젝트 구조

root@kitploit:~
agentbox/
├── cmd/agentbox/main.go          ← CLI 진입점
├── internal/
│   ├── policy/
│   │   ├── manifest.go           ← YAML 매니페스트 스키마
│   │   ├── parser.go             ← 검증 + 기본값
│   │   └── engine.go             ← 거부 우선 결정 엔진 (20개 테스트)
│   ├── audit/
│   │   ├── logger.go             ← 추가 전용 SHA-256 해시 체인 로그
│   │   ├── verifier.go           ← 변조 감지
│   │   └── reader.go             ← 조회 + 필터
│   ├── vault/
│   │   ├── store.go              ← AES-256-GCM 암호화 자격 증명 저장소
│   │   └── injector.go           ← 런타임 주입 (7개 테스트)
│   ├── sandbox/
│   │   ├── sandbox.go            ← Sandbox 인터페이스
│   │   ├── docker.go             ← Docker 백엔드
│   │   ├── gvisor.go             ← gVisor 백엔드 (커널 수준)
│   │   ├── manager.go            ← 에이전트 수명 주기 관리
│   │   └── util.go               ← WSL2 감지, 경로 헬퍼
│   ├── monitor/
│   │   └── enforcer.go           ← 리소스 한도 + 자동 종료
│   └── api/
│       └── server.go             ← :8081의 REST API
└── manifests/
    ├── email-sorter.yaml         ← 프로덕션 예시
    └── timeout-test.yaml         ← 한도 강제 예시

보안 모델

기본적으로 거부 우선. 에이전트는 권한이 0인 상태로 시작합니다. 모든 기능은 명시적으로 선언되어야 합니다.

거부 목록이 항상 우선. 경로가 읽기 목록과 거부 목록 모두에 있어도 거부 목록이 우선합니다. 예외는 없습니다.

gVisor를 통한 커널 수준 강제. seccomp 필터와 capability 제거는 시스템 콜 경계에서 작동합니다. 공격자가 제어할 수 있는 모델 출력은 사용자 공간에서 실행되며 커널 수준 정책을 수정할 수 없습니다.

자격 증명 격리. 금고 마스터 키는 디스크에 절대 저장되지 않습니다. 자격 증명은 샌드박스 시작 시 수명이 짧은 범위 제한 토큰으로 주입되고 종료 시 폐기됩니다. 에이전트 프로세스가 손상되어도 자격 증명 금고는 손상되지 않습니다.

변조 불가 감사 추적. SHA-256 해시 체인은 사후 로그 수정을 감지할 수 있게 합니다. 항목 하나의 변경은 그 시점부터 체인을 끊습니다.

취약점 보고는 SECURITY.md를 참조하세요.


비교


로드맵

  • Firecracker MicroVM 백엔드 (에이전트별 전용 Linux 커널)
  • eBPF 시스템 콜 모니터링 (실시간 동작 분석)
  • OPA/Rego 정책-as-코드 (Git의 복잡한 규칙 세트)
  • Prometheus 메트릭 엔드포인트
  • AgentBox Cloud (관리형 호스팅, SOC2 준비)
  • 매니페스트 서명 (Ed25519, 출처 검증)
  • DLP (데이터 유출 방지 — 에이전트 출력에서 PII 스캔)

기여

CONTRIBUTING.md를 참조하세요.

라이선스

Apache 2.0 — 자유롭게 사용, 수정, 배포할 수 있습니다. LICENSE를 참조하세요.


Go로 제작 · 핵심 보안 기능에 외부 종속성 0 · 한 명령으로 자체 호스팅

CVE-2026-25253이 우려되었다면, 이것이 해결책입니다. ⭐를 남겨주세요

도구 다운로드
보호 기능방법
제로 트러스트 권한에이전트는 정확히 필요한 것만 선언합니다. 그 외에는 접근할 수 없습니다.
커널 수준 격리gVisor가 모든 시스템 콜을 가로챕니다. 프롬프트 인젝션은 이 경계를 넘을 수 없습니다.
자격 증명 금고AES-256-GCM 암호화. 에이전트는 원시 비밀값을 절대 볼 수 없습니다 — 범위가 제한된 토큰만 볼 수 있습니다.
변조 불가 감사 로그SHA-256 해시 체인. 모든 작업이 기록됩니다. 변조 감지 가능.
킬 스위치100ms 이내에 모든 에이전트를 종료합니다. 한도 위반 시 자동 종료.
리소스 한도시간, 메모리, 요청 수 — 구성이 아닌 런타임에서 강제됩니다.
메서드엔드포인트설명
GET/health상태 확인
GET/dashboard웹 대시보드
GET/api/agents모든 에이전트 목록
POST/api/agents새 에이전트 시작
DELETE/api/agents/:id에이전트 종료
GET/api/audit감사 로그 조회
기능AgentBoxOpenClaw 샌드박스Docker만AccuKnox
오픈소스 (Apache 2.0)✅✅✅❌
자체 호스팅 가능✅✅✅K8s 전용
gVisor / 커널 격리✅❌❌✅
자격 증명 금고✅❌❌✅
변조 불가 감사 로그✅❌❌✅
한도 위반 시 자동 종료✅❌❌✅
프레임워크 무관✅❌ (OpenClaw 전용)✅✅
단일 바이너리 배포✅❌✅❌