Attesor: 리눅스 VM을 위한 AI 기반 Rosetta 2 역공학

Attesor는 Apple의 Rosetta 2 바이너리 번역 시스템에 초점을 맞춘 역공학 프로젝트를 담은 GitHub 저장소입니다. 이 프로젝트는 Rosetta 2가 어떻게 x86_64 애플리케이션이 ARM64 Apple Silicon 하드웨어에서 실행되도록 하는지 이해하고 문서화하는 것을 목표로 하며, Linux 가상화에 잠재적인 영향을 미칠 수 있습니다.
프로젝트 배경
이 프로젝트는 Apple의 아키텍처 전환을 문서화합니다: 1994년 (Motorola 68000에서 PowerPC로), 2006년 (PowerPC에서 Intel x86_64로), 그리고 2020년 (Intel x86_64에서 Apple Silicon ARM64로). Rosetta 2는 Intel Mac에서 PowerPC 애플리케이션을 가능하게 했던 원본 Rosetta (2006-2011)에 이은 Apple의 3세대 바이너리 번역 솔루션입니다.
Rosetta 2 아키텍처
소스 자료에 따르면, Rosetta 2는 x86_64 사용자 애플리케이션과 ARM64 macOS 커널 사이의 번역 계층으로 작동합니다. 아키텍처는 다음을 포함합니다:
- 번역기 (AOT/JIT): 사전 번역과 즉시 번역을 모두 처리
- 런타임 라이브러리: 런타임 지원 기능 제공
- 시스템 호출 번역: x86_64 시스템 호출을 ARM64 동등한 것으로 변환
주요 기술
- 사전 번역 (AOT): 설치 시 x86_64 바이너리를 ARM64로 번역하여 번역된 코드를 캐시에 저장
- 즉시 번역 (JIT): 실행 중 요청 시 코드 블록을 번역하여 동적으로 로드된 코드 처리
- 명령어 집합 번역: x86_64를 ARM64 명령어로, SSE/AVX를 NEON 벡터 명령어로, x86_64 플래그를 ARM64 조건 코드로 매핑
- 시스템 호출 번역: 시스템 호출 경계를 넘나드는 다른 호출 규칙과 레지스터 상태 관리
구현 세부사항
Rosetta 2는 /Library/Apple/usr/libexec/oah/에 위치합니다 (여기서 "oah"는 "Old Architecture Hardware"를 의미하며), 다음을 포함합니다:
rosetta- 주요 번역기 바이너리rosettad- Rosetta 데몬librosetta.*- 런타임 라이브러리
Apple Silicon Mac에서 Rosetta 2는 기본적으로 설치되지 않습니다. 설치는 Intel 애플리케이션의 첫 실행 프롬프트 또는 명령줄에서 softwareupdate --install-rosetta를 통해 트리거됩니다.
프로젝트 구조
저장소는 다음을 포함한 여러 파일을 담고 있습니다:
ExportDecomp.java및export_decomp.py- 내보내기 및 디컴파일용rosetta_decomp.c및rosettad_decomp.c- 디컴파일된 구성 요소용rosetta_function_map.h및 다양한 리팩토링된 C 파일rosetta.TODO.md- 남은 작업 문서화
이 프로젝트는 Rosetta 2의 내부 구조를 문서화하는 지속적인 노력을 나타내며, 이는 Linux 가상화 환경을 위한 유사한 번역 계층 개발에 정보를 제공할 수 있습니다.
📖 전체 소스 읽기: HN AI Agents
👀 See Also

AI 서브루틴: 제로 토큰 비용으로 결정론적 브라우저 자동화
rtrvr.ai의 AI 서브루틴은 브라우저 작업을 한 번 기록하여 호출 가능한 도구로 저장하며, 인증이 자동으로 전파된 상태로 웹페이지 컨텍스트 내에서 재실행되어, 반복 작업에 대한 LLM 추론 비용과 비결정성을 제거합니다.

Orchino: 병렬 브라우저 및 UI 자동화 기능을 갖춘 Windows용 로컬 다중 에이전트 오케스트레이션 시스템
Orchino는 Windows용 로컬 멀티 에이전트 오케스트레이션 시스템으로, UI를 점유하지 않고 브라우저 및 Windows 작업을 병렬로 실행합니다. 데모에서 4개의 에이전트가 'Flipkart와 Amazon에서 Sony 이어버드 검색, 결과 이메일 전송, Notepad에 저장' 작업을 29.5초 만에 완료하며 진정한 병렬 실행을 보여줍니다.

/compress-architecture: 과도한 엔지니어링을 제거하는 에이전트 기술
/compress-architecture라는 새로운 에이전트 스킬은 코드베이스에서 추측성 레이어, 단순 전달 모듈, 중복 개념을 감사하면서 실제 도메인 경계와 공개 API를 보호합니다.

ClaudeHive: 병렬 Claude 코드 세션 관리를 위한 웹 UI
ClaudeHive는 병렬 Claude Code 세션을 처리하는 웹 UI로, 사용자가 자리 표시자가 있는 프롬프트 템플릿을 정의하고, 구성 가능한 동시성을 통해 여러 입력에 걸쳐 일괄 실행하며, 모든 결과를 한 곳에서 검토할 수 있도록 합니다. 여기에는 관리자 에이전트가 작업자 에이전트를 생성하고 조정할 수 있는 CLI 도구도 포함됩니다.