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