OpenHands
0.9.0 (commit fc5f026)具备终端 Shell 执行与 Pull Request 自动编写能力的自主软件工程智能体。
本项独立技术评估严格针对 OpenHands 0.9.0 (commit fc5f026) 版本的默认架构机制与工程特征观察,不代表对任何后续上游版本或您具体业务系统的安全背书或生产放行批准。Agent 在生产环境中的实际安全边界,严格取决于您的外置工具沙箱、网络出站白名单与两阶段审批流设计。
评审协议 v1.1;应在 2026年12月30日 前复核。披露状态:不适用——本档案记录公开架构观察,未开启私下漏洞披露。
证据等级:A = 可复现观察;B = 版本关联文档或源码;C = 证据不足或超出评审范围。
部署证据与观察范围概要
默认 Docker 运行时和迭代上限收敛了部分执行,但可写工作区、命令、网络与凭据控制仍属于部署责任。
五维工程控制边界与依赖说明
已复核的默认运行时在 Docker 内执行命令,并以读写方式挂载工作区;凭据范围与宿主暴露取决于操作者配置。
可配置的最大迭代数能停止任务,但该版本不能证明存在差异大小硬限或默认禁止网络出站。
仓库文件与 Issue 文本会进入 Agent 上下文。本次源码复核未执行注入夹具,因此该能力属于待验证部署依赖,而非已复现攻击结果。
挂载工作区可写,Shell 副作用不会事务化撤销。恢复依赖隔离分支、工作区快照或一次性运行时。
控制器通过事件流产生结构化操作与观察;持久保留、导出与访问控制取决于部署配置。
企业部署建议补齐的硬控制
- 部署在任务级瞬态一次性 MicroVM 容器中,执行完毕即刻销毁
- 提供只读 Clone 凭证,写权限必须经由外部代理网关鉴权校验
- 硬性限制单次任务变更幅度(最多 5 个文件、200 行代码)
- 严禁 Agent 直合代码主干,必须通过受保护分支与人工审批流
概述
OpenHands(原名 OpenDevin)是通过事件驱动循环检索代码树、修改文件并运行终端命令的自主编程 Agent。本档案复核 0.9.0 的本地 Docker 运行时,不覆盖托管服务或当前上游版本。
审查范围与版本基线
- 官方仓库:OpenHands/OpenHands(MIT 许可证)。
- 评审版本:
0.9.0(Commitfc5f026)。 - 目标执行模式:本地事件流控制器、默认 Docker 运行时与挂载的任务工作区。
- 主要证据来源:固定标签的
EventStreamRuntime、迭代控制器 和配置模板。 - 非测试范围:OpenHands 托管服务、后续 SDK/agent-server 架构与运行时提示词注入测试。
架构与攻击面分析
已复核的运行时会启动 Docker 容器,并可以读写方式挂载所选工作区。该边界减少了直接在宿主执行命令的范围,但本身不能证明已实施默认禁止出站、最小权限凭据或事务回滚。仓库内容应按不可信输入处理,但本次纯源码复核不声称已复现某个注入漏洞。
查看完整深度评测报告
关于该 Agent 的已记录架构边界、合成失效场景和部署待验证控制,请阅读完整长文:OpenHands 生产可用性与爆炸半径深度拆解。
说明:本证据档案反映对 OpenHands 0.9.0 的源码级架构观察,不能证明当前上游版本的行为,不声称复现了提示词注入攻击,也不构成生产放行。
准备在企业内部定制或部署 OpenHands?
开源基线评测仅能针对默认通用环境。BartsAI 为工程团队提供针对具体业务数据库连接、私有 API 调用权限及企业级发布门槛的专属 Launch Gate 准入审查。