From 197d514cb44ace5e1a849f07f6ed7f6378478e45 Mon Sep 17 00:00:00 2001 From: liqiang-fit2cloud Date: Tue, 25 Nov 2025 14:33:13 +0800 Subject: [PATCH] refactor: clear all env from sandbox. --- apps/common/utils/tool_code.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/apps/common/utils/tool_code.py b/apps/common/utils/tool_code.py index 45e532cc0..cc2571236 100644 --- a/apps/common/utils/tool_code.py +++ b/apps/common/utils/tool_code.py @@ -82,13 +82,14 @@ class ToolExecutor: python_paths = CONFIG.get_sandbox_python_package_paths().split(',') _exec_code = f""" try: - import sys, json, base64, builtins + import os, sys, json, base64, builtins path_to_exclude = ['/opt/py3/lib/python3.11/site-packages', '/opt/maxkb-app/apps'] sys.path = [p for p in sys.path if p not in path_to_exclude] sys.path += {python_paths} locals_v={'{}'} keywords={keywords} globals_v={'{}'} + os.environ.clear() exec({dedent(code_str)!a}, globals_v, locals_v) f_name, f = locals_v.popitem() for local in locals_v: @@ -180,16 +181,14 @@ except Exception as e: python_paths = CONFIG.get_sandbox_python_package_paths().split(',') code = self._generate_mcp_server_code(code_str, params) return f""" -import os -import sys -import logging +import os, sys, logging logging.basicConfig(level=logging.WARNING) logging.getLogger("mcp").setLevel(logging.ERROR) logging.getLogger("mcp.server").setLevel(logging.ERROR) - path_to_exclude = ['/opt/py3/lib/python3.11/site-packages', '/opt/maxkb-app/apps'] sys.path = [p for p in sys.path if p not in path_to_exclude] sys.path += {python_paths} +os.environ.clear() exec({dedent(code)!a}) """