Why I Build Gori
Gori를 만드는 이유, 그리고 앞으로

올해 6월부터 Gori라는 TUI 도구(Burpsuite 같은 Proxy)를 만들고 사용하고 있습니다. 어느덧 v0.8을 바라보고 있고, 사용해 주시는 분들도 조금 생겨서 왜 이 도구를 만들었는지, 앞으로 무엇을 더 만들 건지 이야기해 보면 좋을 것 같아 글로 남겨봅니다.
Why Reinvent the Wheel?
제 마음속에는 프로젝트 버킷 리스트 같은 게 있습니다. 단순히 필요나 문제 해결만을 위한 게 아닌, 그냥.. 정말 그냥 만들어보고 싶은 것들의 리스트인데, 대부분 규모가 큰 프로젝트라 쉽게 시작하지 못했었습니다.
저는 AI 시대의 수혜자 중 한 명입니다. AI 덕분에 빨라진 개발 속도와 환경은 제게 엄청난 생산성을 가져다주었고, 마음속에 담아두었던 프로젝트를 하나씩 꺼낼 수 있게 되었습니다.
첫 번째는 SSG(Static Site Generator)인 Hwaro(화로)였고, 두 번째가 Proxy 도구인 Gori(고리)입니다.
꼭 개인적인 목표가 아니더라도, 도구를 만드는 과정은 그 도구에 엮인 여러 기술과 선택을 배울 수 있는 시간입니다. 그리고 확실히 Proxy 도구 개발은 쉬운 길이 아닙니다.
Three Goals of Gori
Gori를 통해 달성하려는 목표는 3가지로 압축할 수 있습니다. 제가 Burpsuite, ZAP, Caido 등 여러 Proxy 도구를 사용하면서 불편했던 점들과 개인적인 비전에 관한 이야기입니다.
1. TUI and Muscle Memory
개인적으로 TUI를 굉장히 좋아합니다. TUI는 CLI에 비해 한정된 영역에서 표현해야 할 것이 많아 상당히 까다롭지만, 바로 그 제약 덕분에 대부분 직관적인 UI/UX를 갖게 됩니다. 그리고 Vim, Helix 같은 대표적인 TUI 도구를 오래 쓰다 보면 머슬 메모리가 생기고, 이건 평생 손에 남습니다. (Vim을 오랫동안 안 써도 종료하는 법은 알잖아요)

Gori 역시 이런 머슬 메모리를 만드는 것을 목표로 하고 있습니다. 많은 분들이 Gori에 손이 익어서 빠른 움직임으로 보안 테스팅을 즐기는 모습을 보고 싶네요.
2. Speed and Comfort
Gori는 Crystal로 작성했고 TUI이기 때문에, JVM 기반인 Burpsuite, ZAP, 그리고 Rust 기반이지만 TS를 얹은 Caido에 비해 기본적으로 굉장히 빠르고 가볍습니다. (메모리도 보통 20~50MB 정도만 차지합니다)

Burpsuite를 오래 써온 분들은 공감하실 겁니다. 분석 기간이 길어질수록 엄청나게 느려지고, PC 메모리를 대부분 잡아먹게 되죠. ZAP이나 Caido도 이 문제를 피해 갈 수는 없습니다. GUI 자체가 소비하는 자원이 워낙 크기 때문이죠.
빠른 속도와 쾌적함은 굉장히 중요합니다. 그래서 쾌적함을 Gori의 핵심 목표 중 하나로 잡았습니다.
3. AI and Automation
AI가 발전하면서 취약점 분석과 해킹에도 많은 변화가 생겼습니다. 과거에는 사람이 직접 수동으로 분석했다면, 지금은 AI Agent가 주도적으로 분석하거나 AI와 사람이 함께 분석하는 것이 현재의 모습이라고 생각합니다.
Gori는 그 중간에 위치한 도구가 되고 싶었습니다. 사람이 머슬 메모리로 TUI에서 빠르게 분석할 수도 있지만, AI에게도 맥가이버 칼 같은 도구가 되고 싶었고, 자동화에도 쓰일 수 있길 바랐습니다. 그래서 Gori는 3개의 주력 인터페이스(TUI x MCP x CLI)를 갖게 되었습니다.

사람과 AI, 스크립트가 하나의 도구 안에서 함께 흘러가는 그림을 그리고 있습니다.
Thoughts So Far
예상은 했지만, Proxy는 정말 어렵습니다. 보안 테스팅 도구이다 보니 잘 알려진 라이브러리를 그대로 쓰기도 어렵고, 직접 구현해야 하는 구간이 정말 많습니다. (Gori도 HTTP 등 전송 스택을 독자적으로 갖고 있습니다. 그래야 비정상적인 요청을 보낼 수 있거든요)
그래서 배울 것이 정말 많습니다. 적어도 이 프로젝트를 이어가는 동안 심심할 일은 없을 것 같아요. 5년, 10년 뒤에 어떤 프로그램이 되어 있을지는 모르겠지만, 그때에도 지금처럼 제가 가장 애정을 쏟는 프로젝트일 거라 생각합니다.
What's Next
앞으로 거창한 목표가 있는 건 아닙니다. 그저 위의 3가지 목표, 즉 사람과 AI 모두에게 최적화된 경험을 제공하는 것이 가장 우선이고, 보안 테스팅에 필요한 기능들은 가급적 내장할 생각입니다. (아직 플러그인 시스템을 만들지 않은 이유이기도 하고요. 이런 면에서는 기본 설정만으로 충분해야 한다는 Helix의 철학에 많은 영향을 받았네요)
v1 시점이 오면 아마.. 지금보다 더 간결하고 깔끔한 TUI를 가진 Proxy가 되지 않을까 싶네요.
Wrapping Up
인간 능력치의 천장이 뚫린 지금은 마음속에 담아둔 목표를 하나하나 실행해 볼 때라고 생각합니다. 자신을 믿고, 멈추지 말고 앞으로 달려가세요. 우리는 타오르는 불꽃입니다.