Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/michaels1011/ephemora-cell
コンテナセキュリティ動的分析 (サンドボックス)セキュリティ仮想化クラウドセキュリティDevSecOpsAPIセキュリティAIセキュリティ
GitHubmichaels1011/ephemora-cell

ephemora-cell

# 機能ベースのWASMランタイム:CPU、メモリ、時間、I/O、ファイルシステムの制限を強制し、信頼できないAI生成コードを実行するためのもの。サブミリ秒のウォーム実行、署名付き実行記録、統合のためのMCPサーバーを提供します。

リポジトリを見る
1112日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト

Ephemora Cell

信頼できないAI生成コードのための実行レイヤー。

明示的なCPU、メモリ、時間、I/O、ファイルシステムの制限を備えた、高速でケイパビリティベースの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

# 最初の分離モジュールを実行(リポジトリのexamplesを取得するか、任意の.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 レポート、そして攻撃モジュール(exploit.wasm)がWASIインポートレイヤーでブロックされる様子。すべてのフレームを検証してください: コマンドはクローンから示されたとおりに実行されます。

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

同じ8つの攻撃プリミティブを、1回の実行でライブ計測(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)、メモリ上限、エポックベースのウォールクロックタイムアウト、出力上限、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 を参照。


1つのエージェントアクション。1つの制限付き実行。1つの制御された結果。

作成者: Michael Soppa

ツールをダウンロード
リソースデフォルト
WASMメモリ128 MB(Store.set_limits)
フューエル / CPU予算1,000,000(反復あたり約13フューエル、R² = 1.000)
ウォールクロックタイムアウト30秒(エポック割り込み)
キャプチャされる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は存在しない)