기업 사례분석●Claude●Llama
원본으로 →토스의 LLM 기반 서비스 취약점 분석 자동화
토스 Security Researcher 길드가 LLM으로 서비스 취약점을 자동 분석하기 위해 토큰·일관성·비용·지속가능성 4개 벽을 MCP·Semgrep·Multi-Agent·Qwen3:30B로 풀어 정확도 95% 이상 달성
노
노예1호2026.03.05조회 52
★ 0.0 (0명)|내 평가
로그인 이후 사용할 수 있습니다
로그인 이후 사용할 수 있습니다
요약
토스가 LLM 단독으로는 일관되지 않던 취약점 탐지를 Semgrep + Multi-Agent + 오픈 모델 Qwen3:30B 조합으로 운영 가능한 자동화로 전환. 정확도 95%↑, 상용 모델 기준 월 810만 원 추산이던 비용을 자체 호스팅으로 해소.
내용
토스 보안 연구원이 서비스 코드를 사람 손으로 일일이 보던 작업을 LLM에 옮긴 시도. 시작은 Google Project Naptime의 자동 취약점 분석 사례를 보고 자체 길드를 꾸린 것. 1편 — 마주친 문제와 해결책. 2편에서 실제 구현 공유 예정.
대규모 서비스 코드는 LLM에 통째로 넣을 수 없음. 처음 시도한 RAG는 코드 간 호출 관계를 잡지 못했고, Repomix 같은 코드 압축도 토큰 한계를 못 넘김. 토큰을 맞추더라도 한 번에 정보가 너무 많이 들어가면 LLM이 없는 취약점을 만들어내거나 흐름을 잘못 읽는 Hallucination이 잦음. 즉 LLM이 능동적으로 필요한 부분만 가져가는 구조가 필요한 출발점.
해결 / 접근
첫째 벽 — 대용량 소스코드 입력: SourceCode Browse MCP
- LLM Agent가 자유롭게 코드 탐색하도록 MCP(Model Context Protocol) 자체 구축
- tree-sitter — 구문 트리 분석
- ctags — 함수·변수 정의 위치 인덱싱
- ripgrep — 고속 텍스트 검색
- LLM이 "이 함수는 어디서 정의되지?", "이 변수는 어디서 사용되지?"를 Tool Calling으로 질의
둘째 벽 — 일관성 없는 결과: Semgrep + Multi-Agent
- Claude-Sonnet-4 단독 분석은 같은 입력에 대해 XSS 10개 중 7~10개 사이를 오가며 일관성 부재
- CodeQL은 빌드 필수, 컴퓨트 비용 높고 비오픈소스에서 유료 → Semgrep 선택 (빌드 X, 가벼움, 라이선스 자유)
- 전략: SAST를 분석 도구가 아닌 Source→Sink 경로 수집기로 사용 → LLM이 모든 경로를 빠짐없이 판별 → 누락 0
- Multi-Agent 3종
- Supervisor — Discovery·Analysis 지휘
- Discovery — 수집 경로(예: 100개) 중 취약점 가능성 높은 것만 거름 (예: 10개)
- Analysis — Discovery가 거른 경로만 심층 분석
- 효과: 100개 경로 중 의미 있는 10개만 토큰 소모
셋째·넷째 벽 — 비용·지속가능성: 오픈 모델 전환
- 상용 모델 가정치: 1회 분석 300원 × 하루 3회 × 300개 프로젝트 = 일 27만 원, 월 약 810만 원
- 1회 100원으로 줄여도 월 270만 원 — 운영 가능 비용 X
- 오픈 모델 후보 3종 비교 (IDOR 3개 샘플 프로젝트)
| 모델 | 분석률 | 정탐률 | 오탐률 | Input 토큰 | Output 토큰 |
|---|---|---|---|---|---|
| Qwen3:30B | 100% (14/14) | 100% (3/3) | 35.7% (5/14) | 20,925 | 2,569 |
| gpt-oss:20B | 57.1% (8/14) | 100% (3/3) | 0% (0/8) | 51,558 | 4,396 |
| llama3.1:8B | 28.6% (4/14) | 16.7% (0.5/3) | 87.5% (3.5/4) | 6,563 | 1,413 |
- 분석률 = 입력 경로 커버리지, 정탐률 = 실제 취약점 정확 식별, 오탐률 = 비취약점을 취약점으로 잘못 판정
- 결과: gpt-oss:20B는 정탐·오탐은 완벽하나 커버리지 부족 + MCP Tool Calling 실패 잦음
- Qwen3:30B 채택 — 비용·정확도 종합 우위, 시장·논문 평가도 취약점 분석에 양호
오픈 모델 성능 보완
- 시스템 프롬프트·Human Message를 더 엄격·체계적으로 다듬음
- Cloud Model에 맡기던 처리량을 더 작은 task 단위로 분할
- 예외 상황 처리 로직 강화
결과 / 참고
- 정확도 95% 이상의 LLM 취약점 분석 자동화 시스템을 운영 중
- 영감: Google Project Naptime
- 본 글은 1편(문제와 해결책 소개), 2편에서 실제 구현 상세 공유 예정
- 작성: 토스 Security Researcher 표상영
- 원문: https://toss.tech/article/vulnerability-analysis-automation-1
댓글 0
로그인 이후 사용할 수 있습니다