
iOS और Android के लिए ओपन-सोर्स मोबाइल सुरक्षा परीक्षण सुइट। पहले Passionfruit
Frida द्वारा संचालित रनटाइम मोबाइल एप्लिकेशन इंस्ट्रूमेंटेशन टूलकिट। वेब-आधारित इंटरफ़ेस के माध्यम से मोबाइल ऐप्स का निरीक्षण करें, हुक करें और संशोधित करें।
अब यह iOS और Android दोनों का समर्थन करता है!
आपके डिवाइस पर Frida सर्वर चलाना आवश्यक है। पहले आधिकारिक सेटअप गाइड(Android) का पालन करें।
npm (अनुशंसित, Node.js 22.18+ आवश्यक)
npm install -g igf
igf
या बिना इंस्टॉल किए चलाएँ (Node.js 22.18+ आवश्यक)
npx igf
macOS, Linux और Windows के लिए प्रीबिल्ट बाइनरी GitHub Releases पर उपलब्ध हैं। स्रोत कोड से विकास और प्रीबिल्ट एक्ज़ीक्यूटेबल दोनों ही Node.js का उपयोग करते हैं; npm वर्कफ़्लो के लिए विकास गाइड देखें।
igf [options] Start the server (default)
Options:
--frida <16 | 17> Frida version to use (default: 17)
--host <host> Host to bind (default: 127.0.0.1)
--port <port> Port to bind (default: 31337)
--project <path> Project directory for data/cache/logs (default: .igf in cwd)
--no-open Do not open browser on startup
--help, -h Show help message
दोनों सेट होने पर कमांड-लाइन फ़्लैग पर्यावरण चर पर वरीयता लेते हैं।
इस प्रोजेक्ट में एंटी-टैम्परिंग सुरक्षा के लिए बिल्ट-इन बाइपास शामिल नहीं हैं:
तर्क: RASP (Runtime Application Self-Protection) समाधान इंस्ट्रूमेंटेशन फ्रेमवर्क का पता लगाने के लिए निरंतर विकसित होते रहते हैं। प्रभावी बाइपास बनाए रखने के लिए नई डिटेक्शन विधियों के साथ कदम मिलाने हेतु निरंतर प्रयास की आवश्यकता होती है, जिससे महत्वपूर्ण रखरखाव बोझ और संभावित स्थिरता समस्याएँ उत्पन्न होती हैं। ये बाइपास अत्यधिक एप्लिकेशन-विशिष्ट भी हैं, जो सामान्य-उद्देश्य वाले समाधानों को कमज़ोर बनाते हैं।
भंगुर बिल्ट-इन बाइपास वितरित करने के बजाय, Grapefruit इंस्ट्रूमेंटेशन और निरीक्षण क्षमताओं पर केंद्रित है जो समर्पित बाइपास टूलिंग के साथ अच्छी तरह से काम करती हैं।
अनुशंसित दृष्टिकोण उन अधिकृत मूल्यांकनों के लिए जहाँ RASP बाइपास आवश्यक है:
Frida Syscall Tracer — लक्ष्य प्रक्रिया में सिस्टम कॉल ट्रेस करने के लिए frida-strace (Frida 17.8.0+) का उपयोग करें। यह डिटेक्शन आर्टिफैक्ट्स की पहचान करने और Grapefruit को अटैच करने से पहले आवश्यक पैच निर्धारित करने में मदद करता है:
frida-strace -U -f com.example.app
विवरण के लिए Frida 17.8.0 रिलीज़ नोट्स देखें।
मल्टी-सेशन आर्किटेक्चर — Frida एक ही प्रक्रिया से जुड़े कई सत्रों का समर्थन करता है। पहले अपने RASP बाइपास स्क्रिप्ट के साथ एक अलग सत्र शुरू करें, फिर Grapefruit लॉन्च करें। जब Grapefruit पहचानता है कि लक्ष्य ऐप पहले से चल रहा है, तो वह उसे पुनः स्पॉन करने के बजाय मौजूदा प्रक्रिया से अटैच हो जाता है, जिससे पहले से प्रभावी कोई भी बाइपास सुरक्षित रहता है।
Grapefruit डिफ़ॉल्ट रूप से 127.0.0.1 से बाइंड होता है और इसमें कोई बिल्ट-इन प्रमाणीकरण नहीं है। वेब UI और API किसी भी स्थानीय प्रक्रिया के लिए सुलभ हैं। हालाँकि क्रॉस-ओरिजिन अनुरोध डिफ़ॉल्ट रूप से अवरुद्ध होते हैं (कोई CORS हेडर नहीं, Socket.IO क्रॉस-ओरिजिन कनेक्शन अस्वीकार करता है), यह अकेले साझा या दूरस्थ वातावरण के लिए पर्याप्त नहीं है।
यदि आपको दूरस्थ एक्सेस या बहु-उपयोगकर्ता सुरक्षा की आवश्यकता है, तो TLS, एक्सेस नियंत्रण और लॉगिंग के लिए Grapefruit को Caddy जैसे प्रमाणित रिवर्स प्रॉक्सी के पीछे रखें। Grapefruit को बिना प्रमाणीकरण के सीधे नेटवर्क पर उजागर न करें।
| चर | विवरण | डिफ़ॉल्ट |
|---|
HOST | सर्वर बाइंड पता | 127.0.0.1 |
PORT | सर्वर पोर्ट | 31337 |
FRIDA_VERSION | Frida प्रमुख संस्करण (16 या 17) | 17 |
FRIDA_TIMEOUT | Frida ऑपरेशन टाइमआउट (ms) | 1000 |
PROJECT_DIR | डेटा/कैश/लॉग के लिए प्रोजेक्ट निर्देशिका | cwd में .igf |
LLM_PROVIDER | AI प्रदाता (anthropic, openai, gemini, openrouter) | |
LLM_API_KEY | LLM प्रदाता के लिए API कुंजी | |
LLM_MODEL | मॉडल नाम (जैसे claude-sonnet-4-20250514) | |
LLM_BASE_URL | कस्टम एंडपॉइंट (प्रदाता डिफ़ॉल्ट को ओवरराइड करता है) |