PraisonAI CodeAgent 无沙箱执行代码泄露环境密钥
Start here
PraisonAI 的 CodeAgent._execute_python() 在子进程中执行 LLM 生成的 Python 代码时,使用 os.environ.copy() 将完整父进程环境传入子进程,且不做 AST 校验、不限制 import,即使显式设置 CodeConfig(sandbox=True) 也不会生效。攻击者可通过提示注入影响 LLM 输出,进而窃取 API key、数据库凭据和云 token 等全部环境变量。该问题以 CVE-2026-61447 披露,PraisonAI 发布安全公告,GitHub 安全公告随后也披露了同一问题。
Generated by AI from reports · Updated 4 days ago
Progress timeline
- GitHub 安全公告SelectedPraisonAI CodeAgent 被指无沙箱执行 LLM 生成代码并泄露全部环境密钥
GitHub 安全公告披露,PraisonAI 的 CodeAgent._execute_python() 在子进程中执行 LLM 生成的 Python 代码时使用 os.environ.copy() 传入完整父进程环境,且不做 AST 校验、不限制 import,即使显式设置 CodeConfig(sandbox=True) 也不会生效。攻击者可通过提示注入影响 LLM 输出,进而窃取 API key、数据库凭据、云 token 等全部环境变量,并在主机上执行任意代码。公告给出的 PoC 显示,Agent 执行一段筛选并打印环境变量的代码即可输出所有密钥;真实攻击中可诱导模型通过 urllib 将 OPENAI_API_KEY 发送到攻击者服务器。与 python_tools.py 中使用 env={} 的沙箱化 execute_code 工具相比,该路径的隔离仅剩子进程执行。
- Date not givenMervinPraison/PraisonAI advisory(reporter: anushkavirgaonkar);NVD/CVEPraisonAI 披露 CodeAgent 漏洞 CVE-2026-61447:执行 LLM 生成代码时泄露全部环境变量
PraisonAI 发布安全公告,披露 CodeAgent._execute_python() 在子进程中执行 LLM 生成的 Python 代码时使用 os.environ.copy() 传入完整父进程环境,且不做 AST 校验、不限制 import,即使显式设置 CodeConfig(sandbox=True) 也不会生效。攻击者可通过提示注入影响 LLM 输出,进而窃取 API key、数据库凭据和云 token 等全部环境变量,并在主机上执行任意代码。公告指出同项目 python_tools.py 中的 execute_code 工具使用空环境变量,而该路径的 sandbox 字段从未被检查,代码注释中的 basic sandboxing 仅指子进程执行。PoC 显示 CodeAgent 可直接打印出所有含 KEY、SECRET、TOKEN 等关键词的环境变量。
Related discussion
Attention trend
New sources per day
- Oct 5New1 sources (1 outlets,0 accounts)
- Oct 6New0 sources (0 outlets,0 accounts)
- Oct 7New0 sources (0 outlets,0 accounts)
- Oct 8New0 sources (0 outlets,0 accounts)
- Oct 9New1 sources (1 outlets,0 accounts)
- Oct 10New0 sources (0 outlets,0 accounts)
- Oct 11New0 sources (0 outlets,0 accounts)
- Oct 12New0 sources (0 outlets,0 accounts)
- Oct 13New0 sources (0 outlets,0 accounts)