
Automatisierter Scanner, der die Unity-Laufzeit-Injection-Schwachstelle CVE-2025-59489 in Android-APKs erkennt, indem er die Unity-Version extrahiert und gegen gepatchte Versionen prüft, mit Stapelverarbeitung und CI/CD-Integration.
Automatisiertes Erkennungstool für Unity-Runtime-Injection-Schwachstellen, speziell für Android-Spieleplattformen.
Kurz zusammengefasst: Angreifer können die vollständige Kontrolle über betroffene Unity-Spiele/-Apps übernehmen und alle Berechtigungen dieser App erhalten.
Kernpunkt: Unter Android kann eine bösartige App die bereits erteilten Berechtigungen einer Unity-App kapern
Kernpunkt: Unter Windows kann der Klick auf einen speziell präparierten Link die Schwachstelle auslösen, wenn das Spiel einen benutzerdefinierten URI-Handler registriert hat
| Wenn das Spiel diese Berechtigung hat | Kann der Angreifer |
|---|---|
| 📸 Kamera | Dich heimlich filmen |
| 🎤 Mikrofon | Dich belauschen |
| 📍 Standort | Dich verfolgen |
| 📱 Kontakte | Dein Adressbuch stehlen |
| 💾 Speicher | Deine Dateien lesen/löschen |
| 💰 Zahlungen | In-App-Zahlungen missbrauchen |
| 🔐 Konto | Das Spielkonto stehlen |
Gute Nachricht: Angreifer können die Berechtigungsgrenzen der App selbst nicht überschreiten
Schlechte Nachricht: Viele Spiele verlangen umfangreiche Berechtigungen (Kamera, Mikrofon, Speicher, Standort usw.), die Angreifer vollständig ausnutzen können
Als Betreiber einer Android-Spieleplattform sind die schlimmsten Folgen:
[Quelle: Offizielle Unity-Sicherheitsankündigung, Technische Analyse von GMO Flatt Security]
# Nur Python 3.7+ Standardbibliothek erforderlich, keine zusätzlichen Abhängigkeiten
python3 --version # Python-Version bestätigen
# Schritt 1: Tests ausführen
python test_demo.py
# Schritt 2: Einzelne APK prüfen
python unity_vulnerability_checker.py your_game.apk
# Schritt 3: Stapelprüfung
python unity_vulnerability_checker.py --batch /path/to/apks
# Schritt 4: Verwendungsbeispiele ansehen
python usage_examples.py
from unity_vulnerability_checker import check_unity_vulnerability
# Einzelne APK-Datei prüfen
result = check_unity_vulnerability("your_game.apk")
# Methode 1: Komfort-Eigenschaften verwenden
if result.is_vulnerable:
print(f"⚠️ App ist betroffen! ({result.version})")
print(f"Empfehlung: {result.recommendation}")
elif result.is_safe:
print(f"✅ App ist sicher")
print(f"Grund: {result.message}")
else:
print(f"❓ Manuelle Überprüfung erforderlich")
print(f"Grund: {result.message}")
# Methode 2: status-Feld verwenden
if result.status == "positive":
print(f"Betroffen: {result.version}")
from unity_vulnerability_checker import batch_check
# Ein Verzeichnis stapelweise scannen
results = batch_check("/path/to/apk/folder")
# Betroffene Apps herausfiltern
vulnerable_apps = [
(name, result)
for name, result in results.items()
if result.is_vulnerable
]
print(f"{len(vulnerable_apps)} betroffene Apps gefunden")
for name, result in vulnerable_apps:
print(f" - {name}: {result.version}")
from unity_vulnerability_checker import UnityVulnerabilityChecker
class MyPlatform:
"""Dein Spielplattform-System"""
def __init__(self):
self.checker = UnityVulnerabilityChecker()
def check_new_upload(self, apk_path: str) -> bool:
"""Neue hochgeladene APK prüfen, zurückgeben ob sie veröffentlicht werden kann"""
result = self.checker.check_apk(apk_path)
if result.is_vulnerable:
# Betroffen - Veröffentlichung ablehnen
self.notify_developer(
f"Ihre App ist von der Unity-Schwachstelle betroffen\n"
f"Version: {result.version}\n"
f"Empfehlung: {result.recommendation}"
)
return False
elif result.is_safe:
# Sicher - Veröffentlichung genehmigen
return True
else:
# Nicht bestimmbar - manuelle Überprüfung
self.queue_manual_review(apk_path, result.message)
return False
def notify_developer(self, message: str):
"""Entwickler benachrichtigen (deine Benachrichtigungslogik implementieren)"""
pass
def queue_manual_review(self, apk_path: str):
"""Zur manuellen Überprüfung einreihen (deine Logik implementieren)"""
pass
Das Tool gibt drei Arten von Ergebnissen zurück:
Beispielausgabe (kompaktes einzeiliges Format):
# Betroffene App
⚠️ Diese App ist von CVE-2025-59489 betroffen (Unity 2019.2.6f1)
# Sichere App (3 Fälle)
✅ Diese App ist sicher - Keine Unity-App
✅ Diese App ist sicher - Bereits mit dem Unity-Patcher-Tool repariert
✅ Diese App ist sicher - Behobene Version (2019.4.41f1)
# Nicht bestimmbar
❓ Nicht bestimmbar - Unity-App, aber Version konnte nicht extrahiert werden, möglicherweise gepackt oder verschleiert, manuelle Überprüfung empfohlen
⚠️ Datei zu groß für Verarbeitung (1500.0MB, Limit 1024MB) - MAX_APK_SIZE_MB in Zeile 15 des Codes auf einen größeren Wert ändern