Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
PwnzzAI — 실습형 AI 보안 학습 플랫폼으로, 의도적으로 취약하게 만든 LLM 애플리케이션을 제공합니다. 프롬프트 인젝션, 데이터 노출, 공급망 위험을 다루는 대화형 피자 가게 시나리오를 통해 LLM을 위한 OWASP Top 10을 탐험해보세요. | Kitploit
도구/GitHubGitHub/owasp/pwnzzai
Vulnerability AnalysisWeb SecurityCTFPenetration TestingLearning & EducationCurated ResourcesLearning Paths & CoursesAI SecurityLabs & Practice
GitHubowasp/pwnzzai

PwnzzAI

실습형 AI 보안 학습 플랫폼으로, 의도적으로 취약하게 만든 LLM 애플리케이션을 제공합니다. 프롬프트 인젝션, 데이터 노출, 공급망 위험을 다루는 대화형 피자 가게 시나리오를 통해 LLM을 위한 OWASP Top 10을 탐험해보세요.

6318412시간 7분 전Kitploit 검토 완료
저장소 보기

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

🍕 PwnzzAI(/pəʊnzɑː/) 샵에 오신 것을 환영합니다 – 취약한 피자 가게! 💻

PwnzzAI 샵

PwnzzAI 샵에서는 모든 조각이 포괄적인 AI 보안 교육을 제공합니다. 이 실습형 학습 플랫폼은 전문가들이 AI 기술을 광범위하게 보호하는 방법을 이해할 수 있도록 준비시키며, 매력적이고 실용적인 피자 가게 시나리오를 통해 제공됩니다.

잘못된 재료가 피자를 망칠 수 있듯이, 결함이 있는 프롬프트나 부적절한 아키텍처는 AI 기술을 정보 유출, 지적 재산 도난, 또는 불법 접근을 포함한 심각한 위협에 노출시킬 수 있습니다.

여기서 여러분은 취약점이 어떻게 생성되고, 악용되며, 완화되는지에 대한 실용적인 예제를 탐구하게 됩니다. 일부 페이지에서는 alice/alice 또는 bob/bob으로 로그인해야 합니다. 한 조각 집어서 맛보고, AI 보안 학습이 얼마나 맛있는지 알아보세요.

목차

  • 소개
    • 범위 및 학습 목표
  • 설정 지침
    • 옵션 1: Docker (PwnzzAI + Ollama)
    • 기본 이미지를 가져오지 못하는 경우 (로컬에서 빌드)
    • 옵션 2: Docker (자체 Ollama + PwnzzAI 이미지)
    • 옵션 3: 소스 코드를 직접 실행
    • 문제 해결: Ollama 연결 (WSL + Docker)
    • 워크숍 호스트: OpenAI, Claude, Gemini 또는 기타 클라우드 모델 선택
  • 기능
  • AI 보안 범위
    • 학습 프레임워크
    • 구현된 취약점
    • 모델 지원

소개

PwnzzAI 샵은 AI 기술 보호 교육을 위해 의도적으로 구축된 실습형 학습 플랫폼입니다. 이 의도적으로 취약하게 설계된 Flask 기반 웹 애플리케이션은 몰입형 피자 가게 경험을 통해 광범위한 AI 보안 취약점을 보여줍니다.

파트너: OWASP AI Exchange

범위 및 학습 목표

PwnzzAI는 **AI Exchange 위험 분류법**에 부합하는 포괄적이고 진화하는 학습 플랫폼으로 설계되었습니다. 그 범위는 OWASP AI Exchange 보안 분석 프레임워크 및 방어 지침에 따라 점진적으로 확장되어 AI 보안 관행이 성숙함에 따라 장기적인 관련성을 보장합니다. 이 프로젝트는 현재 LLM을 위한 OWASP Top 10을 포함하며, 아키텍처는 의도적으로 AI Exchange 위험 분류에 매핑됩니다. 시간이 지남에 따라 PwnzzAI는 다음을 지원하는 구조화된 학습 생태계로 성숙하는 것을 목표로 합니다:

  • 자기 주도 학습 경로를 포함한 AI 보호 및 방어 훈련
  • 실용적이고 시나리오 기반의 실습을 통한 실습형 보안 훈련 프로그램
  • 보안 엔지니어 및 실무자를 위한 팀 기반 학습 이니셔티브
  • 설계, 개발, 배포 및 운영에 걸친 종단간 AI 보안 교육

설정 지침

PwnzzAI를 실행하는 다음 3가지 방법 중 하나를 선택하세요:

  1. 두 이미지를 모두 사용하는 Docker (PwnzzAI + Ollama)
  2. 자체 로컬/원격 Ollama와 PwnzzAI 이미지만 사용하는 Docker
  3. 소스 코드를 직접 실행

시작하기 전 (모든 옵션)

  1. https://www.docker.com/products/docker-desktop에서 Docker Desktop을 설치하세요.
  2. Docker Desktop을 열고 Docker가 실행 중이라고 표시될 때까지 기다리세요.
  3. 아직 Git이 없으면 설치하세요.
  4. 이 저장소를 클론하고 디렉터리로 이동하세요:
root@kitploit:~
git clone https://github.com/OWASP/PwnzzAI.git
cd PwnzzAI

선택사항: 클라우드 모델 구성 (OpenAI / Gemini / Claude)

랩은 기본적으로 무료 로컬 모델에서 실행됩니다. 클라우드 모델 탭(OpenAI / Gemini / Claude)을 사용하려면 API 키 와 모델 이름, 두 가지가 필요합니다:

  • API 키 — 실행 시 앱 내 랩 설정 페이지를 통해 입력하거나, .env (OPENAI_API_KEY=...)에 설정할 수 있습니다. 랩 설정의 키가 우선합니다.
  • 모델 이름 — UI가 없습니다; .env에서 가져와야 합니다. 코드에 기본값이 없으므로 설정되지 않으면 LLM Provider NOT provided 오류가 발생합니다.

템플릿에서 .env를 생성하고 모델 라인의 주석을 해제하세요:

root@kitploit:~
cp .env.example .env
# then edit .env and set, for example:
#   OPENAI_MODEL=gpt-4o-mini
#   (or LITELLM_MODEL=gemini/gemini-2.5-flash, etc.)

.env를 편집한 후 앱을 다시 시작하세요. 전체 제공업체/모델 안내는 워크숍 호스트: OpenAI, Claude, Gemini 또는 기타 클라우드 모델 선택을 참조하세요.

옵션 1: Docker (PwnzzAI + Ollama)

Docker가 PwnzzAI 앱과 Ollama를 모두 실행하도록 하려면 이 옵션을 사용하세요.

  1. 두 컨테이너를 시작하세요:
root@kitploit:~
docker compose up -d
  1. 두 서비스가 실행 중인지 확인하세요:
root@kitploit:~
docker compose ps
  1. 브라우저에서 앱을 여세요:
root@kitploit:~
http://localhost:8080
  1. 앱에서 Basics 페이지로 이동하여 Ollama 설정을 실행하여 모델을 가져오세요.

  2. 필요시 로그를 확인하세요:

root@kitploit:~

# 앱 로그
docker compose logs -f pwnzzai-app

# Ollama 로그 (선택사항)
docker compose logs -f ollama
  1. 완료되면 모든 것을 중지하세요:
root@kitploit:~
docker compose down
  1. 선택적 전체 재설정 (저장된 Ollama 모델도 제거):
root@kitploit:~
docker compose down -v

앱 이미지를 다른 레지스트리 경로로 게시하는 경우 시작 시 이미지 이름을 재정의하세요:

root@kitploit:~
PWNZZAI_IMAGE=ghcr.io/owasp/pwnzzai:latest docker compose up -d

기본 이미지를 가져오지 못하는 경우 (로컬에서 빌드)

docker compose는 docker-compose.yml의 기본 pwnzzai-app 이미지를 사용합니다(**PWNZZAI_IMAGE**로 재정의 가능). docker compose up이 해당 이미지를 가져올 때 denied, unauthorized 또는 유사한 오류로 실패하면, 레지스트리 로그인이 필요하거나 계정에 풀 권한이 없을 수 있습니다. 앱 이미지를 로컬에서 빌드하고 compose가 이를 가리키도록 하여 이 저장소에서 모든 것을 계속 실행할 수 있습니다.

저장소 루트에서:

root@kitploit:~
docker build -t pwnzzai-local:dev .
PWNZZAI_IMAGE=pwnzzai-local:dev docker compose up -d

Windows PowerShell:

root@kitploit:~
docker build -t pwnzzai-local:dev .
$env:PWNZZAI_IMAGE="pwnzzai-local:dev"; docker compose up -d

그런 다음 **http://localhost:8080**을 여세요. Flask가 컨테이너 내에서 시작되는 동안 첫 번째 로드가 잠시 실패할 수 있습니다. 연결 오류가 표시되면 몇 초 기다렸다가 새로고침하세요.

레지스트리 이미지에 접근 권한이 있다면 먼저 인증할 수 있습니다(GitHub Container Registry 예시):

root@kitploit:~
docker login ghcr.io

동일한 PWNZZAI_IMAGE=pwnzzai-local:dev 접근 방식이 옵션 2에 적용됩니다. docker-compose.external-ollama.yml을 사용하고 동일한 풀 오류가 발생하는 경우.

옵션 2: Docker (자체 Ollama + PwnzzAI 이미지)

Ollama가 이미 다른 곳에서 실행 중이고 Docker에서 PwnzzAI만 실행하려면 이 옵션을 사용하세요.

WSL에서 Ollama를 실행하고 Docker에서 PwnzzAI를 실행하는 경우, 연결 문제 해결(Connection refused, host.docker.internal, 바인딩, env 검증)을 위해 OLLAMA_CONNECTION_TROUBLESHOOTING.md를 참조하세요.

  1. Ollama 서비스를 계속 실행 상태로 유지하세요.

  2. Ollama가 원격 머신에 있는 경우, 시작 전에 OLLAMA_HOST를 설정하세요(Ollama가 Docker와 동일한 머신에 있고 docker-compose.external-ollama.yml의 기본값 http://host.docker.internal:11434에서 접근 가능한 경우 이 단계를 건너뛰세요).

Linux/macOS:

root@kitploit:~
export OLLAMA_HOST=http://your-ollama-server:11434

Windows PowerShell:

root@kitploit:~
$env:OLLAMA_HOST="http://your-ollama-server:11434"
  1. 외부 Ollama compose 파일로 PwnzzAI를 시작하세요:
root@kitploit:~
docker compose -f docker-compose.external-ollama.yml up -d

기본 앱 이미지를 GHCR에서 가져오지 못하는 경우, 로컬에서 빌드하고 기본 이미지를 가져오지 못하는 경우 (로컬에서 빌드)에서 설명한 대로 PWNZZAI_IMAGE를 설정하세요.

  1. 브라우저에서 http://localhost:8080을 방문하여 애플리케이션을 확인하세요. Basic 페이지에서 시작하여 랩을 설정하세요.

  2. 필요시 앱 로그를 확인하세요:

root@kitploit:~
docker compose -f docker-compose.external-ollama.yml logs -f pwnzzai-app
  1. 완료되면 중지하세요:
root@kitploit:~
docker compose -f docker-compose.external-ollama.yml down

옵션 3: 소스 코드를 직접 실행

Python을 직접 실행하려면 이 옵션을 사용하세요(앱용 Docker 없이).

  1. Python 3.11을 설치하세요.
  2. 가상 환경을 생성하고 활성화하세요.

Linux/macOS:

root@kitploit:~
python -m venv venv
source venv/bin/activate

Windows PowerShell:

root@kitploit:~
python -m venv venv
.\venv\Scripts\Activate.ps1
  1. 종속성을 설치하세요:
root@kitploit:~
./install.sh
  1. Ollama가 사용 가능한지 확인하세요: http://localhost:11434 또는 OLLAMA_HOST를 통해 다른 엔드포인트.

  2. 앱을 실행하세요:

root@kitploit:~
flask run --host=0.0.0.0 --port=8080
  1. 여세요:
root@kitploit:~
http://localhost:8080

자세한 내용이 필요하면 단계별 설정을 보여주는 이 워크스루를 시청하세요.

기능

  • 피자 서비스: 맛있는 피자를 둘러보고, 고객 피드백을 탐색하고, 댓글을 남기고, 가상 주문을 해보세요!
  • 광범위한 취약점 시연: 모델 입력 위협, 개발 시간 위협, 런타임 보안 위협 및 시스템 수준 AI 위험을 포함한 OWASP LLM Top 10 및 AI Exchange 위협 범주에 걸친 활성 시연.
  • 학습 중심 설계: 투명한 설명을 통해 악용 방법과 방어 접근 방식을 발견할 수 있으며, 체계적인 교육 프로그램에 맞게 제작되고 AI Exchange 위협 분류와 일치합니다.
  • 다중 제공업체 구현: 모든 시연이 상용 OpenAI와 무료 Ollama 프레임워크 모두에서 작동하여 모든 참가자의 접근성을 보장합니다.
  • 표준 기반 콘텐츠: ISO/IEC 27090 및 prEN 18282와 같은 새로운 AI 보안 표준의 기초가 되는 OWASP AI Exchange와 동기화된 교육 자료.

AI 보안 범위

이 플랫폼은 **OWASP AI Exchange 포괄적 위협 분류**에 부합하는 광범위한 AI 보호 과제를 보여줍니다. 현재 구현은 LLM 애플리케이션을 위한 OWASP Top 10과 핵심 AI Exchange 위협 범주를 다루며, 향후 AI 위험 범위를 위해 확장 가능한 아키텍처로 구축되었습니다.

학습 프레임워크

PwnzzAI에서 시연되는 모든 취약점은 다음을 특징으로 합니다:

  1. 활성 시연 — 취약점 메커니즘을 설명합니다.
  2. 악용 시나리오 — 대화형 공격 연습을 제공합니다.
  3. 강화된 대안 — 방어 접근 방식을 상세히 설명합니다.

구현된 취약점:

OWASP AI Exchange 위협 및 OWASP Top 10 for LLM Applications 2025에 따르면:

  1. 프롬프트 인젝션 AI Exchange: 직접 프롬프트 인젝션, 간접 프롬프트 인젝션, Top 10: LLM-01.

    • 직접 프롬프트 인젝션: 조작된 사용자 입력을 통해 시스템 지침을 우회하여 모델 동작을 조작합니다.
    • 간접 프롬프트 인젝션: 외부 데이터 소스를 악용하여 악성 지침을 주입하고 모델 응답을 조작합니다.
    • AI Exchange 맥락: 공격자가 모델을 속이기 위해 지침을 조작하는 모델 입력 위협.
  2. 데이터 유출 AI Exchange: 모델 출력의 민감 데이터 유출, Top 10: LLM-02

    • 모델 출력을 통한 훈련 데이터, 시스템 정보 및 자격 증명 추출.
    • AI Exchange 맥락: 모델 출력에는 훈련 세트 또는 입력(증강 데이터 포함)의 민감 데이터가 포함될 수 있습니다.
  3. 공급망 취약점 AI Exchange: 공급망 모델 중독, Top 10: LLM 03

    • 손상된 공급업체로 인한 타사 모델 및 플러그인 보안 위험.
    • AI Exchange 맥락: 중독된 사전 훈련 모델, 손상된 데이터 소스 및 손상된 모델 호스팅을 포함한 개발 시간 공급망 위협.
  4. 데이터 및 모델 중독 AI Exchange: 데이터 중독, 모델 중독, Top 10: LLM04

    • 악성 훈련 데이터가 모델 응답 및 동작에 미치는 영향을 시연합니다.
    • AI Exchange 맥락: 훈련 데이터 조작 또는 직접 모델 매개변수 변조가 원치 않는 모델 동작을 초래하는 개발 시간 위협.
  5. 부적절한 출력 처리 AI Exchange: 출력에 기존 인젝션 포함, Top 10:LLM05

    • 검증되지 않은 LLM 출력으로 인한 XSS 및 다운스트림 시스템의 기타 인젝션 공격.
    • AI Exchange 맥락: 텍스트 모델 출력에는 XSS(교차 사이트 스크립팅)와 같은 기존 인젝션 공격이 포함될 수 있으며, 이는 처리될 때 취약점을 생성할 수 있습니다(예: 웹사이트에 표시, 명령 실행).
  6. 과도한 권한 AI Exchange: 최소 모델 권한, 감독, Top 10:LLM06

    • 과도한 권한의 LLM 작업 및 적절한 제약 없이 자율적으로 수행되는 행동.
    • AI Exchange 맥락: 권한 관리 및 인간 감독을 통해 원치 않는 모델 동작을 제한하는 영향 제한 제어, 특히 에이전틱 AI 시스템에 중요.
  7. 시스템 프롬프트 유출 AI Exchange: 민감 정보 유출, Top 10:LLM07

    • 조작 기술을 통해 시스템 프롬프트에 포함된 비밀 정보 추출.
    • AI Exchange 맥락: 공격자가 조작된 입력을 통해 기밀 지침이나 구성 데이터를 추출하는 모델 사용 위협.
  8. 벡터 및 임베딩 취약점 AI Exchange: 직접 증강 데이터 유출, Top 10:LLM08

    • RAG 시스템 또는 벡터 데이터베이스에서 민감 정보를 포함한 임베딩에 대한 무단 접근.
    • AI Exchange 맥락: 검색 저장소 또는 임베딩 저장소가 기밀 정보를 유출하는 증강 데이터 위협.
  9. 허위 정보 AI Exchange: 증강 데이터 조작, Top 10:LLM09

    • 인간 감독 없이 중요한 의사 결정을 내려 유해한 허위 정보 또는 환각을 초래함.
    • AI Exchange 맥락: 정확성과 안전성을 보장하기 위해 감독 제어, 설명 가능성 및 지속적인 모니터링이 필요한 원치 않는 모델 동작 위험.
  10. 무제한 소비 AI Exchange: AI 리소스 고갈, Top 10:LLM10

    • 리소스 고갈 공격 및 속도 제한 우회 기술로 인한 서비스 거부.
    • AI Exchange 맥락: 과도하거나 조작된 입력을 통한 리소스 고갈로 인한 모델 가용성 위협.

그리고,

  1. 모델 도용 (AI Exchange: 모델 유출, 이전 Top 10 버전)
    • API 남용 및 입출력 수집을 통한 모델 추출 및 지적 재산 도용.
    • AI Exchange 맥락: 공격자가 기존 모델의 입력과 출력을 수집하고 이러한 조합을 사용하여 새 모델을 훈련시켜 원본 모델을 복제합니다.

모델 지원:

  • OpenAI 모델: OpenAI API를 통한 GPT-3.5/GPT-4 시연.
  • Ollama 모델: Mistral 7B 및 LLaMA 3.2 1B와 같은 무료 모델을 Ollama를 통해 이용할 수 있습니다.

⚠️ 교육 목적으로만 사용: 이 애플리케이션에는 의도적인 보안 취약점이 포함되어 있습니다. 프로덕션 환경에서 사용하지 마세요.

도구 다운로드