
स्वचालित स्कैनर जो Android APK में Unity रनटाइम इंजेक्शन भेद्यता CVE-2025-59489 का पता लगाता है, Unity संस्करण निकालकर और पैच किए गए संस्करणों के विरुद्ध जाँच करके, बैच प्रोसेसिंग और CI/CD एकीकरण के साथ।
Android गेम प्लेटफ़ॉर्म के लिए विशेष Unity Runtime इंजेक्शन भेद्यता स्वचालित जांच उपकरण।
एक पंक्ति में सारांश: हमलावर प्रभावित Unity गेम/ऐप पर पूर्ण नियंत्रण प्राप्त कर सकता है, और उस ऐप की सभी अनुमतियाँ प्राप्त कर सकता है।
मुख्य बिंदु: Android पर, दुर्भावनापूर्ण ऐप Unity ऐप द्वारा प्राप्त अनुमतियों को हाईजैक कर सकता है
मुख्य बिंदु: Windows पर, यदि गेम ने custom URI handler पंजीकृत किया है, तो विशेष लिंक पर क्लिक करने से भेद्यता ट्रिगर हो सकती है
| यदि गेम के पास यह अनुमति है | हमलावर यह कर सकता है |
|---|---|
| 📸 कैमरा | आपकी गुप्त तस्वीरें ले सकता है |
| 🎤 माइक्रोफ़ोन | आपकी बातें सुन सकता है |
| 📍 स्थान | आपको ट्रैक कर सकता है |
| 📱 संपर्क | आपकी संपर्क सूची चुरा सकता है |
| 💾 स्टोरेज | आपकी फ़ाइलें पढ़/हटा सकता है |
| 💰 भुगतान | गेम के भीतर भुगतान धोखाधड़ी कर सकता है |
| 🔐 खाता | गेम खाता चुरा सकता है |
अच्छी खबर: हमलावर ऐप की अनुमति सीमा से बाहर नहीं जा सकता
बुरी खबर: कई गेम बहुत सारी अनुमतियाँ मांगते हैं (कैमरा, माइक्रोफ़ोन, स्टोरेज, स्थान आदि), हमलावर इन अनुमतियों का पूरा उपयोग कर सकता है
Android गेम प्लेटफ़ॉर्म संचालक के रूप में, सबसे बुरे परिणाम:
[स्रोत: Unity आधिकारिक सुरक्षा घोषणा, GMO Flatt Security तकनीकी विश्लेषण]
# केवल Python 3.7+ मानक लाइब्रेरी की आवश्यकता है, कोई अतिरिक्त निर्भरता नहीं
python3 --version # Python संस्करण की पुष्टि करें
# चरण 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}")
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
उपकरण तीन प्रकार के परिणाम लौटाता है:
आउटपुट उदाहरण (एकल पंक्ति संक्षिप्त प्रारूप):
# प्रभावित ऐप
⚠️ यह ऐप 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 # विकास मानक