연락처 정보

코스 개요

모듈 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 0101-Prompt-Injection: 챗봇 공격 시험 후 안전한 프롬프트 구조를 재구성합니다. (모듈 2)
  • Lab 0202-Output-Handling: 불안전한 출력 처리 결함을 찾아내 해결합니다. (모듈 3)
  • Lab 0303-RAG-Security: 악의적인 콘텐츠로 RAG 파이프라인에 문제를 유발한 뒤 이를 방어하는 방법을 익힙니다. (모듈 4)
  • Lab 0404-Agent-Safety: 과도하게 권한 부여된 에이전트를 안전하게 제약합니다. (모듈 5)
  • Lab 0505-Secrets-and-Cost: API 키 관리와 비용 절감 방안을 구현합니다. (모듈 6)
  • Lab 0606-Guardrails: 입출력 검증용 가드레일 기능 추가해보기. (모듈 7)
  • Lab 0707-Red-Teaming: CI 시스템 내 자동화된 레드팀 테스트 구성 및 활용 방법 연습합니다. (모듈 8)

첫 번째 모듈은 아키텍처 개요와 논의가 주 내용이며, 마지막 모듈 역시 캡스톤 애플리케이션 점수 산출만 진행되므로 실습 폴더는 존재하지 않습니다.

요건

  • 중급 수준의 기술력이 필요합니다.
  • REST API 구축 및 활용 경험, 스크립팅 언어 활용 능력(실습에는 Python 사용), 기본적인 애플리케이션 인증 체계 이해, Git 및 CLI 사용법을 숙지하고 있어야 합니다.
  • 머신러닝에 대한 전문 지식은 필요하지 않습니다. 본 과정은 LLM 활용 개발자들을 위한 애플리케이션 보안 교육이므로 모델 학습 전문가들을 대상으로 하지는 않습니다.

수강 대상자

  • LLM 기반 기능을 개발하는 소프트웨어 및 백엔드 엔지니어
  • 풀스택 개발자 및 API 설계 전문가
  • AI/ML 애플리케이션 엔지니어
  • 코파일럿이나 에이전트 기능을 배포하는 플랫폼 엔지니어
  • AI 기능 개발 및 운영 책임자인 기술 리더 및 시니어 엔지니어
 21 시간

참가자 수


참가자별 가격

회원 평가 (2)

예정된 코스

관련 카테고리