返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

manus没有秘密?沙盒代码逆向完成,开源~

[复制链接]
链载Ai 显示全部楼层 发表于 前天 17:33 |阅读模式 打印 上一主题 下一主题


上周,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)。

这部分功能使得大模型可以:

  • 运行Linux/Unix命令
  • 安装软件包
  • 操作文件系统
  • 执行编程语言(Python、Node.js等)

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与网页交互:

  • 导航到特定URL
  • 点击页面元素
  • 在表单中输入文本
  • 页面滚动
  • 提取网页内容

system prompt(browser_use/agent/prompts.py)

这部分应该是跟原始仓库一样的,没有仔细对比。 定义了告诉AI如何与浏览器交互的指令集,包括:

  • 响应格式规范(JSON结构)
  • 与浏览器元素交互的规则
  • 导航和错误处理指南
  • 任务完成标准

AI如何与沙盒通信?

AI与沙盒之间的通信流程:

  1. AI制定请求

  • AI决定执行某个动作(如运行终端命令、浏览网页)
  • 根据API规范构建适当的请求
  • 请求传输

    • AI发送HTTP请求到代理服务(https://api.manus.im/apiproxy.v1.ApiProxyService/CallApi
  • 认证

    • 请求包含API令牌(x-sandbox-token头)
    • 令牌会与存储在$HOME/.secrets/sandbox_api_token中的值进行验证
  • 请求处理

    • 沙盒的FastAPI服务器接收并处理请求
    • 将请求路由到相应的服务(终端、浏览器、文件操作)
  • 返回响应

    • 将操作结果格式化为JSON或二进制数据
    • 将响应发送回AI

    例如,AI执行一个shell命令的流程是这样的:

    ┌─────────────┐         ┌───────────────┐       ┌──────────────────┐
    │ │ 1. HTTP请求 │ │ 2. 路由到 │ │
    │ AI 代理 │────────────────►│ 沙盒API │─────────────►│ 终端服务 │
    │ │ │ (FastAPI) │ │ │
    │ │◄────────────────│ │◄─────────────│ │
    └─────────────┘ 4. JSON响应 └───────────────┘ 3. 执行命令 └──────────────────┘

    实际应用场景

    通过这个沙盒环境,Claude等大模型可以执行如网页自动化、开发调试代码、执行系统指令、管理文件进程等操作。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ