코스 개요
모듈 1 – AI 애플리케이션의 취약점 원인 파악
실습 내용: 없음. 아키텍처 개요 설명 및 토론 위주 진행
개발자 관점에서 공격 표면을 이해하는 기초 과정입니다.
다루는 주제:
- 개발자가 직접 다루게 되는 LLM, RAG, 에이전트 아키텍처
- AI 기능의 요청/응답 프로세스 전반
- 시스템 지시문, 개발자 입력, 사용자 발화 및 도구 메시지 간 프롬프트 흐름
- 신뢰할 수 없는 데이터가 모델에 유입되거나 다시 애플리케이션 코드로 전달되는 지점들
- 개발자가 직접 통제 가능한 신뢰 경계와 그렇지 않은 부분의 구별
- AI 기반 공격이 문법적 결함이 아닌 의미적 측면에서 발생하는 이유
- OWASP LLM Top 10과 직접 작성하게 될 코드 간 연관 관계 파악
핵심 통찰: 신뢰할 수 없는 텍스트가 모델로 유입되거나 모델의 출력이 애플리케이션 코드에 반영되는 모든 지점이 개발자의 관리 범위입니다.
모듈 2 – 개발자를 위한 프롬프트 인젝션 대응법
실습 내용: Lab 01 – 01-Prompt-Injection
AI 분야의 ‘SQL 인젝션 순간’과 유사하지만, 완전히 방지할 수는 없습니다.
다루는 주제:
- 직접 및 간접 프롬프트 인젝션 개념
- 문서나 웹 페이지, 도구 출력에 숨겨진 지시문 존재 가능성
- 제이일브레이크 기법과 역할 혼동 현상
- 지시문과 데이터 분리의 중요성
- 보안 친화적 프롬프트 설계 방법: 구분자 활용, 구조 명확화, 권한 최소화 전략
- 완전 방어가 불가능하므로 영향 범위 축소에 중점을 두는 설계 원칙
실습 내용:
- 직접 자신의 챗봇을 공격해보기
- 단순한 필터 시스템도 우회할 수 있는 방법 시험하기
- 공격 영향 범위를 줄이도록 프롬프트 구조 재구성해보기
모듈 3 – 모델 출력값을 신뢰할 수 없는 데이터로 다루기
실습 내용: Lab 02 – 02-Output-Handling
개발자들이 가장 간과하기 쉬운 오류 유형입니다.
다루는 주제:
- 모델의 출력 결과를 나머지 애플리케이션에 있어서 신뢰할 수 없는 입력값으로 간주해야 함
- 안전하지 않은 모델 출력 처리 시 발생하는 위험 (LLM02): XSS, SSRF, 명령어/SQL 인젝션 등 2차적 공격 가능성
- 모델의 원본 출력 결과를 절대 eval이나 exec 함수로 직접 사용하지 않기
- 구조화된 데이터 형식 및 스키마 검증 활용법
- 출력값 인코딩과 허용 목록 기반 필터링의 중요성
- 웹/UI 환경에서 안전한 렌더링 방법
실습 내용:
- 안전하지 않게 처리되어 위험 요소를 내포한 코드 수정 및 보완하기
- 모델 응답에 JSON 스키마 기반 제약 조건을 적용해보기
모듈 4 – RAG 보안 강화 방법
실습 내용: Lab 03 – 03-RAG-Security
RAG는 새로 등장한 주요 공격 표면이며 이 역시 개발자의 책임 영역입니다.
다루는 주제:
- 벡터 데이터베이스와 검색 과정에서의 보안 위협 인식
- 데이터 수집 단계에서의 정화 작업 절차
- 문서 출처 확인 및 신뢰도 점수 설정 방법
- 검색 범위 한정과 메타데이터 분리 전략
- 검색된 문서 내에 숨겨진 간접 프롬프트 인젝션 원천 존재 가능성
- 검색 결과를 통한 정보 유출 위험 예방 방안
실습 내용: 악의적인 문서로 RAG 파이프라인을 오염시킨 뒤 이에 대응하는 보안 조치를 직접 적용해보기.
모듈 5 – 에이전트 및 도구 안전성 확보 전략
실습 내용: Lab 04 – 04-Agent-Safety
오류 발생 시 실제 행동으로 직결되는 영역입니다.
다루는 주제:
- 과도한 권한 설정으로 인한 에이전트 위험 상황 및 도구 남용 가능성 (LLM06)
- 에이전트에게 부여되는 권한의 최소화 방법
- 사용할 수 있는 도구와 그 매개변수 검증을 위한 허용 목록 적용법
- 조작 승인 과정과 인간 개입 절차의 중요성
- 도구 실행 시 샌드박스 구현 방안
- 에이전트가 사용할 자격 증명을 한시적이고 제한된 범위 내로 관리하는 법
- 자율 루프 및 연쇄 작업의 횟수 제어 원칙
실습 내용:
- 과도한 권한을 부여받은 에이전트를 안전하게 제약하기
- 위험 도구에 대해 허용 가능 목록 및 승인 절차 추가해보기
모듈 6 – 비밀 정보 관리, 인증 체계 및 비용 통제
실습 내용: Lab 05 – 05-Secrets-and-Cost
운영 단계에서 가장 빠르게 손해를 초래할 수 있는 실수 영역입니다.
다루는 주제:
- API 키 및 기타 비밀 정보 관리 원칙: 프롬프트, 코드, 로그에 절대 포함하지 않기
- AI 기능용 사용자별 인증과 권한 부여 방법
- 사용자 식별 정보가 도구 및 검색 기능에도 연계되어 전달되도록 하는 절차
- 무제한 토큰 소비로 인해 예상치 못한 비용이 발생하는 상황 (Denial-of-Wallet) 방지법
- 요청 빈도 제한, 토큰 사용 한도 및 시간 초과 설정 전략
- 비밀 정보나 개인 식별 가능 데이터가 유출되지 않도록 로그 기록 수단 제어하기
실습 내용:
- 비밀 값이 프롬프트/코드 내에 남아있는 부분을 찾아내 분리하기
- 사용자별 요청 제한 및 일정 금액 내에서만 활용 가능하도록 토큰·비용 한도 설정해보기
모듈 7 – 입출력 보안을 위한 가드레일 라이브러리 활용법
실습 내용: Lab 06 – 06-Guardrails
입출력 안전성을 위해 상용 제품 구매 또는 자체 제작 시에 따르는 판단 기준 학습 과정입니다.
다루는 주제:
- 가드레일 프레임워크의 기능 범위 및 한계
- 입력값 검증용 가드레일: 인젝션, 개인정보 탐지 및 주제 분류 알고리즘
- 출력 보안용 가드레일: 유효성 점검, 필터링 기법 및 맥락 적합도 판별 절차
- 특정 상황에서는 자체 논리 검증을 사용하고 특정 경우에는 가드레일 라이브러리를 활용해야 하는 이유
- 앞서 학습한 아키텍처 설계 원칙과 결합한 다중 계층 가드레일 배치법
- 성능, 오판률 및 다양한 예외 사례에 대한 전반적 고찰 내용
실습 내용:
- AI 기능에 입출력 검증용 가드레일 계층을 새로 추가해보기
- 해당 기법으로 어떤 위협을 차단할 수 있고 빠뜨리는 부분이 있는지 측정해보기
모듈 8 – 자체 애플리케이션에 대한 레드팀 테스트 전략
실습 내용: Lab 07 – 07-Red-Teaming
공격자가 먼저 공략했을 것으로 가정하고 시스템 안정성을 검증해보는 과정입니다.
다루는 주제:
- AI 기능용 악용 시나리오 목록 작성 및 테스트 세트 구성법
- 자동화된 프롬프트 인젝션 시험과 제이일브레이크 유형 탐지 절차 설계하기
- 가드레일이나 보안 정책 적용 후에도 문제 발생 여부를 확인하는 회귀 테스트 활용법
- CI 환경에서도 AI 관련 보안 취약점을 지속적으로 검출할 수 있도록 자동화 파이프라인 구축하기
- 모델과 의존성 소프트웨어의 출처 확인 및 버전 고정 관리 전략
- 배포 전 애플리케이션 안전성을 판단하는 체크리스트 작성법
실습 내용:
- 개발한 AI 기능에 대한 자동화된 레드팀 시험 항목을 코드로 구현하기
- 해당 테스트를 CI 파이프라인 내에 포함시켜 지속적 검증 시스템 구축해보기
모듈 9 – AI 보안 수준 평가: SAIS-100 프레임워크
실습 내용: 없음. 캡스톤 애플리케이션을 대상으로 점수 산출 연습만 진행됩니다.
이전에 배운 내용들을 활용해 재현 가능한 보안 등급 평가 체계를 실천합니다.
다루는 주제:
- ‘정말 안전한가?’라는 단순 질문 대신 ‘AI 보안 여섯 가지 핵심 기준’을 제시
- 데이터, 프롬프트, 에이전트 역량, 공급망 안정성, 탐지 기능, 거버넌스라는 6개 항목 기반 점수 산출법
- 100점 만점 체계와 각 요소별 가중치 산정 원리
- 점수 구간에 따른 평가 등급 및 특정 단일 항목이 전체 결과를 결정할 수 있는 규칙 내용
- SAIS-100이라는 브랜드화된 보안 점수 체계 개요: 반복 사용 가능한 공식 프레임워크
- 보안 강화 전후 점수 변화치 분석을 통해 성과 측정법 설명
실습 내용:
- 캡스톤 애플리케이션의 보안 수준을 100점 만점 체계에 따라 평가해보기
- 전체 점수 향상에 가장 효과적인 개선책이 무엇인지 판별해내기
핵심 통찰: 가장 큰 비중을 차지하는 세 항목이 바로 개발자가 관리해야 할 신뢰 경계와 일치합니다. 이 점수 체계는 본 과정에서 전달한 핵심 사항들을 측정할 수 있는 실질적 도구가 됩니다.
캡스톤 프로젝트
학습자들은 의도적으로 보안상 취약점을 내포시킨 AI 애플리케이션 전체를 안전하게 개선해보는 최종 과제에 임합니다.
기본 제공되는 샘플 앱에는 다음과 같은 문제 요소가 포함됩니다:
- 외부 공격에 의한 프롬프트 조작이 가능한 구조
- 모델 출력값을 안전하게 처리하지 않는 설계
- 범위 관리 없이 구성된 RAG 파이프라인 구조
- 과도한 권한 부여 상태의 에이전트 모듈 존재
- 비밀 정보가 프롬프트 경로 내에 노출되어 있음
- 토큰 사용 및 비용을 제한할 방법 없음
학습자들은 본 과정 내용들을 적극 활용해:
- 공격 피해 범위를 줄일 수 있도록 프롬프트 재설계하기
- 모델 출력값 검증 및 인코딩 절차 정립하기
- RAG 구조 내 데이터 수집/검색 단계에서 보안 기법 적용하기
- 에이전트에게 최소 권한을 부여하고 승인 절차를 포함시켜 보안 강화하기
- 비밀 정보 제거 및 사용자별 비용·요청 한도 설정으로 운영 위험 감소시키기
- 가드레일 라이브러리 도입과 자동 레드팀 시험 기능 추가해보기
최종 결과물: 보안성이 향상된 애플리케이션 및 OWASP LLM Top 10 관련 자가 평가 문서입니다.
모듈 – 실습 구성표 안내
각 실습은 모듈 진행 순서에 맞춰 시행됩니다. 본 과정에서는 총 9개의 모듈과 7가지 실습이 존재합니다. 첫 번째 모듈은 아키텍처 개요 설명 위주이며, 마지막 모듈 역시 점수 산출 연습만 이루어지므로 각각 별도 실습 폴더는 없습니다.
- Lab 01 – 01-Prompt-Injection: 챗봇 공격 시험 후 안전한 프롬프트 구조를 재구성합니다. (모듈 2)
- Lab 02 – 02-Output-Handling: 불안전한 출력 처리 결함을 찾아내 해결합니다. (모듈 3)
- Lab 03 – 03-RAG-Security: 악의적인 콘텐츠로 RAG 파이프라인에 문제를 유발한 뒤 이를 방어하는 방법을 익힙니다. (모듈 4)
- Lab 04 – 04-Agent-Safety: 과도하게 권한 부여된 에이전트를 안전하게 제약합니다. (모듈 5)
- Lab 05 – 05-Secrets-and-Cost: API 키 관리와 비용 절감 방안을 구현합니다. (모듈 6)
- Lab 06 – 06-Guardrails: 입출력 검증용 가드레일 기능 추가해보기. (모듈 7)
- Lab 07 – 07-Red-Teaming: CI 시스템 내 자동화된 레드팀 테스트 구성 및 활용 방법 연습합니다. (모듈 8)
첫 번째 모듈은 아키텍처 개요와 논의가 주 내용이며, 마지막 모듈 역시 캡스톤 애플리케이션 점수 산출만 진행되므로 실습 폴더는 존재하지 않습니다.
요건
- 중급 수준의 기술력이 필요합니다.
- REST API 구축 및 활용 경험, 스크립팅 언어 활용 능력(실습에는 Python 사용), 기본적인 애플리케이션 인증 체계 이해, Git 및 CLI 사용법을 숙지하고 있어야 합니다.
- 머신러닝에 대한 전문 지식은 필요하지 않습니다. 본 과정은 LLM 활용 개발자들을 위한 애플리케이션 보안 교육이므로 모델 학습 전문가들을 대상으로 하지는 않습니다.
수강 대상자
- LLM 기반 기능을 개발하는 소프트웨어 및 백엔드 엔지니어
- 풀스택 개발자 및 API 설계 전문가
- AI/ML 애플리케이션 엔지니어
- 코파일럿이나 에이전트 기능을 배포하는 플랫폼 엔지니어
- AI 기능 개발 및 운영 책임자인 기술 리더 및 시니어 엔지니어
회원 평가 (3)
AI 내의 다양한 리스크 노출 요인을 inventoried and identified하는 것
Gary Cook - Cybersecurity and Information Technology Risk Division
코스 - Introduction to AI Trust, Risk, and Security Management (AI TRiSM)
기계 번역됨
AI 공격과 보안 테스트를 시작하고 적극적으로 활용하기 위한 도구를 배우는过程을 매우 Enjoy 했습니다. 처음에는 없던 많은 지식을 얻었고, 과정이 제가 바란 대로 충족했습니다. 교육 중 가장 인상 깊었던 부분은 Comet Browser였으며, 그것이 할 수 있는 것에 놀랐습니다. 더 깊이 살펴보게 될 것입니다. 전반적으로 매우 좋은 과정이었고, 모든 OWASP GenAI 상위 10을 배우는 것을 Enjoy 했습니다.
Patrick Collins - Optum
코스 - OWASP GenAI Security
기계 번역됨
그의 전문적인 지식과 그것을 우리 앞에서 발표한 방식
Miroslav Nachev - PUBLIC COURSE
코스 - Cybersecurity in AI Systems
기계 번역됨