TECH 으로 돌아가기
TECH GITHUB 오늘 18분 읽기 50 READS

[심층분석] AI 에이전트에게 '보안 감각'을 심는 방법 — reverse-skill이 보여준 스킬 라우터 설계

[심층분석] AI 에이전트에게 '보안 감각'을 심는 방법 — reverse-skill이 보여준 스킬 라우터 설계
SOURCE IMAGE · GITHUB
[심층분석] AI 에이전트에게 '보안 감각'을 심는 방법 — reverse-skill이 보여준 스킬 라우터 설계

AI는 코드를 잘 쓰는데, 왜 보안 작업 앞에서는 헤맬까요

요즘 Claude Code나 Cursor, Cline 같은 AI 코딩 도구 안 써보신 분 거의 없을 거예요. 웹 API 하나 만들어달라고 하면 뚝딱 만들어주고, 테스트 코드도 알아서 붙여주죠. 그런데 여기에 APK 파일 하나를 던져놓고 "이 앱 안에 API 키가 하드코딩돼 있는지 확인해줘"라고 하면 갑자기 분위기가 이상해져요. 어떤 때는 jadx를 쓰고, 어떤 때는 apktool을 쓰고, 또 어떤 때는 갑자기 존재하지 않는 명령어를 만들어내면서 자신 있게 실행하려 들거든요.

왜 이럴까요? 코드 작성은 AI가 학습한 데이터가 어마어마하게 많은 영역이에요. 반면 리버스 엔지니어링(이게 뭐냐면, 이미 완성돼서 배포된 프로그램을 거꾸로 뜯어서 내부가 어떻게 동작하는지 알아내는 작업이에요)이나 침투 테스트(허락받은 시스템을 실제 공격자처럼 찔러보면서 취약점을 찾아내는 일)는 완전히 다른 세계예요. 여기서 중요한 건 "코드를 얼마나 잘 쓰느냐"가 아니라 "지금 상황에서 어떤 도구를 어떤 순서로 쓸지 판단하는 감각"이거든요.

reverse-skill이라는 프로젝트는 바로 이 빈틈을 겨냥해요. AI에게 새로운 도구를 하나 더 붙여주는 게 아니라, 이미 존재하는 수십 개 도구 사이에서 길을 찾아주는 '내비게이션'을 만들어준 거예요. 저장소 설명에 있는 문장이 핵심을 잘 요약해요. "명령어를 추측하는 대신, 반복 가능한 워크플로를 실행한다."


핵심 발상: 도구를 늘리지 말고, '목차'를 만들어라

스킬이 뭐냐면

먼저 용어 하나만 정리하고 갈게요. 요즘 AI 에이전트 생태계에서 말하는 스킬(Skill)은 거창한 게 아니에요. 그냥 마크다운으로 쓴 작업 설명서예요. "안드로이드 앱을 분석할 때는 이런 순서로, 이런 도구를 쓰고, 이런 함정을 조심해라" 같은 내용을 문서로 적어둔 거죠.

그런데 여기서 재밌는 게, 왜 굳이 문서로 쪼개놓느냐는 거예요. 이유는 컨텍스트 창(AI가 한 번에 기억할 수 있는 정보의 양) 때문이에요. AI의 작업 기억을 책상이라고 생각해보세요. 책상은 넓지 않은데 참고 서적을 100권 다 펼쳐놓으면 정작 중요한 페이지를 못 봐요. 그래서 "목차만 항상 올려두고, 필요한 책만 그때그때 꺼내 보는" 방식을 쓰는 거예요. 이걸 점진적 공개(progressive disclosure)라고 부르는데, 어려운 말 같지만 결국 "필요할 때만 읽어라"예요.

파이프라인을 따라가 봅시다

이 프로젝트가 공개한 처리 흐름은 대략 이래요.

1. 사용자 요청 — "이 바이너리 뭐하는 놈인지 봐줘"
2. RULES.md — 전체 원칙을 먼저 읽어요. 헌법 같은 역할이에요.
3. MASTER-ROUTING.md / master-route.ps1 — 1차 분기점. "APK냐, ELF 실행파일이냐, 프론트엔드 JS 암호화냐, PCAP 패킷 덤프냐, CTF 문제냐"를 판단해요.
4. case-init / scope.md — 여기가 제일 중요해요. 권한과 네트워크 범위를 확인하는 단계인데, 원문에 명시적으로 no target ACT until ready(준비되기 전에는 대상에 손대지 않는다)라고 못 박아뒀어요.
5. 시나리오별 스킬 — 판단이 끝나면 해당 상황 전용 문서로 넘어가요.
6. 도구 / MCP / 스크립트 실행 7. 타임라인 + Evidence→Finding→Path 기록 8. 리포트 + field-journal(작업 일지)

4번 단계가 왜 인상적인가

솔직히 저는 4번이 이 프로젝트에서 가장 잘 만든 부분이라고 봐요. 보안 작업에서 사고가 나는 지점은 기술이 부족해서가 아니라 "어디까지 건드려도 되는지 합의가 없는 상태에서 손을 대서"인 경우가 훨씬 많거든요.

건물 공사에 비유하면 이래요. 벽을 부수는 기술은 누구나 배울 수 있어요. 그런데 프로가 되는 건 망치를 들기 전에 도면과 허가증을 확인하는 습관이 있느냐예요. scope.md라는 파일 하나로 "점검 대상, 허용 범위, 네트워크 프로필"을 강제로 문서화하게 만든 건, AI에게 이 습관을 절차로 심어놓은 거예요. AI는 사람과 달리 "어? 이건 좀 아닌 것 같은데" 하는 직감이 없으니까, 이런 게이트를 코드 흐름 자체에 박아두는 게 훨씬 안전하죠.

Evidence → Finding → Path, 환각을 막는 3단 구조

결과 기록 방식도 눈여겨볼 만해요. 증거(Evidence) → 발견(Finding) → 경로(Path) 순서로 적게 되어 있어요.

댓글에서 여러분의 경험을 들려주세요. 특히 실패담이 제일 도움이 돼요.


🔗 출처: GitHub

SOURCE · GITHUB
원문 전체 보기 → https://github.com/zhaoxuya520/reverse-skill
SHARE
처리 중...