Agenta — это платформа LLMOps с открытым исходным кодом. В Agenta-API до версии 0.48.1 в пользовательском оценщике кода Agenta существовала уязвимость выхода из песочницы Python. Агента использовала RestrictedPython в качестве механизма изолированной программной среды для кода оценщика, предоставленного пользователем, но неправильно внесла пакет `numpy` в белый список как безопасный в изолированной программной среде.
Это позволило аутентифицированным пользователям обойти «песочницу» и добиться выполнения произвольного кода на сервере API. Выход был через `numpy.ma.core.inspect`, который предоставляет доступ к утилитам интроспекции Python, включая `sys.modules`, тем самым предоставляя доступ к нефильтрованным функциям системного уровня, таким как `os.system`. Эта уязвимость затрагивает автономную платформу Agenta (сервер API), а не SDK при использовании в качестве автономной библиотеки Python.
Пользовательский оценщик кода работает на стороне сервера в процессе API. Проблема исправлена в версии 0.48.1 путем удаления `numpy` из белого списка песочницы. В более поздних версиях (v0.60+) песочница RestrictedPython была полностью удалена и заменена другой моделью выполнения.
Показать оригинальное описание (EN)
Agenta is an open-source LLMOps platform. In Agenta-API prior to version 0.48.1, a Python sandbox escape vulnerability existed in Agenta's custom code evaluator. Agenta used RestrictedPython as a sandboxing mechanism for user-supplied evaluator code, but incorrectly whitelisted the `numpy` package as safe within the sandbox. This allowed authenticated users to bypass the sandbox and achieve arbitrary code execution on the API server. The escape path was through `numpy.ma.core.inspect`, which exposes Python's introspection utilities — including `sys.modules` — thereby providing access to unfiltered system-level functionality like `os.system`. This vulnerability affects the Agenta self-hosted platform (API server), not the SDK when used as a standalone Python library. The custom code evaluator runs server-side within the API process. The issue is fixed in v0.48.1 by removing `numpy` from the sandbox allowlist. In later versions (v0.60+), the RestrictedPython sandbox was removed entirely and replaced with a different execution model.
Характеристики атаки
Последствия
Строка CVSS v3.1