Omnigent — это среда агентов искусственного интеллекта с открытым исходным кодом и мета-система для управления агентами кодирования. До версии 0.3.0 аутентифицированный пользователь мог загрузить пакет агента в области сеанса с абсолютным или содержащим обход значение os_env.cwd, поскольку omnigent/spec/parser.py хранит значение дословно, а omnigent/spec/validator.py не ограничивает его. На бегуне, где OMNIGENT_RUNNER_WORKSPACE не задан, omnigent/runner/resource_registry.py сохраняет путь, контролируемый злоумышленником, а omnigent/inner/os_env.py использует разрешенный путь в качестве корня среды и источника дерева копирования.
Затем проверка _assert_within_cwd рассматривает выбранный злоумышленником корень как доверенный, позволяя инструментам sys_os_read, write, edit и Shell получать доступ к файлам запуска и секретам среды за пределами предполагаемой рабочей области. Эта проблема исправлена в версии 0.3.0.
Показать оригинальное описание (EN)
Omnigent is an open-source AI agent framework and meta-harness for orchestrating coding agents. Prior to 0.3.0, an authenticated user can upload a session-scoped agent bundle with an absolute or traversal-containing os_env.cwd value because omnigent/spec/parser.py stores the value verbatim and omnigent/spec/validator.py does not constrain it. On a runner where OMNIGENT_RUNNER_WORKSPACE is unset, omnigent/runner/resource_registry.py preserves the attacker-controlled path and omnigent/inner/os_env.py uses the resolved path as the environment root and copytree source. The _assert_within_cwd check then treats that attacker-selected root as trusted, allowing sys_os_read, write, edit, and shell tools to access runner files and environment secrets outside the intended workspace. This issue is fixed in version 0.3.0.
Характеристики атаки
Последствия
Строка CVSS v3.1