
mobileAudit v3.2.0
Django एप्लिकेशन जो Android APKs के लिए SAST और मैलवेयर विश्लेषण करता है।
मोबाइल ऑडिट

MobileAudit - Android मोबाइल APK के लिए SAST और मैलवेयर विश्लेषण
Django वेब एप्लिकेशन जो Android APK के अंदर स्थैतिक विश्लेषण करने और दुर्भावनापूर्ण सामग्री का पता लगाने के लिए है। यह प्रोजेक्ट ऐप मेटाडेटा निकालता है, स्रोत कोड में कमजोरियों को स्कैन करता है, और परिणामों (SAST निष्कर्ष, सर्वोत्तम प्रथाएँ, प्रमाणपत्र जानकारी, स्ट्रिंग्स, डेटाबेस, फाइलें, VirusTotal, और अधिक) को एक ब्राउज़ करने योग्य डैशबोर्ड और API में एकत्रित करता है।
DeepWiki दस्तावेज़ीकरण: https://deepwiki.com/mpast/mobileAudit

प्रत्येक स्कैन में निम्नलिखित जानकारी होगी:
- APK जानकारी और विश्लेषण: एप्लिकेशन जानकारी, सुरक्षा जानकारी, घटक, प्रमाणपत्र जानकारी, स्ट्रिंग्स, डेटाबेस, फ़ाइलें
- CWE और मोबाइल टॉप 10 मैपिंग के साथ वर्गीकृत SAST निष्कर्ष
- टॉगल करने योग्य नियमों वाला पैटर्न इंजन
- MalwareDB और Maltrail के विरुद्ध मैलवेयर डोमेन जाँच
- VirusTotal (API v3) लुकअप और वैकल्पिक अपलोड (डिफ़ॉल्ट रूप से अक्षम)
- निष्कर्षों को निर्यात करने के लिए DefectDojo एकीकरण (API v2) (वैकल्पिक)
- स्वैगर और ReDoc के साथ API, साथ ही टोकन-आधारित प्रमाणीकरण
- स्कैन रिपोर्ट को PDF में निर्यात करें
- गलत-सकारात्मक ट्राइएज के साथ संपादन योग्य निष्कर्ष

आसान पहुँच के लिए स्कैन पृष्ठ के बाईं ओर एक साइडबार है:

घटक

- db: PostgreSQL 3.11.5
- nginx: Nginx 1.23.3
- rabbitmq: RabbitMQ 3.11.5
- worker: Celery 5.2.2
- web: मोबाइल ऑडिट ऐप (Django 3.2.16)
Docker आधार छवियाँ
छवि python buster पर आधारित है। लिंक Docker Hub छवि
| छवि | टैग | आधार |
|---|---|---|
| mpast/mobile_audit | 3.0.0 | python:3.9.16-buster |
| mpast/mobile_audit | 2.2.1 | python:3.9.7-buster |
| mpast/mobile_audit | 1.3.8 | python:3.9.4-buster |
| mpast/mobile_audit | 1.0.0 | python:3.9.0-buster |
मुख्य विशेषताएँ
- आसान, पुनरुत्पादनीय तैनाती के लिए Docker में चलता है
- विस्तृत APK जानकारी निकालता और दिखाता है
- SAST नियम जो CWE और मोबाइल टॉप 10 जोखिमों से मैप होते हैं
- मैलवेयर संकेतक का पता लगाना (MalwareDB / Maltrail)
- VirusTotal और DefectDojo के लिए एकीकरण बिंदु (वैकल्पिक)
- स्कैन परिणामों को PDF में निर्यात करें
- उपयोगकर्ता प्रमाणीकरण, प्रबंधन और टोकन-आधारित API
- स्वैगर और ReDoc दस्तावेज़ीकरण
- उत्पादन के लिए TLS-तैयार Nginx कॉन्फ़िगरेशन
योजनाबद्ध / इच्छा सूची
- LDAP एकीकरण
- Markdown / CSV में निर्यात
- गतिशील पृष्ठ पुनः लोड सुधार (कार्य प्रगति पर)
पैटर्न
- ऐप में एक नियम/पैटर्न इंजन शामिल है जो APK के अंदर संभावित कमजोरियों और दुर्भावनापूर्ण स्निपेट का पता लगाता है।
- पैटर्न कॉन्फ़िगर करने योग्य हैं और
/patternsUI से सक्षम/अक्षम किए जा सकते हैं। - नोट: कुछ हार्डकोडेड पैटर्न apkleaks प्रोजेक्ट से लिए गए हैं: https://github.com/dwisiswant0/apkleaks

मॉडल
एप्लिकेशन में स्कैन की जानकारी के प्रत्येक इकाई के लिए बनाए गए मॉडल हैं ताकि संबंध बनाए जा सकें और प्रत्येक APK के लिए सर्वोत्तम निष्कर्ष प्राप्त किए जा सकें।

संपूर्ण मॉडल स्कीमा देखने के लिए, मॉडल पर जाएँ
स्थापना
Docker-compose का उपयोग करके:
प्रदान की गई docker-compose.yml फ़ाइल आपको विकास में स्थानीय रूप से ऐप चलाने की अनुमति देती है।
स्थानीय इमेज बनाने के लिए और यदि स्थानीय एप्लिकेशन Dockerfile में परिवर्तन हैं, तो आप इसके साथ इमेज बना सकते हैं:
docker-compose build
फिर, कंटेनर शुरू करने के लिए, चलाएँ:
docker-compose up
वैकल्पिक: डिटैच मोड में चलाएँ (लॉग न देखें)
docker-compose up -d
एक बार एप्लिकेशन लॉन्च हो जाने के बाद, आप डैशबोर्ड तक पहुँचने के लिए http://localhost:8888/ पर नेविगेट करके एप्लिकेशन का परीक्षण कर सकते हैं।

इसके अलावा, पोर्ट 443 पर चलने वाला docker-compose.prod.yaml का उपयोग करके एक TLS संस्करण है।
इसका उपयोग करने के लिए, निष्पादित करें
docker-compose -f docker-compose.prod.yaml up
फिर, आप डैशबोर्ड तक पहुँचने के लिए https://localhost/ पर नेविगेट करके एप्लिकेशन का परीक्षण कर सकते हैं।
अधिक जानकारी के लिए, TLS देखें
कंटेनरों को रोकने और हटाने के लिए, चलाएँ
docker-compose down
API v1
स्वैगर और ReDoc के साथ REST API एकीकरण।
उपयोग
- प्रमाणित करने और टोकन प्राप्त करने का एंडपॉइंट:
/api/v1/auth-token/

- एक बार प्रमाणित होने के बाद, सभी अनुरोधों में हेडर का उपयोग करें:
Authorization: Token <ApiKey>
स्वैगर

ReDoc

एंडपॉइंट
/swagger.jsonपर API विनिर्देश का JSON दृश्य/swagger.yamlपर API विनिर्देश का YAML दृश्य/swagger/पर API विनिर्देश का swagger-ui दृश्य/redoc/पर API विनिर्देश का ReDoc दृश्य
TLS
पूर्व-आवश्यकताएँ
nginx/sslमें प्रमाणपत्र जोड़ें- स्व-हस्ताक्षरित प्रमाणपत्र उत्पन्न करने के लिए:
openssl req -x509 -nodes -days 1 -newkey rsa:4096 -subj "/C=ES/ST=Madrid/L=Madrid/O=Example/OU=IT/CN=localhost" -keyout nginx/ssl/nginx.key -out nginx/ssl/nginx.crt
Nginx कॉन्फ़िगरेशन
- TLS - पोर्ट 443:
nginx/app_tls.conf - मानक - पोर्ट 8888:
nginx/app.conf
Docker कॉन्फ़िगरेशन
डिफ़ॉल्ट रूप से, docker-compose.yml में 8888 उपलब्ध कॉन्फ़िगरेशन के साथ एक वॉल्यूम है
- ./nginx/app.conf:/etc/nginx/conf.d/app.conf
उत्पादन वातावरण में पोर्ट 443 के साथ docker-compose.prod.yaml का उपयोग करें
- ./nginx/app_tls.conf:/etc/nginx/conf.d/app_tls.conf
पर्यावरण चर
सभी पर्यावरण चर एक .env फ़ाइल में हैं, सभी आवश्यक चर के साथ एक .env.example है। इन्हें app/config/settings.py में भी एकत्र किया गया है।
स्थानीय डेव के लिए सुझाया गया न्यूनतम .env समायोजन
- SECRET_KEY, DB क्रेडेंशियल्स, और व्यवस्थापक उपयोगकर्ता क्रेडेंशियल्स सेट करें।
- जब तक आपके पास वैध API कुंजियाँ और सेवाएँ उपलब्ध न हों, VirusTotal / DefectDojo को अक्षम छोड़ दें।
योगदान
यदि आप योगदान देना चाहते हैं, तो योगदान देखें