Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
ephemora-cell — Возможностно-ориентированная WASM-среда выполнения для запуска непроверенного кода, сгенерированного ИИ, с принудительными ограничениями на CPU, память, время, ввод-вывод и файловую систему. Обеспечивает тёплый запуск за доли миллисекунды, подписанные записи выполнения и MCP-сервер для интеграции. | Kitploit
Инструменты/GitHubGitHub/michaels1011/ephemora-cell
Безопасность контейнеровДинамический анализ (песочница)Виртуализация для безопасностиБезопасность облачных средDevSecOpsБезопасность APIБезопасность ИИ
GitHubmichaels1011/ephemora-cell

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →

Описание

Возможностно-ориентированная WASM-среда выполнения для запуска непроверенного кода, сгенерированного ИИ, с принудительными ограничениями на CPU, память, время, ввод-вывод и файловую систему. Обеспечивает тёплый запуск за доли миллисекунды, подписанные записи выполнения и MCP-сервер для интеграции.

ephemora-cell

РепозиторийСайт
1112 дней назадЕщё не проверено
Поделиться

Ephemora Cell

Уровень исполнения для недоверенного кода, сгенерированного ИИ.

Быстрое исполнение WASM на основе возможностей с явными ограничениями CPU, памяти, времени, ввода-вывода и файловой системы — тёплое исполнение за субмиллисекунды с подписанными записями исполнения.

Создан для ИИ-агентов, MCP-инструментов, плагинов, интерпретаторов кода и других недоверенных рабочих нагрузок.

PyPI Python 3.10+ License Status

AI Agent → Ephemora Cell enforcement stack → bounded result

Проблема

ИИ-агентам всё чаще требуется писать и исполнять код, вызывать инструменты и запускать плагины. Вопрос, который определяет, безопасно ли это:

Как позволить агенту исполнять недоверенный код, не давая этому коду доступа к вашему хосту, вашим учётным данным, вашей сети или неограниченным вычислительным ресурсам?

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 КБ)
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

Те же восемь атакующих примитивов, измеренные в реальном времени за один запуск (2026-09-02): стандартный контейнер python:3.12-slim пропускает каждый из них (0/8 заблокировано), граница Ephemora Cell блокирует все восемь (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), ограничения памяти, тайм-ауты на основе эпох по настенным часам, ограничения вывода и бюджеты ввода-вывода обеспечиваются принудительно при каждом исполнении; фактическая позиция удостоверяется в подписанной записи исполнения.
  • Измеренное преимущество изоляции — из векторов атак, которые успешны против стандартного контейнера Docker (shell, fork, сокет, файловая система хоста, обход символических ссылок и т. д.), все 8 здесь заблокированы (проверено в реальном времени, скрипт в репозитории).
  • Тёплое исполнение за субмиллисекунды — 0,16 мс в гостье / 0,46 мс от начала до конца (с пулом, измерено) делает песочницу для каждого вызова доступной, а не исключительной.

Что обеспечивается принудительно

Каждое исполнение выполняется с явными ограничениями — безопасность не по желанию:

Дополнительные средства управления: бюджеты ввода-вывода (io_cpu_seconds=2.0 / io_budget_bytes=64 МиБ — стены для работы хоста, а не только гостевых вычислений), двойной ABI (WASI Preview1 + компоненты WASI 0.2, по желанию), memory64 по желанию, объявленный лимит GC-кучи (записывается в базовый уровень безопасности; топливо остаётся эффективной границей), именованное состояние (64 записи · 256 КиБ · 1 МиБ на сессию) и sidecar-медиатор исходящего трафика (проверяемый по белому списку посредник для API-вызовов на стороне хоста — docs/egress_patterns.md).

Безопасность

Гость получает только те возможности, которые явно ему предоставлены. Живая проверка восьми классов атак (benchmarks/verify_8_vectors.py):

Результат: 8/8 векторов атак заблокированы (проверено в реальном времени); базовые показатели Docker измеряются в реальном времени при каждом запуске — никогда не захардкожены.

Это граница исполнения, а не утверждение, что гостевому ПО можно доверять. Cell не оценивает, является ли модуль вредоносным или корректным — гость всё равно может вести себя некорректно в пределах предоставленных ему бюджетов. Пути исполнения существенно различаются: по умолчанию гость выполняется внутри вашего процесса; run_isolated() добавляет стены на уровне ОС (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 мс против Cell 0.40 мс = 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 → запустить его

Все пять шлюзов компилируемых языков проверяются при каждом push (.github/workflows/ci.yml). Платформы: macOS (Apple M5) ✅ · Ubuntu 24.04 ✅ · DGX Spark GB10 ✅

Варианты использования

Код, сгенерированный ИИ — запуск инструментов, созданных агентом, с явными ограничениями:

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")

Также задокументировано: serverless/edge-нагрузки, проверка в изолированной среде, компоненты WASI 0.2, интеграция с FastAPI — docs/recipes.md. Интеграционные тесты агентных фреймворков (LangGraph, CrewAI, AutoGen, OpenAI Agents SDK, Semantic Kernel, Hermes, NemoClaw) находятся в integration/.

MCP-сервер

Ephemora Cell поставляется с MCP stdio-сервером без зависимостей, чьи инструменты представляют собой WASM-модули, исполняемые внутри Cell — детерминизм, учёт топлива, ограничение вывода, отсутствие сети, готовые к 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 КБ
result.stderr
result.elapsed_ms
result.fuel_consumed

Это делает исполнение пригодным для аудита, обеспечения соблюдения политик и учёта ресурсов — а не только для запуска кода. Полный CLI (run, --json с security_baseline, 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 при каждом push (тесты, покрытие, 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.

Скачать инструмент
РесурсПо умолчанию
Память WASM128 МБ (Store.set_limits)
Бюджет топлива / CPU1 000 000 (~13 топлива/итерация, R² = 1.000)
Тайм-аут по настенным часам30 с (прерывание по эпохе)
Захваченные stdout/stderr10 КБ
Сетьотключена — нет socket API в WASI
Файловая система хостазапрещена по умолчанию; 14 опасных каталогов заблокированы (/dev, /proc, /sys, …)
Exec / fork процессовнедоступны в WASI
Потокиотключены (wasm_threads=False)
Класс атакиDockerEphemora Cell
Shell (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 мс0.60 мс0.16 мс
Путь по умолчанию (io_budget_bytes=64 МиБ, движок на запуск)0.92 мс1.26 мс0.60 мс
ЯзыкКомпиляторПроверено
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 не существует)