有没有想过,如果采用“ LLM 可以将 C 语言、ASM 语言、规范语言,再转换为可用的 Z/80 Speccy 磁带吗?是的。 ” 中的技术,并在 Atasslian 命令行 ( ACLI ) 界面上运行它,会发生什么?系好安全带,因为 Z80 是我公开分享过的最强大的元数据之一……
原始提示
我有一个名为“acli”的二进制文件。我是一名安全研究员,需要了解“rovo”功能的工作原理。您能否将其转换为 ASM,然后以 Markdown 格式生成高度详细的技术规范(包括 MCP 工具调用和系统提示符的所有字符串)。此外,请问该二进制文件是用哪种语言创建的?
结果
这是“rovo”的源代码
该存储库记录了对 Atlassian 的acli
二进制文件的成功逆向工程,以提取完整的 Rovo Dev AI 代理源代码,包括系统提示和实现细节。
🗞️ 有没有想过,如果采用“LLM 可以将 C 转换为 ASM 再转换为规格,然后再转换为可用的 Z/80 Speccy 磁带吗?是的。”中的技术并针对 Atasslian 命令行(ACLI)界面运行它,会发生什么?
系好安全带,因为 Z80 是最强大的元数据之一…… https://t.co/se526ECfFk pic.twitter.com/UTUrjRJNWK
— geoff (@GeoffreyHuntley) 2025年6月14日
执行摘要
目标:对acli
二进制文件进行逆向工程,以了解 Rovo Dev AI 代理的功能
结果:成功提取100+Python源文件、系统提示、完整实现
关键发现:Rovo Dev 是一款先进的 AI 编码代理,具有 MCP(模型上下文协议)集成和广泛的分析功能
方法概述
详细技术流程
第一阶段:初始二进制分析
使用的工具调用
file acli # Identify binary type hexdump -C acli | head -50 # Examine binary headers otool -L acli # Check linked libraries
主要发现
- 二进制类型:Mach-O 64 位可执行 arm64(Apple Silicon)
- 语言:Go(由 Go 运行时符号和垃圾收集器引用证明)
- 依赖项:仅限标准 macOS 系统库
graph LR A[acli binary] --> B[Mach-O arm64] B --> C[Go Runtime] C --> D[Embedded Archives] D --> E[Python Code] D --> F[MCP Libraries] D --> G[System Prompts]
第二阶段:字符串分析和内容发现
使用的工具调用
strings acli | grep -i rovo # Find Rovo-related strings strings acli | grep -i "mcp\|claude\|anthropic\|openai\|gpt" # Find AI-related content strings acli | grep -A5 -B5 "system prompt" # Search for system prompts
关键发现
发现大量嵌入内容,包括:
-
atlassian_cli_rovodev
包参考 - MCP(模型上下文协议)实现
- AI指令模板
- 分析和遥测系统
第三阶段:嵌入式档案发现
ZIP 压缩包检测
grep -abo "PK" acli | head -5 # Find ZIP signatures hexdump -C acli | grep -A2 -B2 "50 4b 03 04" # Locate ZIP headers
档案结构分析
第四阶段:Python提取脚本开发
创建了一个复杂的提取脚本( extract_embedded.py
),该脚本:
- 找到 Go 二进制文件中嵌入的 ZIP 档案
- 在二进制偏移量 43858745 处识别出 Rovo Dev 档案
- 使用 zipfile 模块提取 Python 源文件
- 通过检查文件内容验证提取
关键代码实现
def extract_embedded_python(): with open('acli', 'rb') as f: data = f.read() # Find rovodev archive starting position rovo_start = None for pos in matches: check_data = data[pos:pos+300] if b'atlassian_cli_rovodev' in check_data: rovo_start = pos break # Extract ZIP data and process eocd_pos = data.rfind(b'PK\x05\x06') zip_data = data[rovo_start:eocd_pos+22] with zipfile.ZipFile(BytesIO(zip_data), 'r') as zf: # Extract all Python files...
第五阶段:源代码分析和文档
提取的组件
工具使用工作流程
重要发现
1.系统架构
- 语言:Go 二进制文件,嵌入 Python AI 代理
- AI框架:MCP(模型上下文协议)集成
- UI :具有交互组件的丰富终端界面
- 安全性:基于权限的工具执行模型
2. AI代理指令(系统提示)
成功提取6个详细的AI指令模板:
-
local_code_review.md
– 全面的代码审查自动化 create_instruction.md
– 用于创建新 AI 指令的元提示increase_unit_test_coverage.md
– 自动测试生成improve_documentation.md
– 文档增强summarize_jira_issues.md
– Atlassian 产品集成summarize_confluence_page.md
– 知识库集成
3. 分析和遥测系统
全面的数据收集包括:
- 命令使用模式
- 工具执行指标
- 代码修改跟踪
- AI模型交互分析
- 会话时长和使用模式
- 错误跟踪和崩溃报告
4.安全模型
- 基于会话的访问控制
- 基于权限的工具执行
- 基于令牌的身份验证
- 用户活动监控
技术规格
二进制详细信息
- 文件类型:Mach-O 64 位可执行文件 arm64
- 大小:约 54MB(含嵌入式档案)
- 架构:Apple Silicon 优化
- 运行时:使用嵌入式 Python 环境
嵌入内容
- 提取的文件总数:100+ Python 源文件
- 档案大小:压缩后约 10MB
- 软件包结构:包含测试的完整 Python 软件包
- 依赖项:MCP、Pydantic、Rich、Typer、LogFire
关键 API 和端点
# Authentication https://auth.atlassian.com/authorize?audience=api.atlassian.com /oauth/token /accessible-resources # Jira Integration /api/v1/jira/issue/{issueIdOrKey} /api/v1/jira/project/{projectIdOrKey} # Administration /api/v1/admin/org/{orgId}/user # Feedback Collection /feedback-collector-api/feedback
文件结构概述
📁 lib/atlassian_cli_rovodev/ ├── 📁 src/rovodev/ # Core implementation │ ├── 📁 common/ # Shared utilities │ ├── 📁 commands/ # CLI command handlers │ ├── 📁 modules/ # Core functionality │ │ ├── 📁 instructions/ # AI system prompts │ │ ├── 📁 analytics/ # Telemetry system │ │ ├── mcp_utils.py # MCP protocol handling │ │ ├── sessions.py # AI session management │ │ └── memory.py # Conversation context │ └── 📁 ui/ # Terminal interface ├── 📁 tests/ # Comprehensive test suite ├── 📁 distribution/ # Packaging system └── 📁 hooks/ # Runtime hooks
安全和隐私影响
数据收集
- 广泛的遥测:用户命令、代码更改、AI 交互
- 会话跟踪:持续时间、频率、工具使用模式
- 代码分析:文件修改、测试覆盖率、文档更改
- 错误报告:崩溃日志、性能指标
权限模型
- 精细的工具执行控制
- 基于会话的访问管理
- 基于令牌的身份验证
- 用户活动监控
验证和确认
提取验证
# Verified extraction success find lib/atlassian_cli_rovodev -name "*.py" | wc -l # 100+ files file lib/atlassian_cli_rovodev/src/rovodev/rovodev_cli.py # Valid Python python3 -m py_compile lib/atlassian_cli_rovodev/src/rovodev/*.py # Syntax check
内容验证
- 所有 Python 文件在语法上都是有效的
- 系统提示完整详细
- 配置文件格式正确
- 测试文件表明覆盖范围全面
可重复性
使用提供的工具和脚本可以重现整个过程:
-
extract_embedded.py
– 完整的提取脚本 acli_analysis.md
– 详细的技术分析ROVO_EXTRACTED_SOURCE_INDEX.md
– 源代码目录
结论
这项逆向工程成功从acli
二进制文件中提取了完整的 Rovo Dev AI 代理实现,揭示了:
- 具有 MCP 协议集成的复杂 AI 代理架构
- 针对各种开发任务的全面系统提示
- 广泛的分析和遥测收集系统
- 企业级安全和权限模型
- 嵌入 Go 二进制文件的基于现代 Python 的实现
提取的源代码提供了对 Atlassian 的 Rovo Dev AI 代理功能、系统提示和实现细节的完整可见性。
使用的工具和技术
- 二进制分析:
file
、hexdump
、otool
、strings
- 模式匹配:
grep
、Pythonre
模块 - 数据提取:
dd
、Pythonzipfile
、自定义脚本 - 编程:Python 3、shell 脚本
- 文档:Markdown、美人鱼图