보안 도구 개발
asmspeak_01_구축 계획 PRD
작성자 : Heehyeon Yoo|2025-12-10
# asmspeak# PRD# Reverse# LLM# CLI
디컴파일은 한다 치는데....
리버싱 공부를 하다 보면 디컴파일된 코드를 안 볼 수가 없다.
그런데 솔직히 말해서, 이거 읽는 거 진짜 보통 일이 아닌 거 같다.
뭐가 뭔지 하나도 모를 외계어가 뭔지 추론해서 하나씩 라벨링 하는게,
괜히 보안업계에서 리버싱 담당자들을 좀 변태적이라고 말하는게 아닌 것 같다....
깨져버린 변수명과 꼬인 로직을 눈으로 따라가고 생각하는게, 대체 몇 년을 해야 자연스럽게 될까?
편법을 떠올릴 수밖에 없다.
"옆에서 누가 '이거 그냥 문자열 복사하는 코드야'라고 딱 집어서 말해주면 얼마나 좋을까?"
그러면 코드 읽는 시간이 확 줄여서, 더 중요한 고민을 할 수 있을 텐데.
뭐 별게 있나? LLM이지. 어디에나 다 붙여 보는 거다!
리버싱 비서
이 프로젝트를 한 줄로 설명해보면 이렇다. 간단하다.
디컴파일 코드에 설명 주석을 달고, 무슨 내용인지 요약해주는 CLI 도구
- 리버싱을 하는 사람이라면 누구에게나 쓸모가 있을 것 같다. 특히 나같은 초보자는 더....
- 초보자: 암호문 같은 코드가 막막할 때, 줄마다 달린 친절한 설명을 보면 된다.
- 주니어: "이 함수가 중요한 건가?" 헷갈릴 때, 요약본을 보고 판단하면 된다.
- 시니어: 뻔한 코드는 쳐다보기도 싫을 때, 핵심 로직만 쏙 뽑아 볼 수 있다.
일단 MVP, 간단하게 시작해보자
기능은 욕심부리지 않고 딱 네 가지만 챙겨보자.
- 줄마다 주석 달기: 코드 옆에 친절한 설명을 붙여준다.
- 3줄 요약: 이 함수가 도대체 뭐 하는 녀석인지 알려준다.
- 수준별 설명: 초보자용과 숙련자용으로 설명의 깊이를 다르게 한다.
- CLI 방식: 터미널에서 명령 한 번으로 끝낸다.(Ghidra Headless 사용)
그러면 다음과 같은 결과물이 나올 것이다.
- 설명 주석이 꼼꼼하게 달린 C 코드 파일
- 함수 요약이 착착 정리된 마크다운 문서
처음부터 거창한 프로그램(GUI)을 만들 생각은 없다.
일단은 터미널에서 돌아가고, 결과 파일만 잘 나오면 된다는 생각으로 시작해보자.
- 입력: 분석할 바이너리 파일
- 처리: 기드라가 분석하고 AI가 설명을 쓴다.
- 출력: 주석 달린 파일과 요약 리포트
기술 스택
- CLI: Python(제일 만만하고 빠르니까)
- 분석 엔진: Ghidra Headless(공짜인데 성능은 확실하다)
- LLM: 내 컴퓨터에 있는 모델이나 클라우드 API, 상황에 맞춰 골라 쓴다.
- Output: Markdown + C File
해석은 기계가, 분석은 내가
이 도구를 만드는 이유는 분명하다.
'코드 해석' 같은 단순 반복 노동은 AI한테 던져버리고, 우리는 진짜 '분석'과 '추론'에 머리를 쓰자는 거다.
귀찮은 건 기계 시키고, 재밌는 거만 하자는 거다.