DevLog

엔지니어링 블로그를 한 곳에서 탐색하고, 최근 발행 흐름을 빠르게 파악할 수 있는 서비스 입니다.

Quick Links

  • Latest Feed
  • Engineering Directory

Support

  • 소개
  • 개인정보처리방침

Contribute

  • 원하는 블로그 추가 (준비 중)
  • Feedback

© 2026 DevLog Inc. All rights reserved.

본 사이트는 공개 RSS 피드를 통해 콘텐츠를 수집하며, 모든 콘텐츠의 저작권은 원저작자에게 있습니다.

Back to Feed
Read Original

Contents

Continue Reading

  • More from 토스
  • Related reads#LLM
#Backend

LLM을 이용한 서비스 취약점 분석 자동화 #2

LLM을 이용한 서비스 취약점 분석 자동화 #2
01

Summary

AI 해커가 소스코드를 훑는 법: 토스의 LLM 기반 취약점 분석 자동화 여정

MCP와 Multi-Agent로 완성한 고성능 보안 분석 파이프라인 구축기

단순한 챗봇 수준을 넘어 보안 전문가의 사고 과정을 코드로 구현한 토스의 기술적 성취를 다룹니다. MCP를 통한 구조적 코드 이해와 SAST의 정밀함을 결합하여 LLM이 실제 서비스의 복잡한 취약점을 어떻게 스스로 찾아낼 수 있는지 구체적인 아키텍처와 함께 소개합니다.

  • 01Ripgrep의 한계를 넘는 ctags & tree-sitter 기반 MCP 서버 개발로 IDE급 탐색 구현
  • 02SAST 도구를 취약점 탐지가 아닌 '전수 조사 후보군 추출'용으로 재정의하여 커버리지 극대화
  • 03JSONL 최적화 및 연속 라인 머징 기술을 통한 MB 단위 분석 데이터의 효율적 토큰 관리
  • 04Discovery-Analysis 에이전트 분리 아키텍처를 통한 분석 정밀도와 비용의 황금 밸런스 확보
  • 05글로벌 보안 프로젝트 XBOW의 철학을 실무 파이프라인에 이식한 사례

+RECOMMENDATION

LLM을 활용해 대규모 코드베이스를 분석하거나 보안 자동화 도구를 고도화하려는 엔지니어에게 강력히 추천합니다. 특히 정적 분석 도구와 AI 에이전트를 결합한 하이브리드 접근 방식은 실무적인 비용 관리와 성능 향상을 동시에 달성할 수 있는 핵심 인사이트를 제공합니다.

The Problem

대용량 소스코드를 LLM에 효율적으로 전달하지 못해 발생하는 토큰 낭비와 분석 결과의 일관성 및 정확도 부족이 주요 문제였습니다. 특히 단순히 패턴 매칭 기반으로 코드를 탐색할 경우 취약점 경로를 누락하거나 분석 비용이 과도하게 발생하는 병목 현상이 존재했습니다.

The Solution

ctags와 tree-sitter를 활용해 심볼 인덱싱과 함수 범위를 파악하는 MCP 서버를 구축하여 구조적 코드 탐색 능력을 확보했습니다. 또한 SAST(Semgrep)를 후보군 추출 도구로 활용해 모든 입력 경로를 수집하고, Discovery와 Analysis 에이전트로 역할을 나눈 Multi-Agent 아키텍처를 도입했습니다.

The Result

AI가 IDE 수준의 코드 탐색 기능을 갖추게 되었으며, SARIF 결과의 JSONL 최적화를 통해 Context 낭비를 최소화했습니다. 이를 통해 분석 정확도를 높이는 동시에 불필요한 경로 분석을 줄여 비용 효율적인 취약점 탐지 파이프라인을 실현했습니다.

Trade-off

Discovery 에이전트에서 미탐을 방지하기 위해 과탐률을 의도적으로 높이는 전략을 선택했습니다. 이로 인해 Analysis 에이전트가 처리해야 할 대상이 일부 늘어나 토큰 비용이 추가로 발생할 수 있으나, 보안 분석의 완결성을 위해 선택한 절충안입니다.

03

Key Concepts

Concept · 01

MCP (Model Context Protocol)

AI 모델이 외부 도구나 데이터 소스에 구조적으로 접근하여 상호작용할 수 있도록 설계된 개방형 표준 프로토콜입니다.

  • ctags와 tree-sitter를 결합하여 AI에게 'Go to Definition'과 유사한 구조적 코드 탐색 능력을 제공합니다.
  • find_references, read_definition 등 4가지 핵심 도구를 통해 원격 환경에서의 코드 참조를 자동화합니다.
Concept · 02

SAST (Static Application Security Testing)

소스 코드를 실행하지 않은 상태에서 코드 구조를 분석하여 잠재적인 보안 취약점을 찾아내는 정적 분석 기술입니다.

  • 본 아티클에서는 Semgrep을 사용하여 AI가 검토해야 할 모든 'Untrusted Input' 경로를 추출하는 보조 도구로 활용되었습니다.
  • 분석 결과를 국제 표준인 SARIF 포맷으로 출력한 뒤, 토큰 효율화를 위해 JSONL 형태로 후처리하여 사용합니다.
Concept · 03

Multi-Agent Architecture

하나의 거대 언어 모델이 모든 업무를 수행하는 대신, 특정 역할에 특화된 여러 에이전트가 협업하여 복잡한 문제를 해결하는 구조입니다.

  • Supervisor, Discovery, Analysis 세 가지 에이전트로 역할을 분담하여 분석 프로세스를 체계화했습니다.
  • 전체 경로 중 가능성 높은 후보를 선별하는 Discovery 단계를 두어 Analysis 에이전트의 불필요한 비용 소모를 방지합니다.
Continue reading · same source

토스More from 토스

View all posts from 토스
  • 누군가는 토스를 테스트하는 동안, 우리는 테스트하는 법을 만듭니다.

    QA EngineeringTest AutomationAI in Testing
    2주 전
  • es-toolkit: How a Small Internal Library Became a Global Project

    JavaScriptTypeScriptTree-shaking
    2주 전
  • 6. 도구를 넘어, 기준과 책임으로

    Technical WritingAI AutomationKnowledge Governance
    2주 전
  • 5. Technical Writer, 사라질 결심

    LLMGitHub ActionsGenerative AI
    2주 전
  • es-toolkit, 사내 작은 라이브러리가 전세계적인 라이브러리가 되기까지

    JavaScriptTypeScriptTree-shaking
    3주 전

Related reads#LLM

Explore #LLM
NAVER D2

[AI 해커톤 후기] AI 시대의 해커톤과 인간의 역할: AI의 계획과 사람의 전략

#LLM12시간 전
여기어때

AI 수석회의

#LLM18시간 전
우아한형제들

AI가 내 프롬프트를 흘려듣는 이유: 원리부터 다시 본 컨텍스트 엔지니어링

#LLM6일 전
포스타입·Claude Code

AI 코드 리뷰, 3번 갈아엎고 배운 것

#LLM6일 전
NAVER D2·LLM as a Judge

[AI 해커톤 후기] 코드와 문서만 읽은 LLM은 어떻게 사람과 같은 팀을 1위로 골랐을까

#LLM1주 전

Source

토스
토스
Engineering Blog

Published · March 20, 2026

Topics

LLMMCPSASTSemgrepMulti-Agent보안자동화