
रूटेड Android और जेलब्रेक किए गए iOS पर Frida इंस्ट्रुमेंटेशन के लिए एजेंटिक C2-शैली MCP सर्वर।
एक MCP सर्वर जिसमें स्ट्रीमेबल HTTP ट्रांसपोर्ट है जो Frida की डायनामिक इंस्ट्रुमेंटेशन को पूरी तरह से डिवाइस पर ही चलाता है — क्लाइंट-साइड किसी टूलिंग की आवश्यकता नहीं।
यह प्रोजेक्ट सीधे रूट किए गए Android और जेलब्रेक किए गए iOS डिवाइसों पर चलता है, Frida को HTTP पर कॉल करने योग्य टूल्स के एक सेट के रूप में प्रस्तुत करता है। कोई भी MCP-संगत क्लाइंट नेटवर्क पर डिवाइस से कनेक्ट हो सकता है और स्थानीय रूप से कोई Frida टूलिंग स्थापित किए बिना डायनामिक इंस्ट्रुमेंटेशन कर सकता है।
आगे बढ़ते हुए, डेवलपमेंट का लक्ष्य प्राथमिक क्लाइंट के रूप में Gemini CLI और Claude Code है, क्योंकि दोनों ही मूल मल्टी-एजेंट ऑर्केस्ट्रेशन और MCP सपोर्ट का निर्माण कर रहे हैं — जो इस प्रोजेक्ट की दिशा के अनुरूप है कि कई MCP सर्वरों (जैसे FridaC2MCP + Jadx-MCP) को स्वचालित वर्कफ़्लो में संयोजित किया जाए। प्रारंभिक विकास के दौरान 5ire का व्यापक रूप से उपयोग किया गया था और यह सर्वर के साथ इंटरैक्ट करने के लिए एक बेहतरीन GUI विकल्प बना हुआ है।
Gemini CLI — डिवाइस MCP सर्वर रजिस्टर करें (<DEVICE_IP> को अपने फ़ोन के LAN पते से बदलें):
gemini mcp add --transport http frida-c2-mcp http://<DEVICE_IP>:6767/mcp
Android डेमो
https://github.com/user-attachments/assets/7cee77c5-ed40-4797-b6b5-3edb5fdd03ce
iOS डेमो
https://github.com/user-attachments/assets/1f0fa9c4-6fd0-4dfd-a640-78c9f8a95a6b
keep_alive=True) दोनों का समर्थन करता है।लक्ष्य पूरी तरह से स्वचालित, एजेंट-संचालित मोबाइल सुरक्षा परीक्षण है। Frida को MCP सर्वर के रूप में प्रस्तुत करके, एक पेंटेस्टर या AI एजेंट प्रारंभिक सेटअप के बाद सीधे USB कनेक्शन या स्थानीय शेल एक्सेस के बिना किसी एप्लिकेशन के व्यवहार का निरीक्षण और हेरफेर कर सकता है। क्लाइंट को शून्य Frida टूलिंग की आवश्यकता है — सब कुछ लक्ष्य डिवाइस पर चलता है।
एक विशिष्ट वर्कफ़्लो:
यह स्वाभाविक रूप से मल्टी-डिवाइस सेटअप तक फैलता है: एक ही नेटवर्क पर कई फोन चलाएं, प्रत्येक का अपना MCP सर्वर हो, और उन्हें एक एकल एजेंट से ऑर्केस्ट्रेट करें।
cli.py)रूट किए गए Android पर Termux में चलता है। ऑन-द-फ्लाई स्क्रिप्ट बंडलिंग के लिए esbuild और Java/Android रनटाइम इंस्ट्रुमेंटेशन के लिए frida-java-bridge का उपयोग करता है। जबकि frida-compile तकनीकी रूप से frida-tools के माध्यम से उपलब्ध है, इसका उपयोग Termux पर नहीं किया जा सकता क्योंकि Android का untrusted_app SELinux डोमेन V8 के JIT कंपाइलर के लिए आवश्यक W^X मेमोरी मैपिंग को ब्लॉक करता है — जिससे किसी भी गैर-तुच्छ स्क्रिप्ट पर SIGSEGV होता है। esbuild एक स्टेटिकली लिंक्ड Go बाइनरी है जिसमें कोई JIT नहीं है, इसलिए यह किसी भी SELinux संदर्भ में साफ-सुथरा चलता है।
ios.py)रूटलेस जेलब्रेक किए गए iOS पर चलता है (iPhone X, iOS 16.7.12, palera1n पर परीक्षण किया गया)। स्क्रिप्ट बंडलिंग के लिए frida-compile और Objective-C रनटाइम इंस्ट्रुमेंटेशन के लिए frida-objc-bridge का उपयोग करता है। डिवाइस पर Node.js की आवश्यकता नहीं है।
iOS पोर्ट के लिए arm64 के लिए एक संपूर्ण Python 3.12 टूलचेन को कस्टम-कंपाइल करना आवश्यक था, क्योंकि रूटलेस जेलब्रेक किए गए iOS के लिए इनमें से कोई भी पैकेज उपलब्ध नहीं था:
| पैकेज | संस्करण | बिल्ड सिस्टम | कारण |
|---|---|---|---|
| Python | 3.12.5 | configure + Make | बेस रनटाइम — Procursus के माध्यम से उपलब्ध नहीं |
| frida-python | 17.6.0 | Meson + setuptools | मुख्य Frida बाइंडिंग |
| pydantic-core | 2.41.5 | maturin (Rust/PyO3) | FastMCP द्वारा आवश्यक |
| cryptography | 47.0.0.dev1 | maturin (Rust) + OpenSSL 3.x | निर्भरता श्रृंखला; A11 के लिए SIGILL फिक्स की आवश्यकता |
| cffi | 2.0.1.dev0 | setuptools + libffi | cryptography द्वारा आवश्यक |
| pyyaml | 7.0.0.dev0 | setuptools + libyaml | FastMCP deps द्वारा आवश्यक |
| rpds-py | 0.30.0 | maturin (Rust/PyO3) | FastMCP deps द्वारा आवश्यक |
| lupa | 2.6 | setuptools + Lua | Lua एम्बेडिंग |
प्रीकंपाइल्ड व्हील और Python .deb को ios_precompiled/ में शामिल किया गया है ताकि आपको उन्हें स्वयं बनाने की आवश्यकता न हो। iOS इंस्टॉलेशन निर्देशों के लिए setup.md देखें।
ऑन-डिवाइस निष्पादन: Frida सर्वर और क्लाइंट दोनों लक्ष्य डिवाइस पर चलते हैं। MCP सर्वर HTTP अनुरोधों को Frida कमांड में अनुवादित करता है। यह पारंपरिक मॉडल से एक विचलन है जहां एक Frida क्लाइंट एक अलग कंप्यूटर पर चलता है।
स्ट्रीमेबल HTTP ट्रांसपोर्ट: कई समवर्ती कनेक्शन और मल्टी-डिवाइस ऑर्केस्ट्रेशन का समर्थन करने के लिए stdio के बजाय स्ट्रीमेबल HTTP का उपयोग करता है।
ऑन-डिवाइस स्क्रिप्ट बंडलिंग: Frida 17+ को बंडल किए गए JavaScript की आवश्यकता है। Android पर, esbuild बंडलिंग संभालता है (यह बिना JIT के किसी भी SELinux संदर्भ में चलता है)। iOS पर, ObjC ब्रिज इम्पोर्ट को स्वचालित रूप से इंजेक्ट करने के साथ frida-compile का उपयोग किया जाता है।
एजेंट-प्रथम डिज़ाइन: मानव ऑपरेटरों के बजाय AI एजेंटों द्वारा उपभोग के लिए बनाया गया। MCP टूल इंटरफ़ेस इस तरह डिज़ाइन किया गया है कि एक LLM स्वायत्त रूप से एक पूर्ण पेंटेस्टिंग वर्कफ़्लो को नेविगेट कर सके — ऐप्स स्पॉन करना, सत्र संलग्न करना, हुक लिखना और इंजेक्ट करना, परिणाम पढ़ना — एक ही बातचीत में।
FridaC2MCP एक स्वचालित मोबाइल पेंटेस्टिंग फ्रेमवर्क के लिए मचान है। विचार यह है कि कई विशिष्ट MCP सर्वरों को संयोजित किया जाए — उदाहरण के लिए: डायनामिक इंस्ट्रुमेंटेशन के लिए FridaC2MCP, स्टैटिक विश्लेषण के लिए Jadx-MCP — और AI एजेंटों को पूर्ण वर्कफ़्लो को ऑर्केस्ट्रेट करने दें। एक APK को डीकंपाइल करें, दिलचस्प विधियों की पहचान करें, फिर उन्हें लाइव हुक करें। कोई मैनुअल टूल-स्विचिंग नहीं, टर्मिनलों के बीच कोई कॉपी-पेस्ट नहीं।
यह स्वाभाविक रूप से Gemini CLI और Claude Code के साथ जुड़ता है, जो पहले से ही मूल रूप से मल्टी-टूल MCP वर्कफ़्लो का समर्थन करते हैं। फ्रेमवर्क को अपना स्वयं का एजेंट ऑर्केस्ट्रेशन लागू करने की आवश्यकता नहीं है — इसे केवल सही MCP सर्वर प्रदान करने की आवश्यकता है और मौजूदा एजेंटों को वह करने देना चाहिए जिसमें वे अच्छे हैं।
iOS OpenSSL / SSL: Python 3.12 बिल्ड का OpenSSL एकीकरण पूरी तरह से सही नहीं है। इसने MCP सर्वर को अवरुद्ध नहीं किया है (जो अपने स्वयं के ट्रांसपोर्ट के लिए HTTPS पर निर्भर नहीं करता है), लेकिन यह मायने रख सकता है यदि भविष्य की निर्भरता को डिवाइस पर एक कार्यशील TLS संदर्भ की आवश्यकता हो। विवरण के लिए devlog.md देखें।
केवल FastMCP 2.x: FastMCP 3.x ने ब्रेकिंग API परिवर्तन पेश किए। Android और iOS दोनों 3.x से नीचे पिन किए गए हैं। requirements-android.txt या requirements-ios.txt के माध्यम से इंस्टॉल करें — जब तक यह रेपो माइग्रेट नहीं करता, तब तक किसी अनपिन किए गए fastmcp में अपग्रेड न करें।
यह प्रोजेक्ट Daniel Nakov द्वारा मूल FridaMCP का एक नेटवर्क विकास है। जहां मूल प्रोजेक्ट ने stdio पर Frida को MCP सर्वर के रूप में उपयोग करने का बीड़ा उठाया, वहीं FridaC2MCP इस अवधारणा को स्ट्रीमेबल HTTP और आधुनिक Frida 17 बंडलिंग का उपयोग करके रिमोट, मल्टी-डिवाइस C2 वातावरण के लिए अनुकूलित करता है।