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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
react2shell-scanner — React Server Components에서 CVE-2025-55182(React2Shell) RCE 취약점을 탐지합니다. 오탐(False Positive) 없이 빠르고 정확한 스캐너입니다. | Kitploit
도구/GitHubGitHub/nxgn-kd01/react2shell-scanner
Vulnerability ScannersCode AnalysisExploitationWeb Application ExploitationDevSecOpsSupply Chain Security
GitHubnxgn-kd01/react2shell-scanner

react2shell-scanner

React Server Components에서 CVE-2025-55182(React2Shell) RCE 취약점을 탐지합니다. 오탐(False Positive) 없이 빠르고 정확한 스캐너입니다.

저장소 보기
37개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

🚨 React2Shell 스캐너

React Server Components의 CVSS 10.0 RCE. React 19 앱이 취약한가요?

CVE-2025-55182(React2Shell)에 대한 빠르고 정확한 스캐너입니다. 실제 환경에서 악용되고 있는 치명적인 원격 코드 실행 취약점입니다. 지능형 Server Components 탐지로 오탐(false positive)이 전혀 없습니다.

CVSS Score License: MIT GitHub Issues GitHub Stars PRs Welcome

🚨 React2Shell(CVE-2025-55182) 정보

React2Shell은 인증 없이 원격 코드 실행이 가능한 React Server Components의 최대 심각도(CVSS 10.0) 취약점입니다. 공격자는 Server Function 엔드포인트에 특수하게 조작된 HTTP 요청을 보내 이를 악용할 수 있습니다.

주요 사실:

  • 영향 대상: React 19.x, Next.js 14-16.x, react-router, waku, @parcel/rsc, expo
  • 공격 경로: 네트워크(인증 불필요)
  • 영향: 완전한 서버 장악(RCE)
  • 공개일: 2025년 12월 3일
  • 악용 가능성: 기본 구성에서 거의 100% 성공률
  • 관련 CVE: CVE-2025-55184(DoS), CVE-2025-55183(소스 노출), CVE-2025-67779

⚠️ 중요 참고: React 19.x만 취약합니다. React 18.x 및 이전 버전은 영향을 받지 않습니다.

⚡ 빠른 시작 (30초)

root@kitploit:~
# Option A: Node.js scanner (recommended - cross-platform, no dependencies)
npx react2shell-scanner /path/to/your/project

# Option B: Direct download and run
curl -sSL https://raw.githubusercontent.com/nxgn-kd01/react2shell-scanner/main/scan.js > scan.js
node scan.js /path/to/your/project

# Option C: Clone and run
git clone https://github.com/nxgn-kd01/react2shell-scanner.git
cd react2shell-scanner
node scan.js /path/to/your/project

몇 초 안에 결과 확인: 🚨 취약 | ⚠️ 경고 | ✅ 안전

📋 이 스캐너가 확인하는 항목

이 도구는 지능형 취약점 탐지를 수행합니다:

1. React 버전 분석 🔴 중요

  • 취약한 React 19.0.0, 19.1.0, 19.1.1, 19.2.0 감지
  • React 18.x 앱이 안전함을 확인(오탐 방지)
  • react-server-dom-* 패키지 식별

2. 프레임워크 구성 확인 🟡 경고

  • Next.js 14.x-canary부터 16.x 버전까지 스캔
  • react-router, waku, @parcel/rsc, @vitejs/plugin-rsc, rwsdk, expo 감지
  • 필요한 경우 React 19 의존성 검증
  • 정적 내보내기 모드 감지(Server Components 비활성화 = 안전)

3. Server Function 탐지 🔍 심층 분석

  • 소스 파일에서 'use server' 지시문 스캔
  • Server Functions를 포함하는 파일 식별
  • 실제로 Server Components를 사용하는 프로젝트만 플래그 표시
  • 참고: 동적으로 가져온 Server Functions는 수동 검토가 필요합니다

4. 스마트 오탐 방지 ✅ 정확성

  • React 19 + Server Components + 'use server' 지시문이 있는 앱만 플래그 표시
  • 엣지 케이스에 대한 컨텍스트 제공
  • 프로젝트가 취약한지/취약하지 않은지 설명

5. 멀티 프로젝트 스캔 📁 확장

  • 재귀 디렉터리 스캔
  • npm, yarn, pnpm 프로젝트 감지
  • 프로젝트별 수정 명령 생성

🎯 스캐너 기능

영향받는 버전

React:

  • 19.0.0, 19.1.0, 19.1.1, 19.2.0

React Server DOM 패키지:

  • react-server-dom-webpack 19.0.0 - 19.2.0
  • react-server-dom-parcel 19.0.0 - 19.2.0
  • react-server-dom-turbopack 19.0.0 - 19.2.0

Next.js:

  • 14.0.0부터 14.2.34까지
  • 14.3.0-canary.0부터 14.3.0-canary.87까지
  • 15.0.0부터 15.0.6까지
  • 15.1.0부터 15.1.8까지
  • 15.2.0부터 15.2.5까지
  • 15.3.0부터 15.3.5까지
  • 15.4.0부터 15.4.7까지
  • 15.5.0부터 까지

추가 영향받는 프레임워크(React 공식 권고 기준):

  • react-router 7.0.0 - 7.1.3
  • waku 0.21.0 - 0.21.5
  • @parcel/rsc 2.12.0 - 2.13.2
  • @vitejs/plugin-rsc 0.1.0 - 0.2.0
  • rwsdk (Redwood SDK) 0.1.0 - 0.4.0
  • expo 52.0.0 - 52.0.9

패치된 버전

React: 19.2.1 이상

Next.js:

  • 14.2.35+, 14.3.0-canary.88+
  • 15.0.7+, 15.1.9+, 15.2.6+, 15.3.6+, 15.4.8+, 15.5.7+
  • 16.0.10+

기타 프레임워크:

  • react-router: 7.1.4+
  • waku: 0.21.6+
  • @parcel/rsc: 2.13.3+
  • @vitejs/plugin-rsc: 0.2.1+
  • rwsdk: 0.4.1+
  • expo: 52.0.10+

🚀 시작하기

사전 요구 사항

Node.js 스캐너(권장):

  • Node.js 12+(크로스 플랫폼, 종속성 없음)

Bash 스캐너:

  • Bash 3.2+(macOS/Linux)
  • jq(JSON 프로세서)
root@kitploit:~
# Install jq (if using Bash scanner)
# macOS
brew install jq

# Ubuntu/Debian
sudo apt-get install jq

# RHEL/CentOS
sudo yum install jq

1단계: 스캐너 받기

옵션 A: 클론(사용자에게 권장)

root@kitploit:~
# Clone the repository
git clone https://github.com/nxgn-kd01/react2shell-scanner.git
cd react2shell-scanner

# Make scripts executable
chmod +x scan.sh scan.js

옵션 B: 포크(기여자에게 권장)

root@kitploit:~
# Fork on GitHub (click "Fork" button on repository page)
# Then clone your fork
git clone https://github.com/YOUR_USERNAME/react2shell-scanner.git
cd react2shell-scanner

# Make scripts executable
chmod +x scan.sh scan.js

# Add upstream remote to stay updated
git remote add upstream https://github.com/nxgn-kd01/react2shell-scanner.git

옵션 C: 직접 다운로드

root@kitploit:~
# Node.js version (recommended - cross-platform)
curl -O https://raw.githubusercontent.com/nxgn-kd01/react2shell-scanner/main/scan.js
chmod +x scan.js

# Bash version (Unix/Linux/macOS only)
curl -O https://raw.githubusercontent.com/nxgn-kd01/react2shell-scanner/main/scan.sh
chmod +x scan.sh

💻 사용법

2단계: 스캐너 실행

🔍 현재 디렉터리 스캔:

root@kitploit:~
# Using Node.js (recommended)
node scan.js

# Using Bash
./scan.sh

📁 특정 프로젝트 스캔:

root@kitploit:~
node scan.js /path/to/project
./scan.sh /path/to/project

🗂️ 재귀 스캔(모든 하위 디렉터리):

root@kitploit:~
node scan.js -r
./scan.sh -r

고급 옵션

JSON 출력(자동화용):

root@kitploit:~
node scan.js --json
./scan.sh --json

CI/CD 모드(취약한 경우 코드 1로 종료):

root@kitploit:~
node scan.js --ci
./scan.sh --ci

상세 출력:

root@kitploit:~
node scan.js -v
./scan.sh -v

옵션 조합:

root@kitploit:~
node scan.js /path/to/projects -r --json --ci
./scan.sh /path/to/projects -r --json --ci

명령줄 옵션

종료 코드

코드의미
0취약점 없음
1취약점 발견(--ci 플래그 사용 시)
2스캔 오류 발생

예시

예시 1: 단일 프로젝트 스캔

root@kitploit:~
$ node scan.js ~/my-react-app

╔════════════════════════════════════════════════════════════╗
║  CVE-2025-55182 Scanner (React2Shell)                      ║
╚════════════════════════════════════════════════════════════╝

Severity: CRITICAL (CVSS 10.0)
Description: Unauthenticated RCE in React Server Components

Scan Summary:
  Total projects: 1
  Vulnerable: 1
  Safe: 0

⚠ VULNERABLE PROJECTS FOUND:

1. /Users/user/my-react-app
   └─ react 19.0.0 → 19.2.1
   └─ next 15.0.3 → 15.0.5

   Fix command:
   $ cd /Users/user/my-react-app
   $ npm install [email protected] [email protected]

예시 2: JSON 출력을 사용한 재귀 스캔

root@kitploit:~
$ node scan.js ~/projects -r --json > results.json
root@kitploit:~
{
  "vulnerability": "CVE-2025-55182",
  "severity": "CRITICAL",
  "cvss": 10.0,
  "scanned": 5,
  "vulnerable": 2,
  "results": [
    {
      "path": "/Users/user/projects/app1",
      "vulnerable": true,
      "packages": [
        {
          "name": "react",
          "version": "19.0.0",
          "fixVersion": "19.2.1"
        }
      ],
      "packageManager": "npm",
      "fixCommands": [
        "cd /Users/user/projects/app1",
        "npm install [email protected]"
      ]
    }
  ]
}

예시 3: CI/CD 통합

.github/workflows/security-scan.yml

root@kitploit:~
name: CVE-2025-55182 Security Scan

on: [push, pull_request]

jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      - name: Set up Node.js
        uses: actions/setup-node@v3
        with:
          node-version: '18'

      - name: Download CVE-2025-55182 Scanner
        run: |
          curl -O https://raw.githubusercontent.com/nxgn-kd01/cve-2025-55182-scanner/main/scan.js
          chmod +x scan.js

      - name: Scan for vulnerabilities
        run: node scan.js --ci

GitLab CI (.gitlab-ci.yml)

root@kitploit:~
security-scan:
  stage: test
  image: node:18
  script:
    - curl -O https://raw.githubusercontent.com/nxgn-kd01/cve-2025-55182-scanner/main/scan.js
    - chmod +x scan.js
    - node scan.js --ci
  allow_failure: false

작동 방식

스캐너는 다음 검사를 수행합니다:

  1. package.json 파일을 찾아 Node.js 프로젝트를 찾습니다
  2. dependencies와 devDependencies 모두에서 의존성을 파싱합니다
  3. 알려진 취약 버전과 버전을 대조합니다:
    • React 19.0.0, 19.1.0, 19.1.1, 19.2.0
    • React Server DOM 패키지(동일 버전)
    • Next.js 버전 범위(14.3.x, 15.x, 16.x)
  4. 소스 파일에서 'use server' 지시문을 찾아 Server Functions를 스캔합니다
  5. 다음을 확인하여 실제 취약점을 검증합니다:
    • React 버전(React 19만 영향 - React 18은 안전)
    • 구성(정적 내보내기는 Server Components를 사용하지 않음)
    • 'use server' 지시문 존재 여부(Server Functions 사용 중임을 나타냄)
  6. 패키지 관리자를 감지합니다(npm, yarn, pnpm)
  7. 적절한 업그레이드 구문으로 수정 명령을 생성합니다
  8. 사람이 읽을 수 있는 형식 또는 JSON 형식으로 결과를 보고합니다

정확성 기능

스캐너는 오탐을 방지하기 위한 지능형 탐지를 포함합니다:

  • React 버전 확인: React 19가 있는 경우에만 Next.js 앱이 플래그 표시됩니다(React 18은 안전)
  • 정적 내보내기 감지: output: 'export'를 사용하는 프로젝트는 안전할 가능성이 높은 것으로 표시됩니다
  • Server Function 탐지: 소스 파일에서 'use server' 지시문을 스캔하여 실제 Server Component 사용을 확인합니다
  • 컨텍스트 경고: 프로젝트가 취약한지 여부에 대한 설명을 제공합니다
  • 보수적 접근: 수동 검토가 필요할 수 있는 엣지 케이스에 대해 경고합니다(예: 동적으로 가져온 Server Functions)

출력 예시:

root@kitploit:~
✓ No vulnerable projects found

ℹ Projects with analysis notes:

1. /path/to/project
   ℹ Next.js ^15.1.3 is in vulnerable range, but using React 18 (safe - only React 19 affected)

2. /path/to/another-project
   ℹ Next.js 16.0.5 with React 19 detected, but no 'use server' directives found (likely safe).
     Note: dynamically imported Server Functions require manual review.

수정(Remediation)

1단계: 스캐너 실행

root@kitploit:~
node scan.js -r

2단계: 수정 명령 적용

각 취약 프로젝트에 대해 제안된 수정 명령을 실행합니다:

root@kitploit:~
cd /path/to/project
npm install [email protected] [email protected]  # Example

또는 yarn 사용:

root@kitploit:~
yarn upgrade [email protected] [email protected]

또는 pnpm 사용:

root@kitploit:~
pnpm update [email protected] [email protected]

3단계: 애플리케이션 테스트

root@kitploit:~
npm test
npm run build

4단계: 수정 확인

root@kitploit:~
node scan.js --ci

❓ 자주 묻는 질문(FAQ)

Q: 전이적 의존성도 스캔하나요?

A: 현재 스캐너는 package.json의 직접 의존성만 확인합니다. 심층 의존성 스캔이 필요한 경우 이 도구와 함께 npm audit 또는 yarn audit을 사용하세요.

Q: React 18을 사용 중인데 영향을 받나요?

A: 아니요, React 18은 영향을 받지 않습니다 ✅

CVE-2025-55182는 React 19.x Server Components에만 영향을 미칩니다. 취약 범위에 해당하는 Next.js 15.x 또는 16.x 버전을 사용하더라도 스캐너는 React 18 앱을 안전한 것으로 올바르게 식별합니다.

Q: 자동화된 빌드 파이프라인에서 이 도구를 사용할 수 있나요?

A: 네! --ci 플래그를 사용하면 취약점이 발견될 때 스캐너가 코드 1로 종료되어 파이프라인이 실패합니다. 위의 CI/CD 통합 예시를 참조하세요.

Q: 즉시 업그레이드할 수 없다면 어떻게 하나요?

A: 임시 완화 조치(업그레이드가 유일한 확실한 해결책입니다):

  1. ⛔ 애플리케이션에서 Server Components 비활성화
  2. 🛡️ 의심스러운 RSC 페이로드를 차단하는 WAF 규칙 추가
  3. 📊 악용 시도에 대한 로그 모니터링
  4. ⏰ 긴급 업그레이드 기간 계획

⚠️ 중요: 이는 임시 조치일 뿐입니다. 가능한 한 빨리 패치된 버전으로 업그레이드하세요.

Q: 이 스캐너는 얼마나 정확한가요?

A: 지능형 오탐 방지 기능으로 매우 정확합니다:

  • ✅ 공식 CVE 권고와 정확한 버전 일치 확인
  • ✅ React 19 의존성 검증(React 18 오탐 방지)
  • ✅ 정적 내보내기 구성 감지
  • ✅ 'use server' 지시문을 스캔하여 실제 취약점 확인
  • ✅ 엣지 케이스에 대한 컨텍스트 경고 제공

Q: 동적으로 가져온 Server Functions는 어떻게 되나요?

A: 스캐너는 소스 파일에서 'use server' 지시문을 감지합니다. 그러나 동적으로 가져온 Server Functions(런타임에 import()를 통해 로드됨)는 정적으로 감지되지 않을 수 있습니다. 스캐너가 "'use server' 지시문을 찾을 수 없음"으로 보고하지만 Server Functions에 동적 가져오기를 사용하는 경우 해당 파일을 수동으로 검토해야 합니다. 스캐너는 이 점을 상기시키는 메모를 포함합니다.

기여하기

기여는 언제나 환영합니다! 이슈나 풀 리퀘스트를 자유롭게 제출해 주세요.

테스트 실행

root@kitploit:~
# Test on sample projects
./test-scanner.sh

지원되는 프레임워크

이 스캐너는 이제 React 공식 권고에 따라 모든 주요 RSC 지원 프레임워크를 감지합니다:

  • ✅ React / react-server-dom-*
  • ✅ Next.js
  • ✅ react-router(RSC API 포함)
  • ✅ waku
  • ✅ @parcel/rsc
  • ✅ @vitejs/plugin-rsc
  • ✅ rwsdk (Redwood SDK)
  • ✅ expo

추가 프레임워크가 필요한 경우 이슈를 열거나 PR을 제출해 주세요.

참고 자료

  • React 공식 블로그: 치명적 보안 취약점
  • NVD CVE-2025-55182
  • Wiz Research: React2Shell 분석
  • Microsoft: CVE-2025-55182 대응
  • AWS: 중국 연계 그룹의 React2Shell 악용
  • Datadog Security Labs: CVE-2025-55182 RCE 분석
  • Tenable: CVE-2025-55182 FAQ

라이선스

MIT 라이선스 - 자세한 내용은 LICENSE 파일을 참조하세요

고지 사항

이 도구는 취약한 프로젝트를 식별하는 데 도움이 되도록 커뮤니티에 있는 그대로(as-is) 제공됩니다. 프로덕션에 배포하기 전에 항상 스캐너 결과를 검증하고 업데이트를 안전한 환경에서 테스트하세요.

지원

이 도구가 유용하다고 생각되면 다음을 부탁드립니다:

  • ⭐ 이 저장소에 스타(Star)를 눌러 주세요
  • 🐛 이슈를 보고해 주세요
  • 🔄 팀과 공유해 주세요
  • 🤝 개선 사항에 기여해 주세요

안전을 유지하고 의존성을 최신 상태로 유지하세요!

도구 다운로드
속성값
CVE IDCVE-2025-55182
이름React2Shell
CVSS 점수10.0 (CRITICAL)
CVSS 벡터AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
공격 경로네트워크
인증불필요
영향완전한 시스템 장악
15.5.6
  • 16.0.0부터 16.0.9까지
  • 옵션설명
    -r, --recursiveNode.js 프로젝트의 모든 하위 디렉터리 스캔
    -v, --verbose상세 출력 표시
    --json결과를 JSON으로 출력
    --ci취약점이 발견되면 코드 1로 종료(CI/CD용)
    -h, --help도움말 메시지 표시