CVE-2026-40156PraisonAI在4.5.128版本之前存在安全漏洞。该系统会自动从当前工作目录加载并执行名为`tools.py`的文件以注册自定义工具。此过程使用`importlib`直接运行模块级代码,且未经过用户同意、验证或沙箱隔离。由于加载是隐式进行的,攻击者只需在目标目录下放置恶意的`tools.py`文件,当用户或CI/CD系统运行PraisonAI时,恶意代码将在启动阶段立即被执行,导致任意代码执行。该问题破坏了项目文件与可执行代码之间的安全边界。
该漏洞源于PraisonAI的工具发现机制缺乏安全验证。受影响版本在启动时,会默认扫描当前工作目录,寻找名为`tools.py`的文件。一旦发现,系统利用Python的`importlib.util.spec_from_file_location`函数动态加载该文件,并立即调用`spec.loader.exec_module()`执行模块内的所有代码。
该机制存在严重的安全缺陷:首先,它隐式地信任了工作目录中的文件,绕过了常规的配置引用检查;其次,执行过程没有任何沙箱或权限限制,恶意代码拥有宿主进程的全部权限。攻击者只需具备在目标工作目录写入文件的权限(例如通过共享文件夹、Git仓库或供应链投毒),即可植入恶意脚本。当受害者运行PraisonAI时,恶意代码会在应用逻辑初始化前自动触发,实现本地权限提升或系统接管。