|
上周,manus的沙盒代码被诱导之后,可以打包下载。 manus没有护城河?已被破解,可下载所有代码! 但是下载完成打开,虽然start_server.py确实可以直接运行起来,但是整个代码项目是加密的~ 代码是pyarmor加密的,这个正常逆向是很麻烦的。所以之前留言,我都回复了等大佬开源就好了。然后他来了~ 接下来简单看看这个项目的实现逻辑! 现在都是明文了 首先需要注意的是,沙箱代码并不是manus的真实代码。他只是提供一个安全、隔离的容器给大模型,让它可以与终端、浏览器交互。充当大模型与资源之前的桥梁,使得AI可以自主运行终端命令、浏览器操作、编辑文本等等。 系统架构┌───────────────────────────┐ ┌─────────────────┐ ┌────────────────────────────────────────────┐ │ │ │ │ │ Sandbox Container │ │ AI Agent (e.g. Claude) │ │ API Proxy │ │ │ │ │ │ │ │ ┌──────────┐ ┌─────────┐ ┌────────────┐ │ │ MANUS │ API Requests │ - Auth check │ │ │ │ │ │ │ │ │ │ │◄──────────────►│ - Rate limiting├─────►│ │ Terminal │ │ Browser │ │ File/Text │ │ │ │ & Responses │ - Routing │ │ │ Service │ │ Service │ │ Operations │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └────┬─────┘ └────┬────┘ └─────┬──────┘ │ └───────────────────────────┘ └─────────────────┘ │ │ │ │ │ x-sandbox-token │ │ │ │ │ authentication │ v v v │ │ ┌──────────────────────────────────────┐ │ │ │ FastAPI │ │ │ │ (app/server.py + router.py) │ │ │ └──────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────┘
整个项目主要包含以下几个关键组件: 1. API服务层项目使用FastAPI构建了一个HTTP服务(app/server.py),作为AI与沙盒交互的主要入口点。所有来自AI的请求都会经过这一层处理,然后路由到对应的功能模块。 2. 终端服务终端服务允许AI直接执行shell命令,并实时获取输出结果。对于需要持续交互的场景,它还提供了基于WebSocket的实时通信(app/terminal_socket_server.py)。 这部分功能使得大模型可以: 3. 浏览器自动化browser_use库的集成。这是一个经过修改的开源库,让AI能够通过API控制浏览器行为。 browser_use主要包含以下功能模块: Agent类 (browser_use/agent/service.py)classAgent: def__init__( self, task: str, llm: BaseChatModel, browser: Browser | None = None, # 其他参数... ): # 初始化组件 asyncdefrun(self, max_steps: int =100)-> AgentHistoryList: # 主执行循环 # 处理LLM输出并执行动作
这个类是浏览器自动化的核心,负责将AI的指令转化为具体的浏览器操作。 浏览器上下文在context.py里边 提供了一系列方法让AI与网页交互: system prompt(browser_use/agent/prompts.py)这部分应该是跟原始仓库一样的,没有仔细对比。 定义了告诉AI如何与浏览器交互的指令集,包括: AI如何与沙盒通信?AI与沙盒之间的通信流程:
- AI发送HTTP请求到代理服务(
https://api.manus.im/apiproxy.v1.ApiProxyService/CallApi)
- 请求包含API令牌(
x-sandbox-token头) - 令牌会与存储在
$HOME/.secrets/sandbox_api_token中的值进行验证
例如,AI执行一个shell命令的流程是这样的:
┌─────────────┐ ┌───────────────┐ ┌──────────────────┐ │ │ 1. HTTP请求 │ │ 2. 路由到 │ │ │ AI 代理 │────────────────►│ 沙盒API │─────────────►│ 终端服务 │ │ │ │ (FastAPI) │ │ │ │ │◄────────────────│ │◄─────────────│ │ └─────────────┘ 4. JSON响应 └───────────────┘ 3. 执行命令 └──────────────────┘
实际应用场景通过这个沙盒环境,Claude等大模型可以执行如网页自动化、开发调试代码、执行系统指令、管理文件进程等操作。
|