openeuler-intelligence-sandbox革命性代码执行服务一站式支持多语言安全运行【免费下载链接】openeuler-intelligence-sandboxCode execution service for openEuler Intelligence supported multiple programming languages项目地址: https://gitcode.com/openeuler/openeuler-intelligence-sandbox前往项目官网免费下载https://ar.openeuler.org/ar/在当今数字化时代代码执行服务已成为开发者生态系统中不可或缺的一环。openEuler Intelligence Sandbox作为一款革命性的代码执行服务为开发者提供了安全、高效、多语言支持的一站式代码运行环境。这个开源项目基于FastAPI构建不仅支持Python、JavaScript、Bash等多种编程语言更通过创新的安全隔离机制确保了代码执行的安全性。 为什么需要安全的代码执行服务在在线编程教育、代码评估平台、自动化测试系统等场景中用户提交的代码往往具有不确定性。恶意代码可能尝试访问系统资源、执行危险操作或消耗过多计算资源。传统的代码执行环境要么安全性不足要么配置复杂难以满足现代开发需求。openEuler Intelligence Sandbox应运而生它提供了两级安全等级的代码执行机制让开发者能够根据需求选择不同的安全隔离级别既保证了执行效率又确保了系统安全。 核心功能特性多语言全面支持Python支持标准库和常用功能包含数学计算、字符串处理等JavaScript提供安全的Node.js执行环境Bash支持Shell脚本执行具备命令过滤机制未来扩展预留了Java等编译型语言的支持接口智能安全等级系统项目独创的两级安全等级设计让不同场景下的代码执行更加灵活 低安全等级 (LOW)使用本地安全加固的exec执行器最大并发10个任务适用场景相对受信任的用户代码响应速度快资源消耗低 高安全等级 (HIGH)使用完全隔离的容器执行器最大并发3个任务适用场景不受信任的用户代码完全隔离安全性最高先进的队列管理系统基于优先级队列的设计确保了任务处理的效率和公平性按安全等级分队列不同安全等级的任务使用独立的队列智能调度算法自动平衡各队列的负载实时监控接口提供完整的队列状态信息API️ 架构设计精妙之处openEuler Intelligence Sandbox采用了分层架构设计每个模块职责清晰┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐ │ FastAPI │ │ ExecutorManager │ │ QueueManager │ │ Service │───▶│ │───▶│ │ │ │ │ │ │ - LOW Queue │ └─────────────────┘ └──────────────────┘ │ │ │ │ - HIGH Queue │ │ └─────────────────┘ ▼ ┌──────────────────────┐ │ APScheduler │ │ Task Processing │ └──────────────────────┘ │ ▼ ┌──────────────────────┐ │ Executors │ │ ┌─────────────────┐ │ │ │ ExecExecutor │ │ │ └─────────────────┘ │ │ ┌─────────────────┐ │ │ │ContainerExecutor│ │ │ └─────────────────┘ │ └──────────────────────┘核心模块详解服务层(app/service.py)基于FastAPI构建的RESTful API服务提供完整的HTTP接口执行器管理器(app/executor_manager.py)负责执行器的生命周期管理和任务调度队列管理器(app/queue_manager.py)实现优先级队列和并发控制执行器基类(app/executor/base.py)定义统一的执行器接口支持扩展️ 多层次安全防护体系代码级别安全控制Python安全包装器模块导入限制禁用危险模块os、sys、subprocess等内置函数限制禁用exec()、eval()、compile()等危险函数自定义__import__拦截并阻止危险模块的导入文件操作禁用完全禁用文件读写操作JavaScript安全包装器require()禁用阻止Node.js模块导入process对象移除禁用进程控制相关功能全局对象清理移除危险的全局变量和函数eval禁用阻止动态代码执行Bash命令过滤危险命令黑名单自动替换rm、wget、curl、ssh等危险命令命令执行限制只允许基本的输出和计算命令系统级别资源限制内存限制最大内存64MB可配置内存炸弹防护防止恶意代码消耗大量内存CPU限制执行时间最大10秒硬限制CPU核心数限制可使用的CPU资源无限循环防护自动终止长时间运行的进程文件系统限制文件大小单个文件最大1MB文件描述符限制可打开的文件数量临时目录隔离每个任务使用独立的临时目录 丰富的API接口主要API端点提交代码执行任务POST /execute支持Python、JavaScript、Bash等多种编程语言的代码执行请求。获取任务状态GET /task/{task_id}/status实时查询任务执行状态支持轮询机制。获取任务结果GET /task/{task_id}/result获取代码执行结果包括输出、错误信息和资源使用情况。取消任务DELETE /task/{task_id}支持任务取消功能避免资源浪费。监控接口GET /health- 健康检查GET /queues/info- 队列信息GET /executors/status- 执行器状态GET /system/status- 系统整体状态 快速开始指南环境准备克隆仓库git clone https://gitcode.com/openeuler/openeuler-intelligence-sandbox cd openeuler-intelligence-sandbox安装依赖pip install -r requirements.txt启动服务cd app python start_service.py服务将在http://localhost:8000启动您可以通过以下方式访问API文档Swagger UI:http://localhost:8000/docsReDoc:http://localhost:8000/redoc示例代码执行Python代码执行示例import requests url http://localhost:8000/execute payload { code: print(Hello, World!)\nfor i in range(5):\n print(fNumber: {i}), code_type: python, user_info: { user_id: user123, username: 测试用户, permissions: [execute] }, security_level: low, timeout_seconds: 30, memory_limit_mb: 128, cpu_limit: 0.5 } response requests.post(url, jsonpayload) print(response.json()) 全面的测试覆盖项目提供了完整的测试套件确保代码执行的安全性和稳定性基础功能测试(tests/test_python_executor.py)验证各语言的基本功能安全机制测试(tests/test_enhanced_bash_security.py)测试安全防护的有效性集成测试(tests/run_all_tests.py)完整的端到端测试流程测试策略 优秀阻止率 ≥ 95%误杀率 ≤ 10% 良好阻止率 ≥ 80%误杀率 ≤ 20% 中等阻止率 ≥ 60%误杀率 ≤ 30% 危险阻止率 60% 或误杀率 30% 扩展和定制添加新的代码类型在entities.py中的CodeType枚举添加新类型在相应执行器中添加支持配置更新容器镜像映射创建自定义执行器继承BaseExecutor类并实现抽象方法class CustomExecutor(BaseExecutor): async def prepare_environment(self, request): # 实现环境准备逻辑 pass async def apply_security_constraints(self, request, env_info): # 实现安全约束逻辑 pass async def execute_code(self, request, env_info, security_config): # 实现代码执行逻辑 pass async def cleanup_environment(self, env_info): # 实现环境清理逻辑 pass 生产部署建议安全配置启用HTTPS在生产环境中启用SSL/TLS加密限制CORS配置具体的允许域名避免跨站攻击访问控制实现基于角色的访问控制(RBAC)监控和运维集成监控使用Prometheus、Grafana等监控工具结构化日志使用JSON格式日志便于日志聚合和分析告警机制设置资源使用告警阈值性能优化容器化部署使用Docker进行容器化部署负载均衡在多实例前使用负载均衡器缓存策略实现结果缓存减少重复计算 应用场景在线编程教育平台学生代码实时执行和评估自动化代码评分系统编程竞赛平台代码评估和测试自动化代码审查安全漏洞扫描性能基准测试开发者工具在线代码片段执行API文档中的交互式示例技术面试平台科研和教育算法教学演示数据科学实验环境计算机科学课程实践 未来发展方向openEuler Intelligence Sandbox项目具有广阔的发展前景语言支持扩展计划支持更多编程语言包括Go、Rust、C等安全机制增强引入更多安全隔离技术如WebAssembly、Firecracker等性能优化支持分布式执行和负载均衡生态集成与主流开发工具和平台深度集成 学习资源官方文档项目提供了完整的API文档和使用指南示例代码包含丰富的使用示例和测试用例社区支持活跃的开源社区提供技术支持和问题解答 总结openEuler Intelligence Sandbox作为一款革命性的代码执行服务通过创新的安全隔离机制、多语言支持和智能队列管理为开发者提供了安全、高效、可靠的代码执行环境。无论是教育平台、代码评估系统还是开发者工具它都能提供强大的支持。项目的开源特性意味着您可以自由使用、修改和扩展它满足特定场景的需求。随着社区的不断贡献openEuler Intelligence Sandbox将持续演进为开源生态贡献更多价值。开始体验这个强大的代码执行服务为您的项目注入安全可靠的代码执行能力【免费下载链接】openeuler-intelligence-sandboxCode execution service for openEuler Intelligence supported multiple programming languages项目地址: https://gitcode.com/openeuler/openeuler-intelligence-sandbox创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
openeuler-intelligence-sandbox:革命性代码执行服务,一站式支持多语言安全运行
openeuler-intelligence-sandbox革命性代码执行服务一站式支持多语言安全运行【免费下载链接】openeuler-intelligence-sandboxCode execution service for openEuler Intelligence supported multiple programming languages项目地址: https://gitcode.com/openeuler/openeuler-intelligence-sandbox前往项目官网免费下载https://ar.openeuler.org/ar/在当今数字化时代代码执行服务已成为开发者生态系统中不可或缺的一环。openEuler Intelligence Sandbox作为一款革命性的代码执行服务为开发者提供了安全、高效、多语言支持的一站式代码运行环境。这个开源项目基于FastAPI构建不仅支持Python、JavaScript、Bash等多种编程语言更通过创新的安全隔离机制确保了代码执行的安全性。 为什么需要安全的代码执行服务在在线编程教育、代码评估平台、自动化测试系统等场景中用户提交的代码往往具有不确定性。恶意代码可能尝试访问系统资源、执行危险操作或消耗过多计算资源。传统的代码执行环境要么安全性不足要么配置复杂难以满足现代开发需求。openEuler Intelligence Sandbox应运而生它提供了两级安全等级的代码执行机制让开发者能够根据需求选择不同的安全隔离级别既保证了执行效率又确保了系统安全。 核心功能特性多语言全面支持Python支持标准库和常用功能包含数学计算、字符串处理等JavaScript提供安全的Node.js执行环境Bash支持Shell脚本执行具备命令过滤机制未来扩展预留了Java等编译型语言的支持接口智能安全等级系统项目独创的两级安全等级设计让不同场景下的代码执行更加灵活 低安全等级 (LOW)使用本地安全加固的exec执行器最大并发10个任务适用场景相对受信任的用户代码响应速度快资源消耗低 高安全等级 (HIGH)使用完全隔离的容器执行器最大并发3个任务适用场景不受信任的用户代码完全隔离安全性最高先进的队列管理系统基于优先级队列的设计确保了任务处理的效率和公平性按安全等级分队列不同安全等级的任务使用独立的队列智能调度算法自动平衡各队列的负载实时监控接口提供完整的队列状态信息API️ 架构设计精妙之处openEuler Intelligence Sandbox采用了分层架构设计每个模块职责清晰┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐ │ FastAPI │ │ ExecutorManager │ │ QueueManager │ │ Service │───▶│ │───▶│ │ │ │ │ │ │ - LOW Queue │ └─────────────────┘ └──────────────────┘ │ │ │ │ - HIGH Queue │ │ └─────────────────┘ ▼ ┌──────────────────────┐ │ APScheduler │ │ Task Processing │ └──────────────────────┘ │ ▼ ┌──────────────────────┐ │ Executors │ │ ┌─────────────────┐ │ │ │ ExecExecutor │ │ │ └─────────────────┘ │ │ ┌─────────────────┐ │ │ │ContainerExecutor│ │ │ └─────────────────┘ │ └──────────────────────┘核心模块详解服务层(app/service.py)基于FastAPI构建的RESTful API服务提供完整的HTTP接口执行器管理器(app/executor_manager.py)负责执行器的生命周期管理和任务调度队列管理器(app/queue_manager.py)实现优先级队列和并发控制执行器基类(app/executor/base.py)定义统一的执行器接口支持扩展️ 多层次安全防护体系代码级别安全控制Python安全包装器模块导入限制禁用危险模块os、sys、subprocess等内置函数限制禁用exec()、eval()、compile()等危险函数自定义__import__拦截并阻止危险模块的导入文件操作禁用完全禁用文件读写操作JavaScript安全包装器require()禁用阻止Node.js模块导入process对象移除禁用进程控制相关功能全局对象清理移除危险的全局变量和函数eval禁用阻止动态代码执行Bash命令过滤危险命令黑名单自动替换rm、wget、curl、ssh等危险命令命令执行限制只允许基本的输出和计算命令系统级别资源限制内存限制最大内存64MB可配置内存炸弹防护防止恶意代码消耗大量内存CPU限制执行时间最大10秒硬限制CPU核心数限制可使用的CPU资源无限循环防护自动终止长时间运行的进程文件系统限制文件大小单个文件最大1MB文件描述符限制可打开的文件数量临时目录隔离每个任务使用独立的临时目录 丰富的API接口主要API端点提交代码执行任务POST /execute支持Python、JavaScript、Bash等多种编程语言的代码执行请求。获取任务状态GET /task/{task_id}/status实时查询任务执行状态支持轮询机制。获取任务结果GET /task/{task_id}/result获取代码执行结果包括输出、错误信息和资源使用情况。取消任务DELETE /task/{task_id}支持任务取消功能避免资源浪费。监控接口GET /health- 健康检查GET /queues/info- 队列信息GET /executors/status- 执行器状态GET /system/status- 系统整体状态 快速开始指南环境准备克隆仓库git clone https://gitcode.com/openeuler/openeuler-intelligence-sandbox cd openeuler-intelligence-sandbox安装依赖pip install -r requirements.txt启动服务cd app python start_service.py服务将在http://localhost:8000启动您可以通过以下方式访问API文档Swagger UI:http://localhost:8000/docsReDoc:http://localhost:8000/redoc示例代码执行Python代码执行示例import requests url http://localhost:8000/execute payload { code: print(Hello, World!)\nfor i in range(5):\n print(fNumber: {i}), code_type: python, user_info: { user_id: user123, username: 测试用户, permissions: [execute] }, security_level: low, timeout_seconds: 30, memory_limit_mb: 128, cpu_limit: 0.5 } response requests.post(url, jsonpayload) print(response.json()) 全面的测试覆盖项目提供了完整的测试套件确保代码执行的安全性和稳定性基础功能测试(tests/test_python_executor.py)验证各语言的基本功能安全机制测试(tests/test_enhanced_bash_security.py)测试安全防护的有效性集成测试(tests/run_all_tests.py)完整的端到端测试流程测试策略 优秀阻止率 ≥ 95%误杀率 ≤ 10% 良好阻止率 ≥ 80%误杀率 ≤ 20% 中等阻止率 ≥ 60%误杀率 ≤ 30% 危险阻止率 60% 或误杀率 30% 扩展和定制添加新的代码类型在entities.py中的CodeType枚举添加新类型在相应执行器中添加支持配置更新容器镜像映射创建自定义执行器继承BaseExecutor类并实现抽象方法class CustomExecutor(BaseExecutor): async def prepare_environment(self, request): # 实现环境准备逻辑 pass async def apply_security_constraints(self, request, env_info): # 实现安全约束逻辑 pass async def execute_code(self, request, env_info, security_config): # 实现代码执行逻辑 pass async def cleanup_environment(self, env_info): # 实现环境清理逻辑 pass 生产部署建议安全配置启用HTTPS在生产环境中启用SSL/TLS加密限制CORS配置具体的允许域名避免跨站攻击访问控制实现基于角色的访问控制(RBAC)监控和运维集成监控使用Prometheus、Grafana等监控工具结构化日志使用JSON格式日志便于日志聚合和分析告警机制设置资源使用告警阈值性能优化容器化部署使用Docker进行容器化部署负载均衡在多实例前使用负载均衡器缓存策略实现结果缓存减少重复计算 应用场景在线编程教育平台学生代码实时执行和评估自动化代码评分系统编程竞赛平台代码评估和测试自动化代码审查安全漏洞扫描性能基准测试开发者工具在线代码片段执行API文档中的交互式示例技术面试平台科研和教育算法教学演示数据科学实验环境计算机科学课程实践 未来发展方向openEuler Intelligence Sandbox项目具有广阔的发展前景语言支持扩展计划支持更多编程语言包括Go、Rust、C等安全机制增强引入更多安全隔离技术如WebAssembly、Firecracker等性能优化支持分布式执行和负载均衡生态集成与主流开发工具和平台深度集成 学习资源官方文档项目提供了完整的API文档和使用指南示例代码包含丰富的使用示例和测试用例社区支持活跃的开源社区提供技术支持和问题解答 总结openEuler Intelligence Sandbox作为一款革命性的代码执行服务通过创新的安全隔离机制、多语言支持和智能队列管理为开发者提供了安全、高效、可靠的代码执行环境。无论是教育平台、代码评估系统还是开发者工具它都能提供强大的支持。项目的开源特性意味着您可以自由使用、修改和扩展它满足特定场景的需求。随着社区的不断贡献openEuler Intelligence Sandbox将持续演进为开源生态贡献更多价值。开始体验这个强大的代码执行服务为您的项目注入安全可靠的代码执行能力【免费下载链接】openeuler-intelligence-sandboxCode execution service for openEuler Intelligence supported multiple programming languages项目地址: https://gitcode.com/openeuler/openeuler-intelligence-sandbox创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考