Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2025-59489 — Unity 런타임 주입 취약점 CVE-2025-59489를 탐지하는 자동화 스캐너로, Android APK에서 Unity 버전을 추출하여 패치된 버전과 대조하며, 배치 처리 및 CI/CD 통합을 지원합니다. | Kitploit
도구/GitHubGitHub/taptap/cve-2025-59489
Android SecurityStatic AnalysisVulnerability ScannersDevSecOpsMobile Security
GitHubtaptap/cve-2025-59489

cve-2025-59489

Unity 런타임 주입 취약점 CVE-2025-59489를 탐지하는 자동화 스캐너로, Android APK에서 Unity 버전을 추출하여 패치된 버전과 대조하며, 배치 처리 및 CI/CD 통합을 지원합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Unity CVE-2025-59489 취약점 탐지 도구

Android 게임 플랫폼 전용 Unity 런타임 주입 취약점 자동 탐지 도구입니다.

취약점 개요

  • CVE ID: CVE-2025-59489
  • CVSS 점수: 8.4 (High)
  • 영향 범위: Unity 2017.1 이상 버전으로 빌드된 Android 앱
  • 공식 공지: https://unity.com/security/sept-2025-01

취약점 위험 상세

위험 상한 (최악의 경우)

한 줄 요약: 공격자가 영향을 받는 Unity 게임/앱을 완전히 제어하고, 해당 앱의 모든 권한을 획득할 수 있습니다.

Android 플랫폼 위험 시나리오

  1. 사용자 휴대폰에 악성 앱 A가 설치되어 있음
  2. 사용자 휴대폰에 영향을 받는 Unity 게임 B도 설치되어 있음
  3. 악성 앱 A는 다음을 수행할 수 있음:
    • 게임 B로 위장하여 임의 코드 실행
    • 게임 B가 접근할 수 있는 모든 데이터 탈취 (저장 데이터, 계정 정보, 사진, 연락처 등)
    • 게임 B의 모든 권한 사용 (카메라, 마이크, 위치, 네트워크 등)

핵심 포인트: Android에서 악성 앱은 Unity 앱이 이미 획득한 권한을 탈취할 수 있습니다.

Windows 플랫폼 위험 시나리오

  1. 사용자가 악성 웹 링크를 클릭
  2. PC에 영향을 받는 Unity 게임이 설치된 경우
  3. 공격자는 다음을 수행할 수 있음:
    • 원격으로 게임이 악성 코드를 로드하도록 트리거
    • 게임의 권한으로 임의 작업 실행
    • 게임이 접근할 수 있는 파일과 데이터 탈취

핵심 포인트: Windows에서 게임이 custom URI handler를 등록한 경우, 특수 제작된 링크를 클릭하면 취약점이 트리거될 수 있습니다.

구체적인 위험 예시

게임에 이 권한이 있으면공격자는 다음을 할 수 있음
📸 카메라몰래 촬영
🎤 마이크몰래 도청
📍 위치위치 추적
📱 연락처연락처 탈취
💾 저장 공간파일 읽기/삭제
💰 결제게임 내 결제 도용
🔐 계정게임 계정 탈취

중요 제한 사항

좋은 소식: 공격자는 앱 자체의 권한 경계를 넘어설 수 없습니다.

  • ❌ root 권한을 획득할 수 없음
  • ❌ 다른 앱의 데이터에 접근할 수 없음 (Android 샌드박스 보호)
  • ❌ 피해 앱의 신분으로만 행동할 수 있음

나쁜 소식: 많은 게임이 많은 권한(카메라, 마이크, 저장 공간, 위치 등)을 요구하므로, 공격자는 이러한 권한을 완전히 악용할 수 있습니다.

게임 플랫폼에 미치는 영향

Android 게임 플랫폼 운영자로서 최악의 결과:

  1. 사용자 개인정보 유출 → 플랫폼 평판 손상
  2. 대규모 계정 도용 → 사용자 이탈
  3. 법적 책임 → 보안 검토 의무 소홀
  4. 경제적 손실 → 사용자 손해배상 청구, 규제 제재

[출처: Unity 공식 보안 공지, GMO Flatt Security 기술 분석]

빠른 시작

환경 요구 사항

# Python 3.7+ 표준 라이브러리만 필요, 추가 의존성 없음
python3 --version  # Python 버전 확인

5분 만에 시작하기

# 단계 1: 테스트 실행
python test_demo.py

# 단계 2: 단일 APK 탐지
python unity_vulnerability_checker.py your_game.apk

# 단계 3: 일괄 탐지
python unity_vulnerability_checker.py --batch /path/to/apks

# 단계 4: 사용 예시 확인
python usage_examples.py

가장 간단한 사용 방법

from unity_vulnerability_checker import check_unity_vulnerability

# 단일 APK 파일 탐지
result = check_unity_vulnerability("your_game.apk")

# 방법 1: 편리한 속성 사용
if result.is_vulnerable:
    print(f"⚠️  앱이 영향을 받습니다! ({result.version})")
    print(f"권장 사항: {result.recommendation}")
elif result.is_safe:
    print(f"✅ 앱이 안전합니다")
    print(f"이유: {result.message}")
else:
    print(f"❓ 수동 검토 필요")
    print(f"이유: {result.message}")

# 방법 2: status 필드 사용
if result.status == "positive":
    print(f"영향 받음: {result.version}")

디렉토리의 모든 APK 일괄 탐지

from unity_vulnerability_checker import batch_check

# 디렉토리 일괄 스캔
results = batch_check("/path/to/apk/folder")

# 영향을 받는 앱 필터링
vulnerable_apps = [
    (name, result) 
    for name, result in results.items() 
    if result.is_vulnerable
]
print(f"{len(vulnerable_apps)}개의 영향을 받는 앱 발견")
for name, result in vulnerable_apps:
    print(f"  - {name}: {result.version}")

기존 시스템에 통합

from unity_vulnerability_checker import UnityVulnerabilityChecker

class MyPlatform:
    """당신의 게임 플랫폼 시스템"""

    def __init__(self):
        self.checker = UnityVulnerabilityChecker()

    def check_new_upload(self, apk_path: str) -> bool:
        """새로 업로드된 APK를 검사하고 출시 가능 여부 반환"""
        result = self.checker.check_apk(apk_path)

        if result.is_vulnerable:
            # 영향 받음 - 출시 거부
            self.notify_developer(
                f"귀하의 앱이 Unity 취약점의 영향을 받습니다\n"
                f"버전: {result.version}\n"
                f"권장 사항: {result.recommendation}"
            )
            return False
        elif result.is_safe:
            # 안전 - 출시 승인
            return True
        else:
            # 판단 불가 - 수동 검토
            self.queue_manual_review(apk_path, result.message)
            return False

    def notify_developer(self, message: str):
        """개발자에게 알림 (알림 로직 구현)"""
        pass

    def queue_manual_review(self, apk_path: str):
        """수동 검토 대기열에 추가 (로직 구현)"""
        pass

탐지 결과 설명

도구는 세 가지 결과 유형을 반환합니다:

  • positive - 영향 확인됨 (업데이트 필요)
  • negative - 안전 (Unity 아님 또는 이미 수정됨)
  • inconclusive - 판단 불가 (수동 검토 필요)

출력 예시 (한 줄 간결 형식):

# 영향을 받는 앱
⚠️  이 앱은 CVE-2025-59489의 영향을 받습니다 (Unity 2019.2.6f1)

# 안전한 앱 (3가지 경우)
✅ 이 앱은 안전합니다 - Unity 앱이 아님
✅ 이 앱은 안전합니다 - Unity patcher 도구로 이미 수정됨
✅ 이 앱은 안전합니다 - 수정된 버전 (2019.4.41f1)

# 판단 불가
❓ 판단 불가 - Unity 앱이지만 버전을 추출할 수 없음, 패킹 또는 난독화되었을 수 있으므로 수동 검토 권장
⚠️  파일이 너무 커서 처리할 수 없음 (1500.0MB, 제한 1024MB) - 코드 15행의 MAX_APK_SIZE_MB를 더 큰 값으로 수정

프로젝트 파일 목록

.
├── unity_vulnerability_checker.py  # 핵심 모듈
│   ├─ UnityVulnerabilityChecker 클래스 - 취약점 탐지 핵심 엔진
│   ├─ check_unity_vulnerability() - 간소화된 탐지 함수
│   ├─ batch_check() - 일괄 탐지 기능
│   └─ 완전한 버전 파싱 및 판정 로직
│
├── usage_examples.py               # 사용 예시
│   ├─ 기본 사용 예시
│   ├─ 일괄 탐지 예시
│   ├─ 플랫폼 통합 예시
│   ├─ 자동 대응 예시
│   └─ Flask API 통합 예시
│
├── test_demo.py                    # 테스트 데모
│   ├─ 버전 번호 파싱 테스트
│   ├─ 버전 추출 테스트
│   ├─ 수정 판정 테스트
│   ├─ APK 스캔 시나리오 시뮬레이션
│   └─ 성능 벤치마크 테스트
│
├── test_version_detection.py       # 단위 테스트 (33개 테스트 케이스)
│
├── README.md                       # 전체 문서 (빠른 시작 가이드 포함)
│
└── CLAUDE.md                       # 개발 규칙

핵심 기능

APK 탐지

  • Unity 앱 자동 식별
  • Unity 버전 번호 추출
  • CVE-2025-59489 영향 여부 판단
  • 세 가지 탐지 결과 반환: positive(영향 받음), negative(안전), inconclusive(수동 검토 필요)

일괄 처리

  • 디렉토리 일괄 스캔 지원
  • 통계 보고서 생성
  • 대규모 앱 검토에 적합

통합 용이성

  • 간결한 API 인터페이스
  • 명령줄 도구
  • 기존 시스템에 임베드 가능

사용 가이드

명령줄 사용

# 단일 파일 탐지
python unity_vulnerability_checker.py game.apk

# 상세 로그 모드
python unity_vulnerability_checker.py game.apk -v

# 디렉토리 일괄 탐지
python unity_vulnerability_checker.py --batch /path/to/apk/folder

# 일괄 탐지 (상세 모드)
python unity_vulnerability_checker.py --batch /path/to/apk/folder -v

일괄 스캔 및 보고서 생성

from unity_vulnerability_checker import batch_check

results = batch_check("/path/to/apk/directory", verbose=True)

# 영향을 받는 앱 필터링
vulnerable = {name: result for name, result in results.items()
              if result.is_vulnerable}

print(f"{len(vulnerable)}개의 영향을 받는 앱 발견")

검토 시스템에 통합

from unity_vulnerability_checker import UnityVulnerabilityChecker

class AppReviewSystem:
    def __init__(self):
        self.checker = UnityVulnerabilityChecker(verbose=False)

    def review_upload(self, apk_path: str) -> str:
        result = self.checker.check_apk(apk_path)

        if result.is_vulnerable:
            return "REJECT"  # 출시 거부
        elif result.is_safe:
            return "APPROVE"  # 승인
        else:
            return "MANUAL_REVIEW"  # 수동 검토

reviewer = AppReviewSystem()
decision = reviewer.review_upload("new_game.apk")

Flask API 통합

from flask import Flask, request, jsonify
from unity_vulnerability_checker import check_unity_vulnerability

app = Flask(__name__)

@app.route('/api/scan', methods=['POST'])
def scan_apk():
    file = request.files['file']
    temp_path = f"/tmp/{file.filename}"
    file.save(temp_path)

    result = check_unity_vulnerability(temp_path)

    # to_dict() 메서드를 사용하여 JSON으로 직접 변환
    response = result.to_dict()
    response["filename"] = file.filename
    response["vulnerable"] = result.is_vulnerable
    
    return jsonify(response)

탐지 원리

탐지 로직 흐름도

도구 다운로드