PraisonAI — это система мультиагентных команд. До версии 4.5.128 интеграция MCP (Model Context Protocol) PraisonAI позволяла создавать фоновые серверы через stdio с использованием введенных пользователем командных строк (например, MCP("npx -y @smithery/cli ...")). Эти команды выполняются через модуль подпроцесса Python.
По умолчанию реализация перенаправляет всю среду родительского процесса в порожденный подпроцесс. В результате любая команда MCP, выполняемая таким образом, наследует все переменные среды хост-процесса, включая конфиденциальные данные, такие как ключи API, токены аутентификации и учетные данные базы данных. Такое поведение представляет угрозу безопасности при использовании ненадежных или сторонних команд.
В распространенных сценариях, когда инструменты MCP вызываются через средства запуска пакетов, такие как npx -y, произвольный код из внешних или потенциально скомпрометированных пакетов может выполняться с доступом к этим унаследованным переменным среды. Это создает риск непреднамеренного раскрытия учетных данных и делает возможным потенциальные атаки на цепочку поставок путем скрытой кражи секретов. Эта уязвимость исправлена в версии 4.5.128.
Показать оригинальное описание (EN)
PraisonAI is a multi-agent teams system. Prior to 4.5.128, PraisonAI’s MCP (Model Context Protocol) integration allows spawning background servers via stdio using user-supplied command strings (e.g., MCP("npx -y @smithery/cli ...")). These commands are executed through Python’s subprocess module. By default, the implementation forwards the entire parent process environment to the spawned subprocess. As a result, any MCP command executed in this manner inherits all environment variables from the host process, including sensitive data such as API keys, authentication tokens, and database credentials. This behavior introduces a security risk when untrusted or third-party commands are used. In common scenarios where MCP tools are invoked via package runners such as npx -y, arbitrary code from external or potentially compromised packages may execute with access to these inherited environment variables. This creates a risk of unintended credential exposure and enables potential supply chain attacks through silent exfiltration of secrets. This vulnerability is fixed in 4.5.128.
Характеристики атаки
Последствия
Строка CVSS v3.1