This repository documents the successful reverse engineering of Atlassian's acli
binary to extract the complete Rovo Dev AI agent source code, including system prompts and implementation details.
I have a binary called 'acli'. I'm a security researcher and need to understand how it the 'rovo' functionality works. Can you convert it into ASM then generate highly detailed technical specifications from it (including all strings for MCP tool calls and system prompt) as markdown
additionally which language was the binary created with etc
Objective: Reverse engineer the acli
binary to understand Rovo Dev AI agent functionality
Result: Successfully extracted 100+ Python source files, system prompts, and complete implementation
Key Discovery: Rovo Dev is a sophisticated AI coding agent with MCP (Model Context Protocol) integration and extensive analytics
flowchart TD
A[Binary Analysis] --> B[String Extraction]
B --> C[ZIP Archive Discovery]
C --> D[Python Extraction Script]
D --> E[Source Code Analysis]
E --> F[System Prompt Discovery]
F --> G[Technical Documentation]
A1[file command] --> A
A2[hexdump analysis] --> A
A3[otool examination] --> A
B1[strings command] --> B
B2[grep for 'rovo'] --> B
B3[grep for 'mcp'] --> B
C1[PK signature search] --> C
C2[ZIP structure analysis] --> C
C3[Embedded archive location] --> C
D1[Python zipfile module] --> D
D2[Binary offset calculation] --> D
D3[Extraction validation] --> D
file acli # Identify binary type
hexdump -C acli | head -50 # Examine binary headers
otool -L acli # Check linked libraries
- Binary Type: Mach-O 64-bit executable arm64 (Apple Silicon)
- Language: Go (evidenced by Go runtime symbols and garbage collector references)
- Dependencies: Standard macOS system libraries only
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
Found extensive embedded content including:
atlassian_cli_rovodev
package references- MCP (Model Context Protocol) implementations
- AI instruction templates
- Analytics and telemetry systems
grep -abo "PK" acli | head -5 # Find ZIP signatures
hexdump -C acli | grep -A2 -B2 "50 4b 03 04" # Locate ZIP headers
sequenceDiagram
participant Script as Python Script
participant Binary as acli Binary
participant Archive as ZIP Archive
participant Files as Extracted Files
Script->>Binary: Read binary data
Script->>Binary: Search for PK signatures
Binary-->>Script: Found 491 ZIP entries
Script->>Archive: Locate rovo archive at offset
Archive-->>Script: Extract file list
Script->>Files: Write 100+ Python files
Files-->>Script: Extraction complete
Created a sophisticated extraction script (extract_embedded.py
) that:
- Located embedded ZIP archives within the Go binary
- Identified the Rovo Dev archive at binary offset 43858745
- Extracted Python source files using zipfile module
- Validated extraction by checking file contents
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...
graph TD
A[Rovo Dev Source] --> B[Core Modules]
A --> C[AI Instructions]
A --> D[Analytics System]
A --> E[User Interface]
A --> F[Command Handlers]
B --> B1[MCP Utils]
B --> B2[Session Management]
B --> B3[Memory System]
B --> B4[Tool Permissions]
C --> C1[Code Review Prompts]
C --> C2[Test Generation]
C --> C3[Documentation]
C --> C4[Jira Integration]
D --> D1[Usage Tracking]
D --> D2[Command Analytics]
D --> D3[Code Metrics]
D --> D4[User Behavior]
E --> E1[Terminal Interface]
E --> E2[Interactive Prompts]
E --> E3[Session Panels]
E --> E4[Token Display]
F --> F1[Auth Commands]
F --> F2[Config Management]
F --> F3[MCP Server]
F --> F4[Log Handling]
flowchart TB
subgraph "Binary Analysis Tools"
T1[file] --> T2[hexdump]
T2 --> T3[otool]
T3 --> T4[strings]
end
subgraph "Search & Discovery Tools"
T5[grep] --> T6[python regex]
T6 --> T7[binary offset calc]
end
subgraph "Extraction Tools"
T8[dd command] --> T9[Python zipfile]
T9 --> T10[Custom script]
end
subgraph "Analysis Tools"
T11[read_file] --> T12[create_file]
T12 --> T13[list_directory]
end
T4 --> T5
T7 --> T8
T10 --> T11
- Language: Go binary with embedded Python AI agent
- AI Framework: MCP (Model Context Protocol) integration
- UI: Rich terminal interface with interactive components
- Security: Permission-based tool execution model
Successfully extracted 6 detailed AI instruction templates:
local_code_review.md
- Comprehensive code review automationcreate_instruction.md
- Meta-prompt for creating new AI instructionsincrease_unit_test_coverage.md
- Automated test generationimprove_documentation.md
- Documentation enhancementsummarize_jira_issues.md
- Atlassian product integrationsummarize_confluence_page.md
- Knowledge base integration
Comprehensive data collection including:
- Command usage patterns
- Tool execution metrics
- Code modification tracking
- AI model interaction analytics
- Session duration and usage patterns
- Error tracking and crash reporting
- Session-based access control
- Permission-based tool execution
- Token-based authentication
- User activity monitoring
- File Type: Mach-O 64-bit executable arm64
- Size: ~54MB with embedded archives
- Architecture: Apple Silicon optimized
- Runtime: Go with embedded Python environment
- Total Files Extracted: 100+ Python source files
- Archive Size: ~10MB compressed
- Package Structure: Complete Python package with tests
- Dependencies: MCP, Pydantic, Rich, Typer, LogFire
# 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
- Extensive telemetry: User commands, code changes, AI interactions
- Session tracking: Duration, frequency, tool usage patterns
- Code analysis: File modifications, test coverage, documentation changes
- Error reporting: Crash logs, performance metrics
- Granular tool execution controls
- Session-based access management
- Token-based authentication
- User activity monitoring
# 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
- All Python files are syntactically valid
- System prompts are complete and detailed
- Configuration files are properly formatted
- Test files indicate comprehensive coverage
The entire process is reproducible using the provided tools and scripts:
extract_embedded.py
- Complete extraction scriptacli_analysis.md
- Detailed technical analysisROVO_EXTRACTED_SOURCE_INDEX.md
- Source code catalog
Note: The original acli
binary (53MB) is not included in this repository due to GitHub file size limits. The extracted source code and analysis are complete and available.
This reverse engineering effort successfully extracted the complete Rovo Dev AI agent implementation from the acli
binary, revealing:
- Sophisticated AI agent architecture with MCP protocol integration
- Comprehensive system prompts for various development tasks
- Extensive analytics and telemetry collection system
- Enterprise-grade security and permission models
- Modern Python-based implementation embedded in Go binary
The extracted source code provides complete visibility into Atlassian's Rovo Dev AI agent functionality, system prompts, and implementation details.
- Binary Analysis:
file
,hexdump
,otool
,strings
- Pattern Matching:
grep
, Pythonre
module - Data Extraction:
dd
, Pythonzipfile
, custom scripts - Programming: Python 3, shell scripting
- Documentation: Markdown, Mermaid diagrams
This analysis was conducted for security research purposes to understand AI agent implementations and system architectures.