From a00cdb5baab16934e9667f70fa75568d30349825 Mon Sep 17 00:00:00 2001 From: OpenClaw Bot Date: Wed, 18 Mar 2026 04:02:36 +0800 Subject: [PATCH 1/2] fix: unify log timestamp format in xfyun ASR extensions - Consistent timestamp format %Y-%m-%d %H:%M:%S.%f (with milliseconds) - Fixed 3 files: xfyun_asr_python, xfyun_asr_bigmodel_python, xfyun_asr_dialect_python - Resolves issue #2082 --- .../extension/xfyun_asr_bigmodel_python/recognition.py | 5 ++--- .../extension/xfyun_asr_dialect_python/recognition.py | 3 ++- .../ten_packages/extension/xfyun_asr_python/recognition.py | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/ai_agents/agents/ten_packages/extension/xfyun_asr_bigmodel_python/recognition.py b/ai_agents/agents/ten_packages/extension/xfyun_asr_bigmodel_python/recognition.py index 9ba833909f..64dbb8e6cb 100644 --- a/ai_agents/agents/ten_packages/extension/xfyun_asr_bigmodel_python/recognition.py +++ b/ai_agents/agents/ten_packages/extension/xfyun_asr_bigmodel_python/recognition.py @@ -217,9 +217,8 @@ async def _handle_message(self, message): except Exception as e: error_msg = f"Error processing message: {e}" - self._log_debug( - f"[{datetime.now().strftime('%Y-%m-%d %H:%M:%S')}] {error_msg}" - ) + timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")[:-3] + self._log_debug(f"[{timestamp}] {error_msg}") if self.callback: await self.callback.on_error(error_msg) diff --git a/ai_agents/agents/ten_packages/extension/xfyun_asr_dialect_python/recognition.py b/ai_agents/agents/ten_packages/extension/xfyun_asr_dialect_python/recognition.py index 6c06186e44..99ae1fe2d0 100644 --- a/ai_agents/agents/ten_packages/extension/xfyun_asr_dialect_python/recognition.py +++ b/ai_agents/agents/ten_packages/extension/xfyun_asr_dialect_python/recognition.py @@ -252,8 +252,9 @@ async def _handle_message(self, message): except Exception as e: error_msg = f"Error processing message: {e}" + timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")[:-3] self.ten_env.log_error( - f"[{datetime.now().strftime('%Y-%m-%d %H:%M:%S')}] {error_msg}" + f"[{timestamp}] {error_msg}" ) if self.callback: await self.callback.on_error(error_msg) diff --git a/ai_agents/agents/ten_packages/extension/xfyun_asr_python/recognition.py b/ai_agents/agents/ten_packages/extension/xfyun_asr_python/recognition.py index 329e9071b0..2010486c10 100644 --- a/ai_agents/agents/ten_packages/extension/xfyun_asr_python/recognition.py +++ b/ai_agents/agents/ten_packages/extension/xfyun_asr_python/recognition.py @@ -197,8 +197,9 @@ async def _handle_message(self, message): except Exception as e: error_msg = f"Error processing message: {e}" + timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")[:-3] self.ten_env.log_info( - f"[{datetime.now().strftime('%Y-%m-%d %H:%M:%S')}] {error_msg}" + f"[{timestamp}] {error_msg}" ) await self.callback.on_error(error_msg) From c70ff088151778cc6417609fc674f2f1da365c56 Mon Sep 17 00:00:00 2001 From: Jah-yee Date: Wed, 8 Apr 2026 15:26:32 +0800 Subject: [PATCH 2/2] Fix: Replace shell=True with shell=False for security Prevents shell injection vulnerabilities. Good day --- packages/core_apps/default_app_cpp/tools/run_script.py | 2 +- .../core_extensions/default_extension_cpp/tools/run_script.py | 2 +- .../default_extension_nodejs/tools/run_script.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/core_apps/default_app_cpp/tools/run_script.py b/packages/core_apps/default_app_cpp/tools/run_script.py index 64a329c7e6..1f70f130db 100644 --- a/packages/core_apps/default_app_cpp/tools/run_script.py +++ b/packages/core_apps/default_app_cpp/tools/run_script.py @@ -52,7 +52,7 @@ def detect_arch() -> str: def run_cmd(cmd: str) -> int: """Run a shell command.""" print(f"Running: {cmd}") - result = subprocess.run(cmd, shell=True, check=True) + result = subprocess.run(cmd, shell=False, check=True) return result.returncode diff --git a/packages/core_extensions/default_extension_cpp/tools/run_script.py b/packages/core_extensions/default_extension_cpp/tools/run_script.py index b2a0c2783c..b91a3cd09d 100644 --- a/packages/core_extensions/default_extension_cpp/tools/run_script.py +++ b/packages/core_extensions/default_extension_cpp/tools/run_script.py @@ -53,7 +53,7 @@ def run_cmd(cmd: str, env: dict[str, str] | None = None) -> int: if env is None: env = os_module.environ.copy() print(f"Running: {cmd}") - result = subprocess.run(cmd, shell=True, check=True, env=env) + result = subprocess.run(cmd, shell=False, check=True, env=env) return result.returncode diff --git a/packages/core_extensions/default_extension_nodejs/tools/run_script.py b/packages/core_extensions/default_extension_nodejs/tools/run_script.py index 616bc1b093..54d96a15cc 100644 --- a/packages/core_extensions/default_extension_nodejs/tools/run_script.py +++ b/packages/core_extensions/default_extension_nodejs/tools/run_script.py @@ -15,7 +15,7 @@ def run_cmd(cmd: str, env: dict[str, str] | None = None) -> int: if env is None: env = os.environ.copy() print(f"Running: {cmd}") - result = subprocess.run(cmd, shell=True, check=True, env=env) + result = subprocess.run(cmd, shell=False, check=True, env=env) return result.returncode