Ghidra의 디컴파일러를 기반으로 구축된 리버스 엔지니어링 워크벤치로, 네이티브 Java-free 엔진, AI 지원 함수 분석, 바이트 패칭, 샌드박스 에뮬레이션, CLI/MCP 자동화를 제공합니다.
도움을 받아 프로그램을 분해하고 이해하세요. KRAKEN은 Ghidra의 디컴파일러 위에 구축된 오픈소스 리버스 엔지니어링 워크벤치로, Java가 필요 없는 네이티브 엔진과 선택적인 전체 Ghidra 엔진을 갖추고 있습니다. 당신과 당신의 스크립트, 그리고 AI 에이전트 모두가 하나의 명령 세트를 통해 동일한 프로젝트에서 작업하며, 모든 편집은 기록되고 작성자가 귀속되며 실행 취소가 가능합니다. 시작하기 위해 리버스 엔지니어링을 알 필요는 없습니다. 앱이 진행하면서 용어를 설명하고 튜토리얼이 첫 세션을 안내합니다. 장기적인 목표는 바이너리를 함수 단위로 Rust로 재작성하고 원본과 대조하여 검증하는 것입니다.

실제 네이티브 엔진 프로젝트: 이 저장소의 stripped_calc-O2-stripped, 몇 개의 함수에 이름을 붙인 후.
분석
패치
AI
자동화
--json 출력, Python 모듈, 프로젝트를 따뜻하게 유지하는 백그라운드 데몬.재작성
KRAKEN은 pre-alpha(0.1a)입니다. 거친 부분과 호환성을 깨는 변경을 예상하세요.
| Linux x86_64 | macOS (Apple silicon) | Windows x86_64 | |
|---|---|---|---|
| CLI, MCP 서버, GUI | 작동 | 빌드됨, 실험적 | 빌드됨, 실험적 |
네이티브 엔진, Java 불필요 (kraken setup --native) | 작동 (ELF 및 PE) | 아직 미지원 | 아직 미지원 |
Ghidra를 사용한 분석 (kraken setup) | 작동 | 아직 미지원 | 아직 미지원 |
| Ghidra 주변 샌드박스 | Landlock | 아직 미지원 | 아직 미지원 |
| 로컬 모델 | 작동 | 빌드됨 | 빌드됨 |
| 재작성 파이프라인 | 작동 (Landlock 및 모델 필요) | 실행 거부 | 실행 거부 |
"빌드됨"은 코드가 컴파일되고 CI에서 검사된다는 의미이며, 전체 제품이 해당 플랫폼에서 입증되었다는 뜻은 아닙니다. 현재 사용해야 할 플랫폼은 Linux입니다.
Linux x86_64 (Java 불필요: 네이티브 엔진과 그 프로세서 파일이 릴리스에 포함됨):
curl --proto '=https' --tlsv1.2 -fsSL https://raw.githubusercontent.com/Adam-AtlasSoftware/kraken/main/scripts/install.sh | bash
스크립트는 다운로드한 파일을 릴리스의 SHA256SUMS와 대조하여 검증하며, sudo가 필요 없고 ~/.local에 설치합니다. 또는 최신 릴리스에서 AppImage를 받아(chmod +x KRAKEN-*.AppImage 후 실행, ./KRAKEN-*.AppImage kraken --help로 명령줄 실행) 사용하거나, Arch Linux에서는 AUR에서 kraken-workbench-bin을 설치할 수 있습니다. Windows 및 macOS 아카이브도 릴리스 페이지에 있으며 실험적입니다(상태 참조). 자세한 내용과 소스에서 빌드하는 방법은 설치 문서를 참조하세요.
kraken project-create --binary /usr/bin/ls --project ~/kraken-projects/ls
kraken analyze --project ~/kraken-projects/ls
kraken list-functions --project ~/kraken-projects/ls --limit 20
kraken-gui # or open the app and pick the project
새 프로젝트는 네이티브 엔진이 파일을 열 수 있으면 네이티브 엔진을 사용하고, 그렇지 않으면 선택적 Ghidra 엔진(Mach-O, 기타 프로세서, Windows 디버그 정보)을 사용합니다. Ghidra 엔진은 kraken setup이 처음 사용할 때 JDK와 함께 다운로드합니다. 네이티브 엔진 페이지에서 두 엔진을 비교합니다. corpus/bin/의 연습용 프로그램이 좋은 시작점이며, 튜토리얼에서 첫 세션을 단계별로 안내합니다.
에이전트 연결: claude mcp add kraken -- kraken mcp --project ~/kraken-projects/ls.
Rust와 C++ 컴파일러가 필요합니다:
git clone https://github.com/Adam-AtlasSoftware/kraken && cd kraken
cargo build --release -p kraken-cli -p krakend -p kraken-gui -p engine-native -p kraken-emu
export PATH="$PWD/target/release:$PATH"
kraken setup --native # once: fetches the pinned sources, compiles the Sleigh files (about a minute)
**튜토리얼: 첫 번째 리버스 엔지니어링 세션**부터 시작하세요.
mdbook build docs로 책을 빌드하세요. 명령어 레퍼런스는 생성됩니다: 명령을 변경한 후 cargo xtask docs를 실행하세요.
분석하는 바이너리는 신뢰할 수 없습니다. Ghidra와 네이티브 엔진의 디컴파일러는 각각 Linux에서 Landlock으로 격리된 별도 프로세스에서 실행됩니다: 네트워크 없음, 일회용 홈과 프로젝트 폴더에만 쓰기 가능, 정리된 환경. KRAKEN은 전체 프로그램 재작성을 요청할 때만 열어둔 프로그램을 실행하며, 나머지와 동일하게 격리되고 사용자에게 먼저 물어봅니다. 파일에서 오는 모든 것(이름, 문자열, 주석, 디컴파일된 텍스트)은 AI 모델에 명확히 표시된 신뢰할 수 없는 데이터로만 전달되며, 절대 지시사항으로 전달되지 않습니다. 에이전트의 쓰기는 추가적이거나 제안입니다: 에이전트는 실행당 한도 내에서 여전히 FUN_...으로 불리는 무언가에 이름을 추가하거나 주석을 추가할 수 있지만, 사용자의 작업을 덮어쓸 수 있는 것은 사용자가 수락할 때까지 대기합니다. 모델이 재작성 파이프라인을 위해 작성한 코드는 샌드박스에서만 빌드되고 실행되며, 오직 사용자만이 이를 수락할 수 있습니다. 보안을 참조하세요.
GPL-3.0-or-later. LICENSE를 참조하세요. 제3자 고지는 THIRD-PARTY-NOTICES.md에 있습니다.
KRAKEN은 분석이 허용된 소프트웨어에만 사용하세요.