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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
react2shellexploitvisualized — React2Shell(CVE-2025-55182) RCE 취약점의 인터랙티브 시각화와 세 가지 대상(전문가, 실무자, 이해관계자)을 위한 나레이션 애니메이션. 오디오는 ElevenLabs + Whisper를 통해 동기화되었습니다. | Kitploit
도구/GitHubGitHub/volksrat71/react2shellexploitvisualized
Vulnerability AnalysisExploitationWeb SecurityCTFLearning & EducationLabs & Practice
GitHubvolksrat71/react2shellexploitvisualized

react2shellexploitvisualized

React2Shell(CVE-2025-55182) RCE 취약점의 인터랙티브 시각화와 세 가지 대상(전문가, 실무자, 이해관계자)을 위한 나레이션 애니메이션. 오디오는 ElevenLabs + Whisper를 통해 동기화되었습니다.

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
저장소 보기웹사이트
38개월 전아직 검토되지 않음
공유

React2Shell (CVE-2025-55182) 시각화

React2Shell 취약점을 설명하는 대화형 교육 시각화 도구입니다. 이는 React Server Components에서 발생하는 CVSS 10.0의 심각한 원격 코드 실행 결함입니다.

개요

5단계로 구성된 내레이션 기반의 안내서로, 다음을 설명합니다:

  1. 전통적인 SSR - 서버 사이드 렌더링의 작동 방식과 "JSON 병목" 문제
  2. RSC 스트리밍 - React Server Components가 스트리밍을 통해 이를 해결하는 방법
  3. 익스플로잇 - 프로토타입 오염과 가젯 체인이 RCE를 가능하게 하는 방법
  4. 수정 방법 - 공격을 방지하는 한 줄의 hasOwnProperty 검사
  5. 핵심 시사점 - 안전한 아키텍처를 위해 배운 교훈

각 단계는 다음 기능을 제공합니다:

  • 단어별 자막이 동기화된 오디오 내레이션
  • 내레이션에 맞춰 타이밍이 조정된 키프레임 기반 애니메이션
  • 비디오 플레이어 컨트롤 (재생/일시정지, 탐색, 속도, 자막)
  • 핵심 개념의 시각적 강조

모바일 지원

이 시각화 도구는 완전히 반응형이며 모바일에 최적화된 경험을 제공합니다:

  • 자동 스크롤: 모바일 뷰포트(≤1000px)에서 페이지가 자동으로 스크롤되어 애니메이션을 따라갑니다. 스크롤 대상은 Whisper 타임스탬프 데이터에 의해 구동되며, 내레이션이 진행됨에 따라 초점 지점(브라우저 → 네트워크 → 서버 → 설명)을 화면에 유지합니다.
  • 고정 비디오 컨트롤: 재생/일시정지 및 타임라인 컨트롤이 하단에 고정되어 스크롤 중에도 쉽게 접근할 수 있습니다.
  • 모바일 자막: 단어별 자막이 모바일에서 비디오 컨트롤 영역에 나타납니다.
  • 반응형 레이아웃: 그리드가 세로로 쌓이고, 글꼴 크기가 적절히 조정되며, 터치에 친숙한 컨트롤을 제공합니다.

다중 청중 지원

이 시각화 도구는 세 가지 청중 수준을 지원하며, 각각 맞춤형 내레이션을 제공합니다:

수준청중스타일
전문가보안 엔지니어, 시니어 개발자정확한 용어, 깊이 있는 메커니즘
실무자개발자, IT 전문가실용적인 예제를 포함한 개념
이해관계자리더십, PM비즈니스 영향, 핵심 시사점

사용자는 비디오 컨트롤의 '대상 청중' 드롭다운을 통해 실시간으로 수준을 전환할 수 있습니다.

기술 스택

  • SvelteKit with Svelte 5 runes
  • ElevenLabs for AI voice generation
  • OpenAI Whisper for audio transcription & timestamp extraction
  • TypeScript throughout

프로젝트 구조

root@kitploit:~
├── scripts/                    # 내레이션 스크립트 (기준 데이터)
│   ├── expert/
│   │   ├── ssr-narration.txt
│   │   ├── rsc-narration.txt
│   │   ├── exploit-narration.txt
│   │   ├── fix-narration.txt
│   │   └── lessons-narration.txt
│   ├── practitioner/
│   │   └── ... (동일한 파일들)
│   └── stakeholder/
│       └── ... (동일한 파일들)
├── static/audio/               # 생성된 MP3 파일
│   ├── expert/
│   │   ├── ssr.mp3
│   │   ├── rsc.mp3
│   │   ├── exploit.mp3
│   │   ├── fix.mp3
│   │   └── lessons.mp3
│   ├── practitioner/
│   │   └── ... (동일한 파일들)
│   └── stakeholder/
│       └── ... (동일한 파일들)
├── src/lib/data/               # Whisper JSON 출력 (단어 타임스탬프)
│   ├── expert/
│   │   ├── ssr-whisper.json
│   │   └── ...
│   ├── practitioner/
│   │   └── ...
│   └── stakeholder/
│       └── ...
└── src/lib/utils/triggers/     # 수준별 애니메이션 트리거 구문
    ├── expert/
    ├── practitioner/
    └── stakeholder/

개발

root@kitploit:~
npm install
npm run dev

음성/내레이션 변경

1. 스크립트 편집

스크립트는 scripts/{level}/에 있습니다:

  • ssr-narration.txt
  • rsc-narration.txt
  • exploit-narration.txt
  • fix-narration.txt
  • lessons-narration.txt

각 스크립트 하단에는 애니메이션 동기화를 위한 트리거 구문 주석이 포함되어 있습니다.

2. ElevenLabs로 오디오 생성

스크립트를 ElevenLabs에 업로드하고 MP3를 다운로드합니다.

3. 오디오 파일 배치

MP3를 static/audio/{level}/에 단계 이름으로 넣습니다 (예: static/audio/expert/ssr.mp3).

4. Whisper로 전사

단일 파일:

root@kitploit:~
python scripts/transcribe.py ssr expert
python scripts/transcribe.py rsc practitioner

일괄 모드 (한 수준의 모든 파일):

root@kitploit:~
python scripts/transcribe.py --batch expert
python scripts/transcribe.py --batch practitioner
python scripts/transcribe.py --batch stakeholder
python scripts/transcribe.py --batch all          # All 15 files

옵션:

  • --model small - 더 나은 정확성을 위해 더 큰 Whisper 모델 사용
  • --dry-run - 실행하지 않고 전사될 내용 미리보기

스크립트는 단어 수준 타임스탬프가 포함된 JSON을 src/lib/data/{level}/에 출력합니다.

5. 트리거 구문 업데이트 (필요한 경우)

내레이션 문구가 크게 변경된 경우, 새 스크립트와 일치하도록 src/lib/utils/triggers/{level}/의 트리거 구문을 업데이트합니다.

애니메이션 시스템 작동 방식

  1. Whisper JSON에는 각 청중 수준에 대한 단어 수준 타임스탬프가 포함됩니다.
  2. 트리거 추출 (src/lib/utils/triggers/)은 각 수준의 핵심 구문을 찾습니다.
  3. 키프레임은 타임스탬프를 애니메이션 상태에 매핑합니다.
  4. 타임라인 컨트롤러 (src/lib/stores/timeline.svelte.ts)는 오디오와 애니메이션을 동기화합니다.
  5. 컴포넌트는 getAnimationState()를 사용하여 currentTime에서 시각적 상태를 파생합니다.
  6. 지연 로딩은 필요 시 Whisper 데이터를 가져와 캐싱합니다.

프로덕션 빌드

root@kitploit:~
npm run build
npm run preview

참고 자료

  • react2shell.com - 원본 공개
  • Wiz Deep Dive
  • Datadog Security Labs

라이선스

교육 목적입니다. 보안 인식 제고를 위해 제작되었습니다.

도구 다운로드