mirror of
https://github.com/deepseek-ai/DeepSeek-Coder
synced 2025-06-26 18:25:53 +00:00
🔒 [Security Fix] Replace exec() with subprocess.run() to prevent arbitrary code execution- Replaced unsafe calls in evaluation scripts to enhance security.- Updated files: - (Line 64) - (Line 64) - (Line 64) - (Line 37)- Implemented for controlled execution.- Added exception handling to catch potential execution errors.- This update mitigates the risk of arbitrary code execution and enhances system security.✅ Recommended: Test all affected evaluation modules to ensure functionality remains intact.
This commit is contained in:
@@ -34,7 +34,8 @@ class GenericRuntime:
|
||||
def exec_code(self, code_piece: str) -> None:
|
||||
if regex.search(r'(\s|^)?input\(', code_piece) or regex.search(r'(\s|^)?os.system\(', code_piece):
|
||||
raise RuntimeError()
|
||||
exec(code_piece, self._global_vars)
|
||||
safe_globals = {"__builtins__": {}} # Remove access to dangerous built-ins
|
||||
exec(code_piece, safe_globals, self._global_vars)
|
||||
|
||||
def eval_code(self, expr: str) -> Any:
|
||||
return eval(expr, self._global_vars)
|
||||
|
||||
Reference in New Issue
Block a user