
cerberus-re는 Apple에 특화된 로컬 리버스 엔지니어링 워크벤치로, Ghidra, LLDB, Frida를 중심으로 반복 가능한 세 가지 헤드(정적/동적/계측) 루프를 구축하기 위한 도구입니다.
cerberus-re는 Apple 중심의 로컬 리버스 엔지니어링 워크벤치로, Ghidra, LLDB, Frida를 중심으로 반복 가능한 정적/동적/계측 루프를 구축합니다.
터미널 전용 메모 대신 지속 가능한 아티팩트가 필요한 분석가와 코딩 에이전트를 위해 설계되었습니다:
런타임 연결 및 대상 호출은 항상 명시적입니다. 도구는 소유 프로세스, 무연결 검증, 생성된 아티팩트, 증거와 함께 가정이 기록된 제한된 프로브를 선호합니다.
공개 워크벤치는 일반 Apple 바이너리 분석 인프라입니다: Ghidra 가져오기 및 내보내기, LLDB/Frida 상관 관계, Mach-O/ObjC/Swift/XPC 증거, 이식 가능한 보고서. 특정 프로젝트 연구 로그나 일반적인 장기 실행 에이전트 메모리 시스템이 아닙니다. 도메인별 연구 워크플로는 비공개 오버레이나 지속 가능한 실행 아티팩트에 있어야 하며, 일반적인 장기 실행 상태는 long-run-agent에 속합니다.
상당한 리버스 엔지니어링 작업을 위해 Cerberus RE를 long-run-agent와 함께 사용하세요. Cerberus RE는 정적, 동적, 계측 워크벤치를 제공하고, long-run-agent는 미션 상태, 주장, 아티팩트, 실패, 마찰 및 다음 작업을 보존하여 더 긴 조사가 감사 가능하고 재개 가능하도록 합니다. Cerberus RE는 제한된 작업을 위해 단독으로 실행될 수 있지만, 벤치마크 및 릴리스 워크플로는 cerberus-re + long-run-agent 조합 구성을 선호해야 합니다.
새 체크아웃의 경우, 의존성 설치 프로그램을 dry-run 모드로 시작하세요:
python3 scripts/install_dependencies.py
python3 scripts/install_dependencies.py --execute
source .venv/bin/activate
cerberus-re bootstrap
설치 프로그램은 로컬 가상 환경을 생성하고, Cerberus RE를 설치하며, Frida Python 도구를 추가합니다. macOS에서 Homebrew와 함께 Ghidra/Java 및 Node를 설치할 수 있습니다. Linux 및 Windows에서는 시스템 설치를 자동으로 실행하는 대신 검토를 위해 패키지 관리자별 명령어를 출력합니다.
시스템 의존성이 이미 존재하는 경우:
pip install -e .
cerberus-re bootstrap
선택적 스킬 설치:
cerberus-re install --host codex
cerberus-re install --host claude
cerberus-re install --host both
기본 경로는 templates/config.env.example에 문서화된 환경 변수로 재정의할 수 있습니다.
cerberus-re doctor
cerberus-re bootstrap
cerberus-re import analyze /path/to/Binary my_project
cerberus-re export apple-bundle my_project BinaryName
cerberus-re bridge arm my_project BinaryName
cerberus-re bridge call /functions/search '{"query":"interestingName"}'
cerberus-re validate lldb-trace my_project BinaryName --launch-cmd /path/to/host --symbols '-[Owner selector:]'
cerberus-re validate lldb-trace my_project BinaryName --launch-cmd /path/to/host --symbols FirstExport --symbols SecondExport
cerberus-re frida validate-scripts
cerberus-re frida recheck-attach --target /path/to/owned-host --symbol '-[Owner selector:]' --allow-runtime
cerberus-re export runtime-enrich my_project BinaryName /path/to/runtime_hits.json
cerberus-re export xpc-surface my_project BinaryName
cerberus-re export xpc-graph my_project:BinaryName other_project:OtherBinary
cerberus-re export function-dossier my_project BinaryName --function '-[Owner selector:]'
cerberus-re export triage-bundle my_project BinaryName --top-candidates 25
cerberus-re polish release --mode quick --strict-command-surface
export xpc-surface가 0 카운트를 보고하면, 이를 부재 증거로 사용하기 전에 warnings와 missing_input_count를 검사하세요. 기본 내보내기 디렉터리 외부에 저장된 Apple 번들을 분석할 때는 --bundle-dir 또는 명시적 내보내기 JSON 경로를 전달하세요.
자동화에는 python3 -m cerberus_re_skill 또는 cerberus-re를 사용하세요. 일반적인 장기 실행 상태, 스티어링 파일, 지속 가능한 프로젝트 메모리, 에이전트 종료 오케스트레이션은 이 워크벤치가 아닌 long-run-agent에 속합니다.
공개 벤치마크 스캐폴드는 벤치마크 결과를 제공하지 않고 재현 가능한 에이전트/태스크 매트릭스를 정의합니다:
python3 scripts/agent_benchmark.py list
python3 scripts/agent_benchmark.py scaffold --runner codex --configuration cerberus-re-long-run-agent --output benchmarks/results/example/codex/cerberus-re-long-run-agent
python3 scripts/agent_benchmark.py validate --bundle benchmarks/results/example/codex/cerberus-re-long-run-agent
기계 판독 가능한 진실의 원천으로 benchmarks/agent_benchmark.v1.json을 사용하세요. 스캐폴드된 번들은 실제 러너가 지속 가능한 명령어, 주장, 아티팩트, 실패, 메트릭스를 기록한 후에만 결과가 됩니다.
SKILL.md: 에이전트가 읽는 운영 절차.cerberus_re_skill/: Python CLI 및 보고서 빌더.scripts/: 설치 프로그램, 도우미 스크립트, 소스 셸 라이브러리, Ghidra Java 스크립트.bridge-extension/: Ghidra 브리지 소스.references/: 공개 명령어 및 아티팩트 참조.benchmarks/: 벤치마크 정의, 결과 번들 스캐폴드, 향후 공개 결과 형태.tests/: 스모크 및 회귀 테스트.마일스톤을 게시하기 전에:
python3 -m unittest discover -s tests
python3 -m compileall cerberus_re_skill scripts tests
python3 -m cerberus_re_skill polish release --mode quick --strict-command-surface
python3 -m cerberus_re_skill bridge audit
git diff --check
Apache-2.0. LICENSE 참조.