
Amazon опубликовала открытый движок безопасного исполнения скриптов под названием REX (Trusted Remote Execution). Решение допускает только разрешённые для каждого конкретного скрипта операции. Например, если скрипт рассчитан на разбор логов, то ему будет предоставлен только доступ на чтение лога, а несанкционированные попытки удаления или изменения файлов заблокируются. Исходный код проекта написан на языке Rust и опубликован на GitHub под лицензией Apache 2.0.
По информации OpenNET, проект REX может применяться для контроля и ограничения операций, выполняемых скриптами, генерируемыми ИИ‑агентами в процессе выполнения запросов системной автоматизации. Например, при задействовании REX владелец хоста может блокировать выполнение нецелевых действий и управлять тем, какие именно операции разрешены, независимо от запросов, поступающих ИИ‑агенту. Подобный подход даёт возможность защититься от нового класса атак, в которых злоумышленники используют подстановку запросов ИИ‑агентам для выполнения действий в системе.
Для написания скриптов в REX применяется язык Rhai (использует динамическую типизацию и предоставляет синтаксис, напоминающий смесь JavaScript и Rust). К скрипту привязываются правила на языке Cedar, регламентирующие каждую выполняемую скриптом системную операцию. Скрипты в REX выполняются в изолированном Sandbox‑окружении, где допускаются только явно разрешённые правилами операции с файлами, сетевые возможности, средства управления процессами и прочие системные функции. Каждый системный вызов, такой как открытие, чтение или запись файла, перед выполнением авторизируется в соответствии с заданными правилами.
Модель обеспечения безопасности в REX строится на том, что правила отделены от скриптов и определяются не создателями скриптов или запускающими скрипты, а владельцем сервиса. Для исключения состояния гонки в скриптах и атак через символические ссылки в скриптах по возможности используются файловые дескрипторы, а не пути. По умолчанию выполняемые движком REX скрипты не имеют прямого доступа к хосту и проводят операции через авторизированные Rust API.

