Execute a Python script in a virtual environment on the HexStrike server. Args: script: Python script content to execute env_name: Name of the virtual environment filename: Custom script filename (auto-generated if empty) Returns:
(script: str, env_name: str = "default", filename: str = "")
| 967 | |
| 968 | @mcp.tool() |
| 969 | def execute_python_script(script: str, env_name: str = "default", filename: str = "") -> Dict[str, Any]: |
| 970 | """ |
| 971 | Execute a Python script in a virtual environment on the HexStrike server. |
| 972 | |
| 973 | Args: |
| 974 | script: Python script content to execute |
| 975 | env_name: Name of the virtual environment |
| 976 | filename: Custom script filename (auto-generated if empty) |
| 977 | |
| 978 | Returns: |
| 979 | Script execution results |
| 980 | """ |
| 981 | data = { |
| 982 | "script": script, |
| 983 | "env_name": env_name |
| 984 | } |
| 985 | if filename: |
| 986 | data["filename"] = filename |
| 987 | |
| 988 | logger.info(f"🐍 Executing Python script in env {env_name}") |
| 989 | result = hexstrike_client.safe_post("api/python/execute", data) |
| 990 | if result.get("success"): |
| 991 | logger.info(f"✅ Python script executed successfully") |
| 992 | else: |
| 993 | logger.error(f"❌ Python script execution failed") |
| 994 | return result |
| 995 | |
| 996 | # ============================================================================ |
| 997 | # ADDITIONAL SECURITY TOOLS FROM ORIGINAL IMPLEMENTATION |