
lure v0.7.1
로컬 Linux 바이너리 분석 도구. 클라우드 불필요. 루트 권한 불필요. 실행하기 전에 바이너리가 정확히 무엇을 하는지 확인하세요.
lure
로컬 Linux 바이너리 분석. 클라우드 없음. 루트 없음. 비용 없음.
lure는 보안 연구자, 리버스 엔지니어, CTF 플레이어를 위한 로컬 Linux ELF 분석 및 샌드박싱 도구입니다. 버전 0.7.1은 QEMU 사용자 모드 에뮬레이션을 통한 ARM64 바이너리 지원을 추가합니다.

세 가지 상호 보완적인 워크플로우를 제공합니다:
- 정적 분석 —
lure inspect로 ELF를 실행하지 않고 검사합니다. - 동작 분석 —
lure run으로 Linux 네임스페이스,strace, seccomp-bpf 정책 하에서 ELF를 실행하고 읽기 쉬운 보고서를 생성합니다. - 보고서 비교 —
lure diff로 저장된 두 동작 보고서를 비교합니다.
모든 처리는 로컬에서 이루어집니다. 샘플이나 보고서가 클라우드 서비스에 업로드되지 않습니다.
알파 소프트웨어: lure는 아직 활발히 개발 중입니다. 보안 연구에 적합한 환경에서 테스트하고 이 샌드박스를 전용 악성코드 분석 VM의 대체물로 취급하지 마십시오.

기능
Lure는 정적 ELF 검사와 동작 실행 분석을 결합합니다. 바이너리가 접근하는 항목, 시도하는 네트워크 연결, 생성하는 프로세스, 그리고 실행이 CLEAN, SUSPICIOUS, 또는 DANGEROUS로 분류되는 방식을 보여줍니다.
이유
- 개인정보 보호 — 샘플과 보고서가 사용자 머신에 남습니다.
- 가독성 — 원시
strace노이즈 대신 구조화된 보고서. - 간단한 워크플로우 — 하나의 CLI에서 검사, 실행, 저장, 비교.
- 무료 — MIT 라이선스이며 표준 Linux 도구를 기반으로 구축.
- 다중 아키텍처 — x86-64 네이티브 + QEMU 사용자 모드 에뮬레이션을 통한 ARM64.
특징
정적 ELF 검사
lure inspect는 다음을 보고합니다:
- ELF 아키텍처 및 유형 (x86-64, ARM64 등)
- 엔디언
- 파일 크기
- MD5 및 SHA-256 해시
- NX
- PIE
- RELRO 상태
- 스택 카나리 존재 여부
- 연결된 라이브러리
--sections옵션으로 ELF 섹션 헤더--strings옵션으로 인쇄 가능한 ASCII 문자열
검사된 파일은 실행되지 않습니다.
lure inspect /bin/ls
lure inspect ./arm64_binary # ARM64 ELF — 검사에는 QEMU 불필요

샌드박스 실행
lure run은 다음을 결합합니다:
- Linux 사용자 네임스페이스
- 네트워크 네임스페이스
- 마운트 네임스페이스
- PID 네임스페이스
strace시스템 콜 추적- 게스트에 적용되는 seccomp-bpf 시스템 콜 정책
- 최소 샌드박스 파일시스템
- 타임아웃 (기본 30초)
--allow-net옵션으로 선택적 네트워크 접근- 선택적 원시
strace출력 - 선택적 TXT + JSON 보고서
- 가능한 경우 best-effort cgroups v2 리소스 제한
qemu-aarch64를 통한 ARM64 바이너리 에뮬레이션 (v0.7.1+)
네트워크 접근은 기본적으로 차단됩니다.
lure run ./suspicious_binary
lure run ./arm64_binary # ARM64: qemu-aarch64가 바이너리를 자동으로 감쌈
ARM64 바이너리가 감지되면 lure는:
qemu-aarch64가 PATH에 있는지 확인합니다 (없으면 명확한 설치 힌트와 함께 종료).- 실행 명령 앞에
qemu-aarch64를 추가합니다 — strace가 전체 QEMU 체인을 추적합니다. - 실행 요약 패널에 Architecture: ARM64 (QEMU emulated) 을 표시합니다.
보고서 비교
lure diff는 저장된 두 .json 보고서를 비교합니다:
lure run --save ./binary_v1
lure run --save ./binary_v2
lure diff ~/.lure/reports/binary_v1_*.json ~/.lure/reports/binary_v2_*.json
설치
PyPI에서
pip install lure-analyze
시스템 의존성 (필수)
| 도구 | 패키지 | 용도 |
|---|---|---|
strace | sudo pacman -S strace | 시스템 콜 추적 |
unshare | util-linux의 일부 (사전 설치됨) | 네임스페이스 격리 |
gcc / cc | sudo pacman -S gcc | 런타임에 seccomp 래퍼 컴파일 |
시스템 의존성 (선택)
| 도구 | 패키지 | 용도 |
|---|---|---|
qemu-aarch64 | sudo pacman -S qemu-user | ARM64 바이너리 에뮬레이션 |
lure run으로 ARM64 ELF 바이너리를 분석하려면 qemu-user를 설치하십시오. lure inspect를 통한 정적 검사는 추가 도구 없이 ARM64 ELF에서 작동합니다.
cgroups v2 리소스 제한 (선택)
메모리 및 PID 제한을 활성화하려면 cgroup 하위 트리를 사용자에게 위임하십시오:
sudo mkdir -p /sys/fs/cgroup/lure
sudo chown "$USER" /sys/fs/cgroup/lure
사용법
lure inspect BINARY [--json] [--sections] [--strings]
lure run BINARY [--timeout SECS] [--args 'ARG ...'] [--allow-net] [--out FILE] [--save]
lure diff REPORT1 REPORT2
변경 로그
v0.7.1
qemu-aarch64사용자 모드 에뮬레이션을 통한 ARM64 바이너리 지원lure inspect가 AArch64 ELF에 대해ARM64를 올바르게 표시lure run이 ARM64 ELF를 자동 감지하고qemu-aarch64로 실행을 감쌈- 실행 요약이 ARM64 실행에 대해
Architecture: ARM64 (QEMU emulated)표시 qemu-aarch64누락 시 명확한 오류 및 설치 힌트- ARM64 검사 (표시 + JSON) 및 실행 (qemu 누락 + QEMU 성공)을 다루는 4개의 새 테스트
v0.6.0
- cgroups v2 리소스 제한 (메모리 512 MB, 최대 64 PID)
- 컴파일된 C lure-wrapper를 통한 seccomp-bpf 허용 목록
- 최소 chroot를 통한 전체 마운트 + PID 네임스페이스 격리
lure diff보고서 비교
라이선스
MIT — LICENSE 참조.