Skip to content

JadenKim-dev/analysis_claude_code

 
 

Repository files navigation

Claude Code 리버스 엔지니어링 연구 저장소

Fellow us on X: https://x.com/baicai003
주의: 100% 정확하지 않음! 본 저장소는 "Agent 모델 회사가 Agent 엔지니어링을 어떻게 하는가?"를 연구 학습하던 중, 즉흥적으로 claude code를 활용하여 claude code 자체의 난독화된 코드를 분석한 것입니다. 난독화 코드가 매우 복잡하고 분산되어 있어 분석 난이도가 극히 높으며, CC에 약간의 환각이 있을 수 있습니다. 이 저장소는 참고 및 학습 목적으로만 사용하시기 바랍니다! 관련 Claude code 프롬프트는 work_doc_for_this 폴더에 있으며, 관심 있는 분들은 프롬프트를 복사하여 직접 재현해보실 수 있습니다!

공지사항

image image

오픈소스 재현 버전은 여기에 게시됩니다: https://github.com/shareAI-lab/AgentKode
관련 분석 글은 2차 검증 후 정리하여 ShareAI lab 공식 위챗 공중호에 게시되었습니다.

📋 프로젝트 개요

본 저장소는 Claude Code v1.0.33에 대한 심층 리버스 엔지니어링 분석의 완전한 연구 자료 저장소입니다. 난독화된 소스 코드의 체계적인 분석을 통해 이 현대적인 AI 프로그래밍 도우미의 핵심 아키텍처 설계, 구현 메커니즘 및 실행 로직을 밝혀냈습니다.

프로젝트는 50,000줄 이상의 난독화 코드 분석 결과를 포함하며, UI 상호작용부터 Agent 핵심 엔진까지 완전한 기술 스택을 다룹니다. 여러 차례의 반복 분석과 엄격한 검증을 통해 Claude Code의 핵심 기술 아키텍처를 성공적으로 복원했으며, 현대 AI Agent 시스템의 엔지니어링 구현을 이해하는 데 귀중한 기술 참고 자료를 제공합니다.

🎯 연구 목표

  1. 심층 이해: Claude Code의 시스템 아키텍처와 핵심 메커니즘
  2. 완전 복원: 난독화 코드 뒤의 기술 구현 로직
  3. 엄격한 검증: 분석 결과의 정확성과 일관성
  4. 오픈소스 재구축: 재현 가능한 기술 구현 가이드 제공
  5. 지식 공유: AI Agent 시스템 설계를 위한 참고 자료 제공

🔬 핵심 기술 발견

🚀 혁신적인 기술 돌파구

1. 실시간 Steering 메커니즘

  • 기본 아키텍처: h2A 이중 버퍼 비동기 메시지 큐 (Write/Read 버퍼로 구성)
  • 핵심 특징: 제로 지연 메시지 전달, 처리량 > 10,000 메시지/초
  • 구현 원리: Promise 기반 비동기 반복자 + 스마트 백프레셔 제어
  • 기술적 이점: 진정한 논블로킹 비동기 처리, 실시간 스트리밍 응답 지원

2. 계층적 멀티 Agent 아키텍처

  • 메인 Agent: 메인 루프 엔진, 핵심 작업 스케줄링 담당 (난독화된 이름: nO)
  • SubAgent: 서브 작업 에이전트, 격리된 실행 환경 제공 (난독화된 이름: I2A)
  • Task Agent: 전용 작업 처리기, 동시 실행 지원
  • 권한 격리: 각 Agent는 독립적인 권한 범위와 리소스 접근 제어 보유

3. 스마트 컨텍스트 관리

  • 압축 알고리즘: 92% 임계값 자동 컨텍스트 압축 트리거
  • 메모리 최적화: 압축기, 핵심 정보 스마트 보존 (난독화된 이름: wU2)
  • 영속화: CLAUDE.md 파일을 장기 메모리 저장소로 활용
  • 동적 관리: 토큰 사용량에 따른 동적 컨텍스트 크기 조정

4. 강화된 보안 방어

  • 6단계 권한 검증: UI에서 도구 실행까지 완전한 보안 체인
  • 샌드박스 격리: 도구 실행 환경 완전 격리
  • 입력 검증: 다층적 악성 입력 탐지 및 필터링
  • 권한 게이트웨이: 세밀한 기능 권한 제어

🏗️ 시스템 아키텍처 전체 구조

                Claude Code Agent System Architecture
┌─────────────────────────────────────────────────────────────────────┐
│                       User Interaction Layer                        │
│   ┌────────────────┐   ┌───────────────────┐   ┌───────────────┐    │
│   │ CLI Interface  │   │ VSCode Integration│   │ Web Interface │    │
│   │ (Command Line) │   │  (Plugin)         │   │   (Browser)   │    │
│   └────────────────┘   └───────────────────┘   └───────────────┘    │
└────────────┬─────────────────┬─────────────────┬────────────────────┘
             │                 │                 │
┌────────────▼─────────────────▼─────────────────▼───────────────────┐
│                     Agent Core Scheduling Layer                    │
│                                                                    │
│   ┌─────────────────────┐          ┌───────────────────────┐       │
│   │  Main Loop Engine   │◄─────────┤   h2A Async Queue     │       │
│   │   (AgentLoop)       │          │   (AsyncQueue)        │       │
│   │ • Task Scheduling   │          │ • Async Communication │       │
│   │ • State Management  │          │ • Streaming Processing│       │
│   │ • Exception Handling│          │ • Backpressure Control│       │
│   └─────────────────────┘          └───────────────────────┘       │
│               │                                 │                  │
│               ▼                                 ▼                  │
│   ┌─────────────────────────┐          ┌───────────────────────┐   │
│   │ Session Stream Generator│          │  Message Compressor   │   │
│   │       (StreamGen)       │          │   (Compressor)        │   │
│   │ • Real-time Response    │          │ • Smart Compression   │   │
│   │ • Streaming Output      │          │ • Context Optimization│   │
│   └─────────────────────────┘          └───────────────────────┘   │
└────────────┬──────────────────────────────┬────────────────────────┘
             │                              │
┌────────────▼──────────────────────────────▼────────────────────────────────────────────────────────────────────────┐
│                                 Tool Execution and Management Layer                                                │
│                                                                                                                    │
│ ┌────────────────────────┐ ┌───────────────────────┐ ┌─────────────────────────┐ ┌────────────────────┐            │
│ │      Tool Engine       │ │       Scheduler       │ │        Task Agent       │ │ Permission Gateway │            │
│ │      (ToolEngine)      │ │      (Scheduler)      │ │       (TaskAgent)       │ │   (PermissionGW)   │            │
│ │ • Tool Discovery       │ │ • Concurrent Control  │ │ • Task Isolation        │ │ • Permission Check │            │
│ │ • Parameter Validation │ │ • Load Balancing      │ │ • Error Recovery        │ │ • Security Audit   │            │
│ │ • Execution Scheduling │ │ • Resource Management │ │ • State Synchronization │ │ • Access Control   │            │
│ └────────────────────────┘ └───────────────────────┘ └─────────────────────────┘ └────────────────────┘            │
│       │               │               │               │                                                            │
│       ▼               ▼               ▼               ▼                                                            │
│ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐  │
│ │                                      Tool Ecosystem                                                           │  │
│ │ ┌────────────────────────┐ ┌───────────────────────┐ ┌───────────────────────┐ ┌───────────────────────┐      │  │
│ │ │ File Manipulation Tool │ │ Search/Discovery Tool │ │ Task Management Tool  │ │ System Execution Tool │      │  │
│ │ │ • Read/Write           │ │ • Glob/Grep           │ │ • Todo System         │ │ • Bash Execution      │      │  │
│ │ │ • Edit/Multi           │ │ • Pattern Matching    │ │ • State Tracking      │ │ • Command Execution   │      │  │
│ │ └────────────────────────┘ └───────────────────────┘ └───────────────────────┘ └───────────────────────┘      │  │
│ │ ┌──────────────────────────┐ ┌───────────────────────┐ ┌───────────────────────┐ ┌─────────────────────────┐  │  │
│ │ │ Network Interaction Tool │ │ Special Function Tool │ │ MCP Integration Tool  │ │      Developer Tool     │  │  │
│ │ │ • WebFetch               │ │ • Plan Mode           │ │ • Protocol Support    │ │ • Code Diagnostics      │  │  │
│ │ │ • WebSearch              │ │ • Exit Plan           │ │ • Service Discovery   │ │ • Performance Monitoring│  │  │
│ │ └──────────────────────────┘ └───────────────────────┘ └───────────────────────┘ └─────────────────────────┘  │  │
│ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘  │
└────────────┬───────────────────────────────────────────────────────────────────────────────────────────────────────┘
             │
┌────────────▼──────────────────────────────────────────────────────────────────────────────────────────────┐
│                                    Memory and Persistence Layer                                           │
│                                                                                                           │
│ ┌────────────────────┐ ┌─────────────────────────┐ ┌─────────────────────────┐ ┌───────────────────────┐  │
│ │ Short-term Memory  │ │ Medium-term Compression │ │ Long-term Persistence   │ │ State Cache System    │  │
│ │ (Messages)         │ │ (Compressed)            │ │ (CLAUDE.md)             │ │ (StateCache)          │  │
│ │ • Current Session  │ │ • History Summary       │ │ • User Preferences      │ │ • Tool State          │  │
│ │ • Context Queue    │ │ • Core Information      │ │ • Configuration         │ │ • Execution History   │  │
│ │ • Temporary Cache  │ │ • Compression Algorithm │ │ • Persistence Mechanism │ │ • Performance Metrics │  │
│ └────────────────────┘ └─────────────────────────┘ └─────────────────────────┘ └───────────────────────┘  │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘

📁 저장소 구조 상세 설명

📂 주요 디렉토리 구성

about_claude_code/
├── claude_code_v_1.0.33/                    # v1.0.33버전 완전 분석 작업공간
│   └── stage1_analysis_workspace/           # 1단계 분석 결과
│       ├── Claude_Code_Agent_TECH_DOC.md  # 핵심 기술 해석 문서
│       ├── chunks/                          # 코드 청크 파일 (102개)
│       │   ├── chunks.1.mjs ~ chunks.102.mjs  # 난독화 해제된 코드 블록
│       │   ├── chunks.index.json            # 청크 인덱스 파일
│       │   └── cli.chunks.mjs               # CLI 메인 파일 청크
│       ├── analysis_results/                # 분석 결과 종합
│       │   └── merged-chunks/               # 병합 최적화된 코드 블록
│       ├── scripts/                         # 분석 스크립트 도구집
│       │   ├── beautify.js                  # 코드 정리 스크립트
│       │   ├── split.js                     # 코드 분할 스크립트
│       │   ├── merge-again.js               # 코드 병합 스크립트
│       │   └── llm.js                       # LLM 분석 인터페이스
│       ├── docs/                            # 상세 기술 문서집
│       └── source/                          # 원본 소스 코드 파일
├── work_doc_for_this/                       # 프로젝트 작업 문서
│   ├── CLAUDE_CODE_REVERSE_SOP.md           # 역공학 표준 작업 절차
│   ├── stage_1_analysis_sop.md              # 1단계 분석 방법론
│   └── stage_2_reconstruction_sop.md        # 2단계 재구축 방법론
├── LICENSE                                  # 오픈소스 라이선스
└── README.md                                # 프로젝트 설명 문서

📋 핵심 기술 문서

🔧 핵심 메커니즘 심층 분석

  • Real_Time_Steering_Mechanism.md - h2A 비동기 메시지 큐의 완전 구현 원리
  • Edit_Tool_Forced_Read_Mechanism.md - Edit 도구의 파일 읽기 검증 메커니즘
  • Hierarchical_Multi_Agent_Architecture.md - 다층 Agent 시스템의 아키텍처 설계
  • Claude_Code_Plan_Mode_Deep_Analysis.md - Plan 모드의 트리거 및 실행 메커니즘
  • Claude_Code_Sandbox_Mechanism.md - 샌드박스 보안 메커니즘 심층 분석
  • Claude_Code_MCP_Deep_Analysis.md - MCP 프로토콜 통합 메커니즘 분석

📊 검증 및 교차 분석 보고서

  • FINAL_VALIDATION_REPORT.md - 최종 종합 검증 보고서 (95% 정확성)
  • CROSS_VALIDATION_REPORT.md - 문서 간 일관성 검증
  • Claude_Code_Core_Mechanism_Strict_Validation_Report.md - 핵심 메커니즘의 소스코드 수준 검증
  • Claude_Code_Final_Validation_After_Update.md - 완전 인지 프레임워크 업데이트

🏗️ 오픈소스 재구축 가이드

  • Open-Claude-Code/ - 오픈소스 재구축 프로젝트 템플릿
    • 완전한 TypeScript 구현 프레임워크
    • 핵심 컴포넌트 인터페이스 정의
    • 테스트 케이스 및 벤치마크 테스트
  • Demo_Repo/ - 데모 구현 저장소
  • 시공단계/ - 단계별 구현 가이드
    • 1단계: 프로젝트 초기화 및 기초 아키텍처
    • 2단계: Agent 핵심 엔진 및 도구 시스템
    • 3단계: 고급 기능 및 상호작용 모드
    • 4단계: MCP 통합 및 확장 시스템
    • 5단계: 테스트 최적화 및 릴리스 준비

🔍 특수 메커니즘 분석

  • Claude_Code_UI_Component_System_Deep_Analysis.md - UI 컴포넌트 시스템 분석
  • Claude_Code_Image_Processing_and_LLM_API_Deep_Analysis.md - 이미지 처리 및 LLM API 분석
  • Claude_Code_Hidden_Feature.md - 숨겨진 기능 발견
  • Claude_Code_IDE_Connection_and_Interaction_Deep_Analysis.md - IDE 통합 메커니즘

🛠️ 분석 방법론 상세 설명

1단계: 정적 코드 분석

1. 코드 전처리 (Pre-processing)

# 코드 정리 및 포맷팅
node scripts/beautify.js source/cli.mjs

# 지능형 청킹 처리 (102개 블록)
node scripts/split.js cli.beautify.mjs

# 청크 인덱스 생성
node scripts/generate-index.js chunks/

2. LLM 보조 분석 (LLM-Assisted Analysis)

  • 패턴 인식: GPT-4를 사용한 코드 패턴 및 아키텍처 식별
  • 함수 분석: 난독화된 로직의 함수별 해석
  • 의존성 매핑: 모듈 간 의존 관계 그래프 구축
  • API 추적: 핵심 API의 호출 체인 추적

3. 교차 검증 (Cross-Validation)

  • 다중 반복: 정확성 확보를 위한 3차례 심층 분석
  • 일관성 검사: 문서 간 기술 설명의 일관성 검증
  • 소스코드 대조: 모든 기술적 주장에 대한 소스코드 위치 지원

2단계: 동적 행동 검증

1. 런타임 분석 (Runtime Analysis)

  • 함수 호출 추적: 핵심 함수의 실행 경로 기록
  • 상태 변화 모니터링: 시스템 상태의 변화 과정 모니터링
  • 성능 지표 수집: 메모리 사용량 및 실행 시간 데이터 수집

2. 통합 테스트 (Integration Testing)

  • 컴포넌트 상호작용 검증: 컴포넌트 간 상호작용 로직 검증
  • 경계 조건 테스트: 극한 조건에서의 시스템 행동 테스트
  • 오류 복구 검증: 시스템의 오류 처리 및 복구 메커니즘 검증

🔍 상세 연구 범위

🎯 분석된 핵심 컴포넌트

1. Agent 루프 시스템 (Agent Loop System)

  • nO 메인 루프 엔진:
    • 비동기 Generator로 구현된 핵심 스케줄러
    • 중단 및 재시작 지원 실행 제어
    • 다층 예외 처리 및 오류 복구
  • 메시지 처리 파이프라인:
    • 실시간 메시지 큐 처리
    • 메시지 우선순위 및 스케줄링 알고리즘
    • 백프레셔 제어 및 플로우 관리

2. 도구 실행 프레임워크 (Tool Execution Framework)

  • 6단계 실행 파이프라인:
    1. 도구 발견 및 등록
    2. 매개변수 검증 및 타입 체크
    3. 권한 검증 및 보안 체크
    4. 리소스 할당 및 환경 준비
    5. 동시 실행 및 상태 모니터링
    6. 결과 수집 및 정리 회수
  • 동시성 제어: 최대 10개 동시 실행, 지능형 로드 밸런싱
  • 오류 격리: 각 도구별 독립적인 오류 처리 도메인

3. 메모리 및 컨텍스트 관리 (Memory & Context Management)

  • 지능형 압축 알고리즘:
    • 92% 임계값 자동 압축 트리거
    • 핵심 정보 보존 압축 전략
    • 계층적 저장 및 검색 메커니즘
  • 토큰 최적화:
    • 동적 컨텍스트 윈도우 조정
    • 중요도 점수 및 콘텐츠 필터링
    • 대화 기록의 지능형 요약

4. 보안 방어 프레임워크 (Security Framework)

  • 6층 권한 검증:
    1. UI 입력 검증 계층
    2. 메시지 라우팅 검증 계층
    3. 도구 호출 검증 계층
    4. 매개변수 내용 검증 계층
    5. 시스템 리소스 접근 계층
    6. 출력 내용 필터링 계층
  • 샌드박스 격리: 완전히 격리된 도구 실행 환경
  • 악성 입력 탐지: 다양한 패턴의 악성 콘텐츠 식별

5. 사용자 인터페이스 통합 (UI Integration)

  • React 컴포넌트 시스템: 모듈화된 UI 컴포넌트 아키텍처
  • 실시간 업데이트 메커니즘: WebSocket 기반 실시간 통신
  • 이벤트 처리 시스템: 12가지 다양한 유형의 UI 이벤트 처리

📊 검증 결과 통계

검증 차원 정확성 커버리지 신뢰도
핵심 아키텍처 설계 95% 완전 커버 높음
핵심 메커니즘 구현 98% 완전 커버 매우 높음
API 호출 체인 92% 85% 커버 높음
보안 메커니즘 검증 90% 주요 기능 중상
성능 매개변수 검증 88% 핵심 지표 중상
UI 상호작용 메커니즘 85% 주요 플로우 중간

🔬 혁신 기술 발견

1. 실시간 Steering 기술 돌파구

우리가 발견한 가장 중요한 기술 혁신입니다. h2A 클래스는 진정한 제로 지연 비동기 메시지 전달을 구현했습니다:

// 핵심 이중 버퍼링 메커니즘 의사코드
class h2AAsyncMessageQueue {
  enqueue(message) {
    // 전략1: 제로 지연 경로 - 대기 중인 리더에게 직접 전달
    if (this.readResolve) {
      this.readResolve({ done: false, value: message });
      this.readResolve = null;
      return;
    }

    // 전략2: 버퍼링 경로 - 순환 버퍼에 저장
    this.primaryBuffer.push(message);
    this.processBackpressure();
  }
}

2. 지능형 컨텍스트 압축 알고리즘

중요도 점수 기반 지능형 압축으로 92%의 핵심 정보 보존:

// 압축 트리거 로직
if (tokenUsage > CONTEXT_THRESHOLD * 0.92) {
  const compressedContext = await wU2Compressor.compress({
    messages: currentContext,
    preserveRatio: 0.3,
    importanceScoring: true,
  });
}

🎯 응용 시나리오 및 가치

📚 교육 연구 가치

  1. AI Agent 아키텍처 학습: 완전한 현대 AI Agent 시스템 구현 사례
  2. 비동기 프로그래밍 패턴: 고성능 비동기 시스템의 설계 참고
  3. 보안 아키텍처 설계: 다층 보안 방어의 구현 방안
  4. 성능 최적화 기법: 메모리 관리 및 동시성 제어의 모범 사례

🏗️ 시스템 설계 참고

  1. 아키텍처 패턴 차용: 계층형 아키텍처 및 컴포넌트화 설계
  2. 도구 시스템 설계: 플러그인화 도구 실행 프레임워크
  3. 상태 관리 방안: 분산 상태 동기화 메커니즘
  4. 오류 처리 전략: 다층 오류 복구 메커니즘

🔒 보안 분석 응용

  1. 보안 메커니즘 감사: 다층 권한 검증의 구현 분석
  2. 샌드박스 기술 연구: 격리 실행 환경의 설계 원리
  3. 입력 검증 패턴: 악성 입력 탐지 및 필터링 기술
  4. 권한 제어 시스템: 세밀한 권한 관리의 구현

🚀 오픈소스 개발 가이드

  1. 프로젝트 아키텍처 구축: 분석 결과 기반 아키텍처 설계
  2. 핵심 컴포넌트 구현: 핵심 컴포넌트의 오픈소스 구현 가이드
  3. 테스트 전략 수립: 분석 기반 테스트 케이스 설계
  4. 성능 최적화 지도: 성능 병목 식별 및 최적화 방안

🤝 기여 가이드

📝 기여 유형

  1. 정확성 개선: 분석의 오류 또는 부정확한 부분 수정
  2. 심층 분석: 기존 분석의 추가 심화
  3. 새로운 발견 보완: 새로 발견된 기술 세부사항 추가
  4. 문서 개선: 문서 구조 및 가독성 향상
  5. 코드 구현: 분석 기반 오픈소스 구현

✅ 기여 표준

  • 모든 기술적 주장은 소스코드 위치 지원 필수
  • 새로운 분석은 교차 검증 필요
  • 문서 형식의 일관성 유지 필요
  • 코드 구현은 테스트 검증 필수

⚖️ 면책 조항

본 저장소는 교육 및 학술 연구 목적 전용입니다. 모든 분석 작업은 공개적으로 이용 가능한 난독화 코드를 기반으로 하며, 현대 AI 시스템의 설계 패턴과 아키텍처 원리를 이해하는 것을 목표로 합니다.

중요 사항:

  • 본 프로젝트는 어떠한 악의적인 역공학 활동도 포함하지 않습니다
  • 모든 분석은 합법적이고 규정을 준수하는 프레임워크 내에서 수행됩니다
  • 연구 결과는 학술 교류 및 기술 학습 목적으로만 사용됩니다
  • 분석 결과를 상업적 경쟁 목적으로 사용하는 것은 권장되지 않습니다

📄 오픈소스 라이선스

본 프로젝트는 Apache License Version 2.0 라이선스로 오픈소스화됩니다 - 자세한 내용은 LICENSE 파일을 참조하세요.


최종 업데이트: 2025년 6월 29일
프로젝트 영감 출처: claude-code-reverse
유지보수 팀: ShareAI-Lab

About

Claude Code v1.0.33에 대한 리버스 엔지니어링 분석본. 한국어로 번역

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 99.6%
  • TypeScript 0.4%