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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/michaels1011/ephemora-cell
Container SecurityDynamic Analysis (Sandboxing)Security VirtualizationCloud SecurityDevSecOpsAPI SecurityAI Security
GitHubmichaels1011/ephemora-cell

ephemora-cell

# 기능 기반 WASM 런타임 강제된 CPU, 메모리, 시간, I/O 및 파일시스템 제한을 통해 신뢰할 수 없는 AI 생성 코드를 실행하기 위한 기능 기반 WASM 런타임입니다. 서브 밀리초 수준의 웜 실행, 서명된 실행 기록, 그리고 통합을 위한 MCP 서버를 제공합니다.

저장소 보기
1112일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

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

Ephemora Cell

신뢰할 수 없는 AI 생성 코드를 위한 실행 계층.

명시적인 CPU, 메모리, 시간, I/O 및 파일시스템 제한을 갖춘 빠르고 기능 기반(capability-based)의 WASM 실행 — 서명된 실행 기록을 포함한 서브 밀리초 웜 실행.

AI 에이전트, MCP 도구, 플러그인, 코드 인터프리터 및 기타 신뢰할 수 없는 워크로드를 위해 설계되었습니다.

PyPI Python 3.10+ License Status

AI Agent → Ephemora Cell enforcement stack → bounded result

문제점

AI 에이전트는 점점 더 코드를 작성하고 실행하며, 도구를 호출하고, 플러그인을 실행해야 합니다. 이것이 안전한지 여부를 결정하는 질문은 다음과 같습니다:

호스트, 자격 증명, 네트워크 또는 무제한 컴퓨팅에 대한 접근 권한을 부여하지 않고 에이전트가 신뢰할 수 없는 코드를 실행하도록 하려면 어떻게 해야 합니까?

root@kitploit:~
AI Agent ──▶ Tool / MCP ──▶ Ephemora Cell ──▶ WASM ──▶ bounded result

Ephemora Cell은 바로 그 작업을 위한 작고 기능 기반의 WASM 실행 런타임입니다: 에이전트 프레임워크가 아닌 실행 프리미티브로, 기존 에이전트 스택, MCP 서버, 플러그인 시스템 또는 애플리케이션 아래에 위치합니다.

빠른 시작

root@kitploit:~
pip install ephemora-cell

# 첫 번째 격리 모듈 실행 (저장소의 예제를 가져오거나 .wasm 파일을 사용):
git clone https://github.com/MichaelS1011/ephemora-cell.git
ephemora-cell run ephemora-cell/examples/hello.wasm
root@kitploit:~
Hello from Ephemora Cell!
root@kitploit:~
from ephemora_cell import run_wasm

result = run_wasm("my_module.wasm")
print(result.stdout)          # 캡처된 출력 (10 KB 제한)
print(result.status.name)     # SUCCESS
print(result.elapsed_ms)      # 벽시계 시간
print(result.fuel_consumed)   # 실제 사용된 컴퓨팅

Ephemora Cell demo — install, run, JSON report, attack blocked

실제 CLI 세션: 설치, 첫 실행, 보안 기준선이 포함된 기계 판독 가능한 --json 보고서, 그리고 WASI 임포트 계층에서 차단된 공격 모듈(exploit.wasm). 모든 프레임을 확인하세요: 명령은 클론에서 표시된 대로 실행됩니다.

Same attack, different boundary — 8 attack primitives allowed in a stock Docker container, all 8 blocked by Ephemora Cell

동일한 8가지 공격 프리미티브를 한 번의 실행에서 실시간으로 측정(2026-09-02): 기본 python:3.12-slim 컨테이너는 모든 공격을 통과시키고(0/8 차단), Ephemora Cell 경계는 8개 모두 차단합니다(8/8). 두 열을 재현하려면:

root@kitploit:~
python3 assets/demo_attack_probe.py    # 왼쪽 열  -> 0/8 차단 (기본 Docker)
python  benchmarks/verify_8_vectors.py # 오른쪽 열 -> 8/8 차단 (Ephemora Cell)

이것이 중요한 이유

에이전트가 생성한 코드는 애플리케이션 코드와 다릅니다: 버그가 있을 수 있고, 계산적으로 무한할 수 있으며, 예기치 않게 비용이 많이 들거나 — 적대적일 수 있습니다. 런타임은 경계를 문서화하는 것이 아니라 강제해야 합니다. 모든 Cell 실행은 다음을 수행합니다:

  • 약속이 아닌 강제 — 연료 계량(CPU), 메모리 상한, epoch 기반 벽시계 시간 초과, 출력 상한 및 I/O 예산은 실행별로 강제됩니다. 유효한 보안 태세는 서명된 실행 기록에 증명됩니다.
  • 측정된 격리 이점 — 기본 Docker 컨테이너에 대해 성공하는 공격 벡터(셸, fork, 소켓, 호스트 파일시스템, 심볼릭 링크 탈출 등) 중 8개 모두 여기서 차단됩니다(실시간 검증, 저장소 내 스크립트).
  • 서브 밀리초 웜 실행 — 0.16 ms 게스트 / 0.46 ms 종단 간(풀링, 측정됨)으로 모든 호출을 샌드박싱하는 것이 예외가 아닌 합리적인 비용이 됩니다.

강제되는 사항

모든 실행은 명시적 제한 하에 수행됩니다 — 옵트인 보안 없음:

추가 제어: I/O 예산 (io_cpu_seconds=2.0 / io_budget_bytes=64 MiB — 게스트 컴퓨팅뿐만 아니라 호스트 작업에 대한 벽), 이중 ABI (WASI Preview1 + WASI 0.2 컴포넌트, 옵트인), memory64 옵트인, GC 힙 선언 상한 (보안 기준선에 기록됨; 연료가 유효한 경계로 유지됨), 명명된 상태 (세션당 64개 항목 · 256 KiB · 1 MiB), 및 이그레스 사이드카 참조 중재자 (허용 목록 검증된 호스트 측 API 호출 — docs/egress_patterns.md).

보안

게스트는 명시적으로 제공된 기능만 받습니다. 8가지 공격 클래스의 실시간 검증 (benchmarks/verify_8_vectors.py):

결과: 8/8 공격 벡터 차단 (실시간 검증); Docker 기준선은 실행별로 실시간 측정되며 — 절대 하드코딩되지 않습니다.

이것은 게스트 소프트웨어가 신뢰할 수 있다는 주장이 아닌 실행 경계입니다. Cell은 모듈이 악성인지 올바른지 평가하지 않습니다 — 게스트는 부여된 예산 내에서 여전히 잘못된 동작을 할 수 있습니다. 실행 경로는 실질적으로 다릅니다: 기본값은 게스트를 프로세스 내부에서 실행합니다. run_isolated()은 OS 수준 벽(rlimits, 디스크 할당량, I/O CPU 워치독, 하드 킬)을 추가합니다.

전체 세부 정보: SECURITY.md (정책, 실행 경로 제어 매트릭스, 알려진 제한 사항) · docs/threat-model.md (공격자 모델, 신뢰 경계, 잔여 위험) · docs/security_posture.md (arXiv 2509.11242 평가, 연료 경계, 관련 연구).

성능

컨테이너 규모의 시작 비용 없이 모든 실행을 샌드박싱하세요.

실시간 콜드 스타트 비교 (2026-08-30, 동일 Mac): docker run python:3.12-slim 171 ms vs Cell 0.40 ms = 427× — 이는 이 벤치마크 워크로드에 대한 컨테이너 콜드 스타트 대 호출된 WASM 비교이며, WASM이 항상 Docker보다 빠르다는 일반적인 주장이 아닙니다.

재현: python benchmarks/pool_vs_budget.py · python benchmarks/competitive_benchmark.py (measured:true가 포함된 원시 결과는 benchmarks/results/에 커밋됨). 에이전트 워크로드 및 추가 정보: docs/performance.md.

WASM으로 컴파일되는 모든 언어

Cell은 .wasm을 실행합니다 — 소스 언어를 알지 못합니다. 측정된 마찰 매트릭스에서 실행 가능한 오류 힌트가 포함된 원클릭 빌드:

root@kitploit:~
ephemora-cell build tool.rs     # → tool.wasm → 실행

5개 컴파일 언어 게이트 모두 모든 푸시에서 검증됩니다 (.github/workflows/ci.yml). 플랫폼: macOS (Apple M5) ✅ · Ubuntu 24.04 ✅ · DGX Spark GB10 ✅

사용 사례

AI 생성 코드 — 명시적 제한으로 에이전트가 생성한 도구 실행:

root@kitploit:~
result = run_wasm(
    "llm_generated.wasm",
    max_fuel=200_000,
    timeout_seconds=5,
    allow_dirs=("/input", "/output")
)

플러그인 시스템 — 제한 없는 호스트 접근 권한을 부여하지 않고 사용자 업로드 플러그인 수락:

root@kitploit:~
config = WASIConfig(allow_dirs=("/data",), max_fuel=500_000)
result = WASISandbox(config=config).run("user_plugin.wasm")

추가 문서: 서버리스/엣지 워크로드, 에어갭 검증, WASI 0.2 컴포넌트, FastAPI 통합 — docs/recipes.md. 에이전트 프레임워크 통합 테스트(LangGraph, CrewAI, AutoGen, OpenAI Agents SDK, Semantic Kernel, Hermes, NemoClaw)는 integration/에 있습니다.

MCP 서버

Ephemora Cell은 종속성 없는 MCP stdio 서버를 제공하며, 그 도구는 Cell 내부에서 실행되는 WASM 모듈입니다 — 결정성, 연료 계량, 출력 상한, 네트워크 없음, SEP-2787 준비 서명 실행 기록:

root@kitploit:~
pip install ephemora-cell
ephemora-cell-mcp          # 번들된 echo 도구 포함; 자체 도구 등록: --tools-dir ./tools

docs/mcp.md 및 docs/comparison-mcp-servers.md 참조.

아키텍처

root@kitploit:~
flowchart TB
    guest["Guest WASM Module<br/>(isolated)"]
    subgraph sandbox["WASI Sandbox — capability-based isolation"]
        fuel["Fuel Meter<br/>~13 fuel/iteration"]
        mem["Memory Limit<br/>128 MB max"]
        timeout["Timeout Guard<br/>epoch interruption"]
        syscalls["WASI Preview1 — capability-based,<br/>preopened dirs only<br/>fd_read · fd_write · path_open · clock_time_get<br/>proc_exit · environ_get · random_get"]
    end
    blocked["Blocked by design:<br/>exec · fork · socket · /dev · /proc · /sys · threads"]

    guest --> syscalls
    fuel -.-> sandbox
    mem -.-> sandbox
    timeout -.-> sandbox
    sandbox -.-> blocked

기본 API는 의도적으로 단순합니다: execute(wasm) → result. 모든 실행은 구조화되고 감사 가능한 정보를 반환합니다:

root@kitploit:~
result.status        # SUCCESS | ERROR | TIMEOUT | FUEL_EXHAUSTED | MEMORY_EXCEEDED
result.exit_code
result.stdout        # 10 KB 제한
result.stderr
result.elapsed_ms
result.fuel_consumed

이는 코드 실행뿐만 아니라 감사, 정책 적용 및 리소스 회계에 적합한 실행을 만듭니다. 전체 CLI (run, security_baseline이 포함된 --json, inspect, benchmark, build, --profile analytical 포함 프로필)는 CLI 문서 및 ephemora-cell --help에 있습니다.

Cell이 무엇인지 — 그리고 무엇이 아닌지

Cell은: WASM 실행 프리미티브 · 기능 기반 격리 계층 · 리소스 제한 런타임 · 임베드 가능한 Python 라이브러리 · CLI · MCP 실행 계층입니다.

Cell은 아닙니다: 에이전트 프레임워크 · LLM · 코드 생성 시스템 · 악성코드 탐지기 · 전체 VM · 모든 컨테이너 워크로드의 대체품.

목표는 좁습니다: 신뢰할 수 없는 실행을 충분히 저렴하고 충분히 제어되게 만들어 애플리케이션이 기본적으로 안전하게 수행할 수 있게 하는 것입니다.

테스트 및 검증

379개 테스트 · 85% 문장 커버리지 (Cell + MCP, 게이트 80%) · 8/8 공격 벡터 차단 · 모든 푸시에서 CI 강제 (테스트, 커버리지, pip-audit, SBOM, bandit) — .github/workflows/ci.yml 참조.

문서

SECURITY.md — 보안 정책 및 제어 · docs/threat-model.md — 신뢰 경계 · docs/security_posture.md — 공격 표면 검증 · docs/performance.md — 벤치마크 · docs/mcp.md — MCP 서버 · docs/recipes.md — 사용 패턴 · docs/languages.md — 언어 지원 · CHANGELOG.md — 변경 사항

Ephemora 소개

Ephemora Cell은 오픈소스 격리 계층입니다 (Apache 2.0, 독립형 — Ephemora 종속성 없음). Ephemora 엔터프라이즈 에디션은 프로덕션 및 규제 배포를 위해 Cell의 격리를 기반으로 구축됩니다. Cell은 격리에 완전하며, 엔터프라이즈 에디션은 운영에 완전합니다 — 그 대화가 필요할 때는 docs/enterprise.md를 참조하세요.

라이선스

Apache 2.0 — LICENSE 참조.


하나의 에이전트 작업. 하나의 제한된 실행. 하나의 제어된 결과.

Michael Soppa 제작.

도구 다운로드
리소스기본값
WASM 메모리128 MB (Store.set_limits)
연료 / CPU 예산1,000,000 (반복당 ~13 연료, R² = 1.000)
벽시계 시간 초과30 s (epoch 중단)
캡처된 stdout/stderr10 KB
네트워크비활성화 — WASI에 소켓 API 없음
호스트 파일시스템기본적으로 거부됨; 14개의 위험한 디렉터리 차단 (/dev, /proc, /sys, …)
프로세스 exec / forkWASI에서 사용 불가
스레딩비활성화 (wasm_threads=False)
공격 클래스DockerEphemora Cell
셸 (os.system) / fork / 네트워크 소켓허용됨차단됨 — API가 WASI에 존재하지 않음
fsync (os.fsync)허용됨차단됨 — 임포트 수준 거부
호스트 파일시스템 (/etc/passwd)허용됨차단됨 — preopen 기본 거부
심볼릭 링크 탈출허용됨차단됨 — 위험한 디렉터리 필터
멀티스레딩허용됨차단됨 — wasm_threads=False
환경 변수 접근허용됨차단됨 — allow_env로 제어
시나리오 (n=1000, hello.wasm, Mac M5, wasmtime 47.0.1)벽 중앙값벽 p95게스트 중앙값
풀링 엔진 (io_budget_bytes=None, 신뢰할 수 있는 실행)0.46 ms0.60 ms0.16 ms
기본 경로 (io_budget_bytes=64 MiB, 실행별 엔진)0.92 ms1.26 ms0.60 ms
언어컴파일러검증됨
Rustcargo build --target wasm32-wasip1✅ 컴파일 + 실행 (CI)
GoGOOS=wasip1 GOARCH=wasm go build✅ 컴파일 + 실행 (CI)
Cwasi-sdk clang --target=wasm32-wasip1✅ 컴파일 + 실행 (CI)
AssemblyScriptasc --runtime stub✅ 컴파일 + 실행 (CI)
Zigzig build-exe -target wasm32-wasi✅ 컴파일 + 실행 (CI)
Python—안내: wasi-python 인터프리터에서 실행 (AOT 없음)