安全漏洞 / 严重 / 工具系统
electron/harness/tools/built-in/command.ts
RunCommandTool 创建子进程时使用 spawn(cmd, args, { env: process.env }),将主进程的所有环境变量透传给子进程。 主进程中包含:
spawn(cmd, args, { env: process.env })
DEEPSEEK_API_KEY
AGNES_API_KEY
MIMO_API_KEY
GITEA_PASSWORD
LLM 可通过 env 或 echo $DEEPSEEK_API_KEY 命令读取这些密钥,然后通过 WebFetch 等工具外传。
env
echo $DEEPSEEK_API_KEY
const SAFE_ENV_VARS = ['PATH', 'HOME', 'USERPROFILE', 'SystemRoot', 'TEMP', 'TMP']; const safeEnv = Object.fromEntries( Object.entries(process.env) .filter(([key]) => SAFE_ENV_VARS.includes(key)) ); spawn(cmd, args, { env: safeEnv });
KEY
TOKEN
SECRET
PASSWORD
No dependencies set.
The note is not visible to the blocked user.
问题类型
安全漏洞 / 严重 / 工具系统
文件位置
electron/harness/tools/built-in/command.ts问题描述
RunCommandTool 创建子进程时使用
spawn(cmd, args, { env: process.env }),将主进程的所有环境变量透传给子进程。主进程中包含:
DEEPSEEK_API_KEYAGNES_API_KEYMIMO_API_KEYGITEA_PASSWORD(如本会话曾设置)LLM 可通过
env或echo $DEEPSEEK_API_KEY命令读取这些密钥,然后通过 WebFetch 等工具外传。影响
建议修复
KEYTOKENSECRETPASSWORD的变量