llm 오버뷰

메인 인덱스 | Shield4U | 레포 노트 | GitHub

한 줄 요약

llm은 Shield4U에서 크롤링 결과를 분석 단계로 바꾸고, 최종 보고서까지 생성하는 서비스 레포입니다. 저는 이 레포를 통해 LLM을 보조 기능이 아니라 파이프라인의 판단 축으로 설계한 방식을 설명할 수 있습니다.

제가 이 레포에서 설명할 수 있는 점

  • 크롤러가 수집한 구조화 데이터에서 스캔 가치가 있는 단서를 추려내는 흐름
  • 분석 결과를 사람이 읽는 설명으로 끝내지 않고 스캐너가 실행할 수 있는 형태로 연결한 점
  • 최종 스캔 결과를 다시 보고서 생성 단계로 넘겨 경영진용 요약과 기술용 설명을 함께 만드는 구조

주요 역할

  • analyzeLLM: 크롤링 결과를 받아 취약점 후보를 분류하고 스캔용 템플릿 생성을 돕습니다.
  • reportLLM: 스캔 결과를 바탕으로 최종 보안 보고서를 생성합니다.
  • 두 서비스는 각각 독립된 Flask API로 분리되어 있어 파이프라인 안에서 역할이 명확합니다.

핵심 기술 포인트

  • OpenAI 기반 분석/생성 파이프라인
  • Pydantic 기반 구조화 출력
  • YAML 기반 Nuclei 템플릿 생성
  • Flask API 기반 마이크로서비스 분리
  • 분석 단계와 보고 단계의 책임 분리

이 레포가 포트폴리오에서 중요한 이유

  • LLM을 “설명 생성”이 아니라 “분석 게이트”로 사용한 점이 분명합니다.
  • 보안 도메인 문제를 LLM 판단, 규칙화된 출력, 실제 스캐너 실행으로 이어 붙인 구조가 드러납니다.
  • controller와 함께 보면 오케스트레이션과 LLM 서비스를 어떻게 연결했는지 한 번에 설명할 수 있습니다.

빠르게 볼 핵심 파일

  • analyzeLLM/analyzeLLM.py: 분석 로직과 LLM 게이트의 중심 파일입니다.
  • analyzeLLM/app.py: 분석 API 진입점입니다.
  • reportLLM/reportLLM.py: 보고서 생성 로직의 중심 파일입니다.
  • reportLLM/app.py: 보고서 API 진입점입니다.

한계와 남은 과제

  • 해커톤 프로젝트라 비용 관리, 장기 피드백 루프, 모델 추상화까지는 충분히 다듬지 못했습니다.
  • 오탐 제어와 다국어 보고서 포맷 확장은 이후 보강할 여지가 있습니다.

함께 읽으면 좋은 문서

업데이트: 2026-03-25