화이트햇 스쿨 3기 2단계 프로젝트 Team LLL입니다.
HackLLM — 해킹을 통해 배우는 LLM 보안
OWASP LLM Top 10의 취약점 시나리오를 바탕으로 제작된 실습형 CTF 플랫폼입니다.
기존 LLM 보안 실습 환경이 프롬프트 인젝션에 편중되어 있거나, 한국어 기반의 학습 자료의 부족을 해결하기 위해 OWASP LLM TOP 10 기반의 종합적 학습 환경을 구축하였습니다.
| 구분 | 기능 | 설명 |
|---|---|---|
| 1 | 교육 (Edu) 페이지 | OWASP LLM Top 10의 10개 취약점을 세션 단위로 학습할 수 있는 가이드 콘텐츠를 제공합니다. |
| 2 | 실습 (CTF) 페이지 | 각 취약점에 대응하는 10개의 CTF 시나리오를 통해 실제 공격을 수행하고 Flag를 획득하는 실습을 진행할 수 있습니다. |
| 3 | 사용자 관리 | 회원가입, 로그인 기반으로 풀이 이력과 점수를 관리하며, 사용자별 OpenAI API Key를 암호화 저장합니다. |
| 번호 | 취약점 | 시나리오 개요 |
|---|---|---|
| LLM01 | 프롬프트 인젝션 | 챗봇 LLi 의 시스템 지침을 우회하여 관리자 권한 영역의 Flag 를 탈취 |
| LLM02 | 민감 정보 유출 | 보안 감사 모드를 가장한 인젝션으로 LLM 사내 PDF 의 민감 정보 유출 |
| LLM03 | 공급망 | 변조된 mathlib2 라이브러리 import 를 통한 백도어 동작 트리거 |
| LLM04 | 데이터 및 모델 오염 | RAG 데이터 오염과 권한 상승을 결합한 정책 override 공격 |
| LLM05 | 부적절한 출력 처리 | 챗봇 출력에 삽입된 XSS 페이로드를 통한 관리자 세션 쿠키 탈취 |
| LLM06 | 과도한 위임 | 이메일 전송 권한을 가진 LLM Agent 의 Function Call 남용 |
| LLM07 | 시스템 프롬프트 유출 | 다중 LLM 체인 구조에서 시스템 프롬프트 누출을 통한 API 키 획득 |
| LLM08 | 벡터 및 임베딩 취약점 | 벡터 DB 에 악성 문서를 삽입하여 RAG 검색 결과를 조작 |
| LLM09 | 허위 정보 | 법률 자문 챗봇 Lexi 의 환각을 유도하여 잘못된 판단을 트리거 |
| LLM10 | 무제한 소비 | 반복 호출 및 토큰 폭증 공격을 통한 시스템 자원 고갈 (Unbounded Consumption) |
- Frontend / Runtime : Streamlit (UI · 페이지 라우팅 · 세션) , Streamlit Community Cloud 배포
- Backend / Data : Supabase (사용자·풀이·API Key 저장) , Supabase pgvector +
vecs라이브러리 기반 RAG - LLM : OpenAI API (
gpt-4o-mini기본), 사용자별 API Key 입력 구조 - 보안 처리 : Fernet 대칭키 암호화 (API Key) , SHA-256 세션 토큰 검증 , Streamlit cache 기반 호출 제한
- CI/CD : GitHub Actions
- 한세사이버보안고등학교 강의 운영 : OWASP LLM TOP 10 기반 LLM 보안 인식 및 실습 강의 진행
- 자체 CTF 대회 개최 : 2025년 7월 23일 ~ 7월 26일 / HackLLM 플랫폼을 활용하여 진행
| 역할 | 이름 | GitHub |
|---|---|---|
| 멘토 | 김남석 | @s-cu-bot |
| PL (Project Leader) | 김정호 | @filime |
| 이름 | GitHub | 소속 | 주요 역할 |
|---|---|---|---|
| 권석재 | @seokjea | 강원대학교 | PM · 개발 총괄 · CTF04 개발 |
| 임희진 | @hanataba227 | 목원대학교 | 개발 총괄 · 웹 구현 · UI 개발 · DB 구축 · 세션 구현 및 최적화 · 웹 배포 · 서버 관리 |
| 김에스더 | @esthervery | 서울여자대학교 | 리드 개발 · DB 구축·개발·배포 · CTF06 · CTF07 개발 |
| 전민주 | @jeonminju2 | 서울여자대학교 | 개발 · 문서 및 매뉴얼 작성 · CTF05 · CTF09 개발 |
| 이정우 | @eclipse07077-ljw | 성남고등학교 | 개발 · 문서 및 매뉴얼 작성 · CTF08 개발 |
| 김현진 | @tellgeniewish | 동덕여자대학교 | 개발 · 문서 및 매뉴얼 작성 · CTF01 개발 · 매뉴얼 작성 |
| 김나현 | @skguskim | 서울과학기술대학교 | 개발 · DB 테스트 · CTF10 개발 |
| 하업준 | @haupjun | 부산대학교 | 개발 · CTF02 · CTF03 개발 |
본 팀은 분산된 지역·소속 환경에서의 효율적 협업을 위하여 다음과 같은 도구 및 프로세스를 운용하였습니다.
- Discord — 온라인 회의 및 일상 커뮤니케이션. 자유게시판, 공지, 멘토링 피드백 등 채널을 목적별로 분리하여 운영하였습니다.
- Notion — 공지사항, 문서, 회의록, 캘린더 등의 자료를 통합 관리하였습니다.
- GitHub —
main/dev브랜치 전략을 기반으로 형상관리를 진행하였습니다. - 오프라인 회의 — 약 2 주 간격으로 BOB 센터, 서울어린이대공원 등의 회의실에서 정기 오프라인 회의를 진행하였습니다.
Team LLL · Whitehat School 3rd
해킹을 통해 배우는 LLM 보안, HackLLM