문서
슬기로운 토스뱅크 개발 인턴 생활
이경민/문홍윤 · 토스 · 토스 기술 블로그
소개
토스뱅크에서 3개월 동안 개발 인턴으로 근무하며 기획·개발·발표까지 진행해본 경험을 공유할게요.
AI 핵심 요약
토스뱅크 Loan Tech Platform 팀의 개발 인턴 두 명은 금융 도메인의 변수명 이해와 로그 내 민감정보 노출 위험을 줄이기 위해 각각 IDE 변수명 플러그인과 Kotlin 컴파일러 플러그인을 만들었습니다. 변수명 플러그인은 OpenKoreanTextProcessorJava로 합성어를 분리하고 CamelCase를 처리해 사전을 조회하며, 사전에 없는 표현과 오타는 내부 LLM으로 보완합니다. Secret-ToString-Plugin은 Kotlin IR에서 @Secret 프로퍼티가 있는 data class의 기본 toString()을 마스킹 버전으로 교체하되, 예상치 못한 자동 동작을 피하도록 애노테이션 기반 적용을 기본으로 정했습니다. 두 프로젝트는 실제 팀 업무에 적용됐고, 자동화의 효과와 함께 명시성·사용성·누락 검증까지 고려해야 한다는 점을 보여줬습니다.
- 도메인 용어 검색은 한국어 형태소 분석과 CamelCase 분리를 조합하면 합성어와 변수명을 다루기 쉽습니다.
- 사전에 없는 단어나 오타는 LLM에 문맥을 함께 제공해 보완할 수 있지만, 기존 용어 사전과 구분해 관리할 필요가 있습니다.
- Kotlin 컴파일러 플러그인은 IR을 수정해 반복 코드를 자동 생성할 수 있으며, 참조 오류를 피하려면 함수 시그니처를 먼저 만들어야 합니다.
- 자동 동작은 편리함뿐 아니라 추적 가능성도 고려해야 하므로, 애노테이션으로 적용 의도를 드러내는 방식이 유용합니다.
- 민감정보 마스킹 자동화만으로는 충분하지 않으며, @Secret 선언 누락을 찾아내는 별도 검증도 필요합니다.