OpenClaw部署安全指南:从网络暴露到权限控制的风险防范
1. 从“一键部署”到“裸奔”的真相最近OpenClaw这个项目在技术圈里火得一塌糊涂但凡对AI应用、自动化工具感兴趣的朋友估计都在各个社区、视频平台刷到过它的身影。它被描绘成一个“万能助手”能帮你处理各种繁琐的网页操作、数据抓取、甚至模拟人类交互。很多人看到演示视频里那丝滑的操作二话不说就跟着教程“一键部署”了然后兴冲冲地跑起来感觉自己瞬间拥有了一个数字员工。但作为一个在自动化、爬虫和系统安全领域摸爬滚打多年的老手我必须给你泼一盆冷水你部署的很可能不是一个“助手”而是一个在互联网上“裸奔”的定时炸弹。这里的“裸奔”指的不是项目本身有恶意代码而是绝大多数部署者在追求“快速上手”的过程中完全忽略了最基本的安全配置和权限控制把一个本应运行在严格沙箱里的高权限工具直接暴露在了公网或本地高危环境中。这就像你买了一把功能强大的电锯说明书上明确写着“操作时请佩戴护目镜和手套并确保工件固定”但你因为急着想试试它削木头有多快直接上手就开干手指离锯齿只有几厘米。OpenClaw的火爆让大量非专业开发者、甚至是普通用户涌入他们被其强大的功能吸引却对其潜在的风险一无所知或者选择性忽视。今天我就来拆解一下在OpenClaw部署过程中那些被轻易跳过的“安全锁”到底是什么以及为什么跳过它们会让你陷入巨大的麻烦。2. OpenClaw的能力本质与核心风险点要理解风险首先得明白OpenClaw到底是什么。简单来说它是一个基于大型语言模型如GPT-4驱动的自动化智能体框架。它的核心工作模式是你给它一个自然语言指令比如“去XX网站搜索最新的显卡价格并整理成表格”它能够理解指令自主规划步骤打开浏览器、导航到网站、输入关键词、解析页面结构、提取数据、格式化并调用相应的工具浏览器控制器、键盘鼠标模拟、API请求等去执行。2.1 它为何如此强大且危险它的强大正源于其高度的“自主性”和“泛化能力”。它不像传统脚本那样死板只能针对特定页面写死XPath或CSS选择器。它通过LLM理解页面语义能适应不同结构的网站。但正是这种自主性带来了几个核心风险点高权限执行环境为了模拟人类操作OpenClaw通常需要获得对浏览器、操作系统输入设备鼠标、键盘甚至文件系统的直接控制权。这意味着一旦它被恶意指令误导或出现逻辑错误其操作范围可能远超你的预期。不可预测的行为边界LLM存在“幻觉”Hallucination可能误解指令或生成错误的操作步骤。你让它“登录邮箱查看最新邮件”它可能错误地执行了“删除所有邮件”或“将邮件转发到某个地址”。在复杂的网页环境中一个点击错误就可能触发链式反应。敏感信息暴露自动化过程常常需要处理登录凭证Cookies、Token、个人账户信息、访问的URL历史等。如果部署环境不安全这些信息极易被窃取。成为网络攻击的跳板如果一个配置不当的OpenClaw实例暴露在公网比如为了远程访问而错误地开放了端口它可能被攻击者利用作为发起进一步网络攻击、发送垃圾信息或扫描内网的代理。很多人部署时只关心“能不能跑起来”输入一句指令看到浏览器动起来了就欢呼成功却从未思考过“我赋予了这个程序的权限边界在哪里”、“它如果出错最坏能干什么”、“我的哪些数据暴露给了它”2.2 “裸奔”部署的典型场景画像让我描述几个最常见的“裸奔”场景你看看是否中招场景A云服务器上的“开放体验”。用户购买了一台云服务器按照某个简化的教程用Docker快速部署了OpenClaw并且为了能从自己家里的电脑访问修改了配置将服务的监听地址从127.0.0.1仅本机改成了0.0.0.0所有网络接口。同时云服务器的安全组规则里对应端口如3000、7860等是对全世界0.0.0.0/0开放的。这意味着任何知道服务器IP地址的人都可以访问到你的OpenClaw Web界面。如果这个界面没有设置任何身份验证……场景B本地机器的“权限放飞”。用户在个人电脑上以管理员root/Administrator权限运行OpenClaw。因为教程里一句“如果遇到权限错误请尝试使用sudo”。程序因此获得了读写系统关键文件、安装软件、修改系统设置的至高权力。一个异常的脚本就可能破坏系统。场景C敏感环境的“隔离缺失”。用户直接在存有重要工作文档、财务数据、私人照片的日常使用电脑上部署和测试OpenClaw。项目运行时产生的日志、缓存以及浏览器自动化时保存的会话都可能将你的隐私数据留存下来甚至被意外上传到远程调试服务器。场景DAPI密钥的“硬编码狂欢”。OpenClaw需要调用LLM API如OpenAI API、Claude API等。用户图省事直接将API密钥明文写在配置文件config.yaml或环境文件.env里然后把这个文件上传到了GitHub等公开代码仓库。你的API密钥就像把银行卡密码贴在了公告栏上瞬间就会被爬虫扫走导致巨额账单。这些场景的共性是牺牲安全性换取便利性且对潜在后果缺乏认知。接下来我们逐一拆解该如何给这些“裸奔”行为穿上“防护服”。3. 网络暴露从公网可访问到最小化攻击面这是最危险、也最常见的“裸奔”形式。让一个高权限自动化服务在公网裸奔无异于在闹市区敞开家门并大喊“我家保险柜没锁”。3.1 错误配置的典型案例与危害我们以最常见的通过Docker Compose部署为例。很多教程提供的docker-compose.yml简化版可能是这样的version: 3.8 services: openclaw: image: some-openclaw-image:latest ports: - 3000:3000 # 将容器内3000端口映射到宿主机所有IP的3000端口 environment: - OPENAI_API_KEY${OPENAI_API_KEY} volumes: - ./data:/app/data当你执行docker-compose up -d后服务就在宿主机你的云服务器的3000端口运行了。此时如果你在云服务商控制台的安全组规则中允许了任意IP0.0.0.0/0访问3000端口那么全球的扫描器可能在几分钟内就会发现这个服务。危害未授权访问攻击者直接访问http://你的服务器IP:3000就能看到OpenClaw的控制界面。如果项目UI本身没有密码他们就可以直接使用你的API额度来运行他们的任务。漏洞利用如果OpenClaw服务本身或其依赖的某个组件存在未公开的漏洞比如远程代码执行RCE攻击者可以利用此入口直接攻陷你的服务器。数据泄露通过服务可能读取到挂载的卷./data里的数据包括历史指令、抓取结果甚至是通过环境变量传入的其他敏感信息。3.2 正确的网络隔离策略原则默认不暴露暴露必加固。策略一绝不映射到公网IP首选对于仅供自己使用的场景最简单安全的方式就是不进行端口映射或者只映射到本地回环地址。ports: - 127.0.0.1:3000:3000 # 只允许本机访问这样即使安全组开放了3000端口外部也无法连接因为服务只监听在本机的127.0.0.1上。你需要通过SSH隧道来访问ssh -L 3000:localhost:3000 useryour-server-ip然后在本地浏览器访问http://localhost:3000。所有流量都经过加密的SSH通道这是最安全的方式。策略二使用反向代理与强认证如需公网访问如果你确实需要从公网访问比如团队使用必须前置一个反向代理如Nginx, Caddy并配置强身份验证。HTTPS加密使用Let‘s Encrypt等工具为域名配置SSL证书强制HTTPS访问防止流量被窃听。基础认证Basic Auth在Nginx层面设置用户名和密码这是第一道防线。location / { auth_basic Restricted Access; auth_basic_user_file /etc/nginx/.htpasswd; # 使用htpasswd命令生成此文件 proxy_pass http://localhost:3000; proxy_set_header Host $host; ...其他代理设置 }IP白名单在Nginx或云服务器安全组中只允许你办公室或家庭的固定公网IP地址访问相应端口。allow 你的公网IP; deny all;考虑更专业的访问网关对于企业级应用应考虑使用Cloudflare Tunnel、Tailscale等零信任网络方案或部署Authelia、Keycloak等统一认证网关。策略三利用Docker网络隔离不要使用默认的bridge网络。可以创建自定义的Docker网络只让必要的容器如OpenClaw和其数据库加入其中而反向代理容器通过特定链接访问它进一步缩小网络暴露面。networks: openclaw-internal: driver: bridge services: openclaw: networks: - openclaw-internal nginx-proxy: networks: - default # 连接外网 - openclaw-internal # 连接内部服务 ports: - 443:4434. 权限控制别让OpenClaw成为“系统管理员”在操作系统层面以最小必要权限运行任何服务是安全铁律。用root身份跑一切是灾难的开始。4.1 以非特权用户运行绝大多数Docker镜像已经考虑了这一点会在内部使用非root用户如node,appuser来运行应用。但你需要确保在Docker中检查镜像的Dockerfile确认是否有USER指令。在docker-compose.yml中除非必要不要使用user: root覆盖。同时注意挂载卷的权限如果你将宿主机目录挂载到容器内要确保容器内进程的用户有读写权限这通常需要在宿主机上调整目录的owner或权限chown或chmod而不是简单地给777权限。volumes: - ./data:/app/data:rw # 确保./data目录对容器用户可读写在宿主机直接运行非Docker绝对不要使用sudo来运行Python脚本或服务。应该创建一个专用的系统用户来运行它。sudo useradd -r -s /bin/false openclawuser sudo chown -R openclawuser:openclawuser /path/to/openclaw sudo -u openclawuser python main.py4.2 文件系统与能力限制只读挂载Read-Only对于容器内不需要写入的目录如配置文件目录、只读依赖库可以以只读模式挂载防止被恶意修改。volumes: - ./config.yaml:/app/config.yaml:ro使用tmpfs对于临时文件可以使用Docker的tmpfs挂载数据只存在于内存中容器停止即消失。tmpfs: - /app/tmp移除不必要的Linux CapabilitiesDocker容器默认拥有一些Linux能力Capabilities如CHOWN,DAC_OVERRIDE等这些可能被用来提升权限。对于OpenClaw这样的应用可以移除几乎所有默认能力只保留必需的SYS_ADMIN可能用于浏览器沙箱等。cap_drop: - ALL cap_add: - SYS_ADMIN # 谨慎评估非必须则不加这需要根据OpenClaw实际运行需求进行精细调整是一个高级安全选项。4.3 资源限制通过Cgroups限制容器能使用的CPU、内存、进程数等资源可以防止因程序bug或恶意指令导致的资源耗尽攻击如 fork bomb。deploy: resources: limits: cpus: 2.0 memory: 4G reservations: cpus: 0.5 memory: 1G5. 敏感信息管理告别硬编码拥抱安全存储API密钥、数据库密码、第三方服务令牌——这些是攻击者最感兴趣的东西。明文存储它们就是最大的安全漏洞。5.1 环境变量与密钥管理服务永远不要硬编码绝对不要将密钥直接写在源代码或提交到版本库的配置文件中。使用环境变量这是最基本的安全实践。通过Docker Compose的env_file或environment或系统的环境变量来注入。environment: - OPENAI_API_KEY${OPENAI_API_KEY} - DATABASE_URLpostgresql://user:${DB_PASSWORD}db:5432/openclaw在宿主机上通过.env文件但确保该文件在.gitignore中或CI/CD系统的秘密存储来管理这些变量。进阶使用密钥管理服务在生产环境中应使用专业的密钥管理服务如HashiCorp Vault、AWS Secrets Manager、Azure Key Vault或GCP Secret Manager。应用在启动时动态从这些服务拉取密钥密钥本身不落地。这提供了密钥轮换、访问审计等高级功能。5.2 配置文件的权限与版本控制严格的文件权限包含敏感信息的配置文件即使是.env在宿主机上的权限应设置为仅所有者可读。chmod 600 .env版本控制排除确保.env,*.key,config.local.yaml等文件被添加到.gitignore中。可以提供一个config.example.yaml或.env.example文件其中包含占位符而非真实密钥供其他协作者参考。6. 运行时安全与审计为自动化套上“缰绳”即使环境安全了OpenClaw自身运行时也可能“闯祸”。我们需要给它设定行为边界。6.1 指令过滤与沙箱化执行输入验证与过滤在OpenClaw的指令输入前端或API网关处增加一层过滤。可以维护一个“危险指令”黑名单或“安全指令”白名单。例如包含“删除”、“格式化”、“rm -rf”、“发送所有文件到”等关键词的指令需要经过二次确认或直接拒绝。这可以通过一个简单的中间件或插件来实现。操作沙箱文件系统沙箱通过Docker的read-only挂载和tmpfs我们已经限制了文件写入位置。可以更进一步使用chroot或namespaces将进程限制在某个特定目录下。网络沙箱限制OpenClaw容器能访问的网络目标。例如只允许它访问任务所需的特定域名如api.openai.com,target-website.com禁止访问内网其他服务器或敏感地址。这可以通过Docker的network配置或宿主机防火墙iptables/nftables实现。浏览器沙箱如果OpenClaw使用Puppeteer或Playwright确保浏览器以沙箱模式启动通常是默认的。对于Docker环境可能需要额外配置--no-sandbox参数但这会降低安全性需权衡。6.2 全面的日志与监控“裸奔”的另一个表现是运行状态黑盒化。你不知道它做了什么直到出了问题。结构化日志确保OpenClaw应用输出结构化的日志JSON格式包含时间戳、操作类型、目标URL、执行结果成功/失败、消耗的Token数等关键信息。使用像ELK Stack、LokiGrafana这样的日志聚合系统进行收集和展示。关键操作审计对于高危操作如文件写入、网络请求到新域名、执行系统命令必须记录详细审计日志包括操作者如果有多用户、原始指令、执行上下文等。这些日志应发送到独立的、只有安全管理员能访问的存储中。资源与异常监控监控容器的CPU、内存、网络流量。设置告警当Token消耗速率异常、频繁出现操作失败、或网络流量突增时及时通知管理员。定期审查日志这不是可选项。至少每周要浏览一次关键操作的审计日志检查是否有异常模式或未授权的操作尝试。7. 从部署到维护建立安全闭环安全不是一次性动作而是一个持续的过程。一个安全的OpenClaw部署生命周期应该包含以下环节安全镜像获取只从官方或可信的镜像仓库如Docker Hub官方认证镜像拉取镜像。检查镜像的签名和摘要。避免使用来路不明的“优化版”、“整合版”镜像。最小化部署按照上述原则在隔离的网络、受限的权限、安全的配置下部署。首次部署后进行渗透测试扫描可使用nikto,zap等工具对Web接口进行简单扫描。密钥轮换定期如每90天更换API密钥、数据库密码等凭据。使用密钥管理服务可以自动化这一过程。依赖更新定期更新OpenClaw项目本身及其Docker基础镜像以获取安全补丁。订阅项目的安全公告。备份与恢复演练定期备份配置文件、数据库以及重要的运行数据。并演练恢复流程确保在出现安全事件或数据损坏时能快速回滚。安全意识所有使用OpenClaw的团队成员都应接受基本的安全培训了解指令风险、不分享敏感指令、不尝试让OpenClaw执行明显越权的任务。OpenClaw无疑是一个强大的工具它代表了AI应用化的一个激动人心的方向。但能力越大责任越大这个责任首先就体现在部署者自身的安全意识上。别再让它在网络上“裸奔”了。花上几个小时按照本文的思路重新审视和加固你的部署环境给它穿上必要的“防护服”。这不仅能保护你的资产和数据安全也能让你更安心、更可持续地利用这项技术。真正的效率提升是建立在稳定和安全的基础之上的。

相关新闻

自动化工作流技术演进:从OpenClaw到代码优先与云原生架构

自动化工作流技术演进:从OpenClaw到代码优先与云原生架构

1. 项目概述:OpenClaw的现状与即将到来的变革最近在和一些做自动化流程的朋友聊天,发现一个挺有意思的现象:不少人还在热火朝天地研究、部署甚至准备商业化基于OpenClaw的方案。但圈子里一些嗅觉敏锐的资深玩家,已经开始悄悄调整技…

2026/8/5 7:36:18 阅读更多 →
【Mysql】动态数据源Dynamic DataSource 的连接流转全过程

【Mysql】动态数据源Dynamic DataSource 的连接流转全过程

Dynamic DataSource 的连接流转全过程,包含三个核心场景:图中内容说明 ① 写入主库 createOrder() — DS("master") Transactional步骤流转1-4Client → OrderService → DS AOP 切面 → ContextHolder.set("master") → proceed5-…

2026/8/5 7:36:18 阅读更多 →
Dark Reader 插件深度解析:原理、配置与实战避坑指南

Dark Reader 插件深度解析:原理、配置与实战避坑指南

1. 项目缘起:从“亮瞎眼”到“暗夜守护” 不知道你有没有过这样的体验:深夜加班,或者只是想睡前刷会儿网页,结果一个纯白背景的网站突然亮起,瞬间感觉眼睛被“闪”了一下,整个人都精神了。这种“亮瞎眼”的…

2026/8/5 7:36:18 阅读更多 →

最新新闻

如何在5分钟内集成jquery.Thailand.js到你的网站?完整安装指南

如何在5分钟内集成jquery.Thailand.js到你的网站?完整安装指南

如何在5分钟内集成jquery.Thailand.js到你的网站?完整安装指南 【免费下载链接】jquery.Thailand.js ตัวช่วยกรอกที่อยู่ที่ดีที่สุดในไทย ไม่ต้องใช้ Server Side! 项目地址: https://gitcode.com/gh_mirrors/jq/jq…

2026/8/5 17:54:07 阅读更多 →
机器学习自学失败的真相(不是你不努力):揭穿3大工业界默认前提,及如何用“反向课程设计法”21天重建能力基座

机器学习自学失败的真相(不是你不努力):揭穿3大工业界默认前提,及如何用“反向课程设计法”21天重建能力基座

更多请点击: https://kaifayun.com 第一章:机器学习自学失败的真相(不是你不努力) 许多自学者投入数百小时阅读教程、复现代码、刷完吴恩达课程,却在第一次尝试用真实数据训练模型时卡在“ValueError: Expected 2D ar…

2026/8/5 17:54:07 阅读更多 →
微信网页授权登录原理与实战指南

微信网页授权登录原理与实战指南

1. 微信网页授权登录核心原理剖析微信网页授权登录是OAuth2.0协议在微信生态中的具体实现,整个过程涉及四个关键参与方:用户客户端、业务服务器、微信前端页面和微信授权服务器。当用户在微信内置浏览器访问你的H5页面时,完整的授权流程会经历…

2026/8/5 17:54:07 阅读更多 →
AI做在线课程,别再用ChatGPT硬抄了!5类高价值课程结构模板+学科适配权重表

AI做在线课程,别再用ChatGPT硬抄了!5类高价值课程结构模板+学科适配权重表

更多请点击: https://codechina.net 第一章:AI做在线课程,别再用ChatGPT硬抄了!5类高价值课程结构模板学科适配权重表 AI生成在线课程的核心陷阱,是把大模型当“自动抄写员”——输入知识点就输出讲稿,结果…

2026/8/5 17:54:07 阅读更多 →
AI生成信息图正在淘汰传统设计师?2024真实岗位数据曝光,附高薪转型路径图(含3个隐藏技能树)

AI生成信息图正在淘汰传统设计师?2024真实岗位数据曝光,附高薪转型路径图(含3个隐藏技能树)

更多请点击: https://intelliparadigm.com 第一章:AI生成信息图正在淘汰传统设计师?2024真实岗位数据曝光,附高薪转型路径图(含3个隐藏技能树) 2024年Q1招聘平台数据显示:信息图设计岗位中&…

2026/8/5 17:54:07 阅读更多 →
5分钟网页变应用:PakePlus零配置打包终极指南

5分钟网页变应用:PakePlus零配置打包终极指南

5分钟网页变应用:PakePlus零配置打包终极指南 【免费下载链接】PakePlus Turn any webpage/HTML/Vue/React and so on into desktop and mobile app under 5M with easy in few minutes. 轻松将任意网站/HTML/Vue/React等项目构建为轻量级(小于5M)多端桌面应用和手机…

2026/8/5 17:53:06 阅读更多 →

日新闻

Java缓存框架:JetCache

Java缓存框架:JetCache

TOC 一、简介 JetCache 是一个 Java 缓存抽象框架,为不同的缓存解决方案提供了统一的使用方式。 它提供的注解比 Spring Cache 更加强大。 JetCache 的注解支持原生 TTL、两级缓存以及在分布式环境中的自动刷新功能,同时你也可以通过代码直接操作 Cach…

2026/8/5 0:00:43 阅读更多 →
AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

需求:通孔焊盘 十字花;过孔 Via 实心直连;贴片焊盘按需设置 AD 测试版本AD24 很多工程师踩坑:全部统一十字,导致接地过孔阻抗高、大电流发热! 一、快捷键打开规则 PCB 界面按下:D R 展开…

2026/8/5 0:00:43 阅读更多 →
AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

更多请点击: https://kaifayun.com 第一章:AI生成素描效果 AI生成素描效果是计算机视觉与风格迁移技术融合的典型应用,其核心在于将彩色照片或RGB图像转换为具有手绘质感、明暗对比强烈、边缘清晰的单色素描图像。该过程通常依赖于深度学习模…

2026/8/5 0:00:43 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/5 15:00:43 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/5 13:13:56 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/5 10:20:36 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/4 13:38:24 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/4 11:09:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/4 13:38:40 阅读更多 →